ablog/docs/index.rst

123 lines
3.9 KiB
ReStructuredText
Raw Normal View History

2014-04-27 16:58:25 -07:00
ABlog for Sphinx
================
ABlog is a Sphinx extension that converts any documentation or personal
website project into a full-fledged blog with:
2014-04-27 16:58:25 -07:00
* `Atom feeds`_
* `Archive pages`_
* `Blog sidebars`_
* `Disqus integration`_
* `Font-Awesome integration`_
2014-04-27 16:58:25 -07:00
Looking for an example? Take a look at `ABlog documentation <http://ablog.readthedocs.org>`_
where each manual and release is a blog post ;)
.. _Atom feeds: http://ablog.readthedocs.org/blog/atom.xml
.. _Archive pages: http://ablog.readthedocs.org/blog/
.. _Blog sidebars: http://ablog.readthedocs.org/manual/ablog-configuration-options/#sidebars
.. _Disqus integration: http://ablog.readthedocs.org/manual/ablog-configuration-options/#disqus-integration
.. _Font-Awesome integration: http://ablog.readthedocs.org/manual/ablog-configuration-options/#fa
2014-04-27 16:58:25 -07:00
Installation
------------
2014-04-27 16:58:25 -07:00
You can install ABlog using pip_::
2014-05-11 21:10:34 -07:00
pip install -U ablog
2014-05-11 21:10:34 -07:00
This will install `Sphinx <http://sphinx-doc.org/>`_ and Werkzeug_ as well,
respectively required for building your website and generating feeds.
If you are starting a new Sphinx project, you might want to also install
Alabaster_ to have a good looking website::
pip install Alabaster
.. _pip: https://pip.pypa.io
.. _Werkzeug: http://werkzeug.pocoo.org/
.. _Alabaster: https://github.com/bitprophet/alabaster
2014-04-27 16:58:25 -07:00
2015-02-25 23:24:19 -08:00
Getting Started
---------------
If you are starting a new project, see `ABlog Quick Start`_ guide.
2014-04-27 16:58:25 -07:00
If you already have a project, enable blogging by making following changes in ``conf.py``:
2014-04-27 16:58:25 -07:00
.. code-block:: python
# 1. Append 'ablog' to list of extensions
2014-04-27 16:58:25 -07:00
extensions = [
'...',
'ablog'
]
# 2a. Append templates path to `templates_path`
2014-05-25 21:50:04 -04:00
import ablog
2014-04-27 16:58:25 -07:00
templates_path.append(ablog.get_html_templates_path())
# 2b. If `templates_path` is not defined before
2014-04-27 16:58:25 -07:00
templates_path = [ablog.get_html_templates_path()]
If you also installed Alabaster_, see how to configure it here_.
.. _ABlog Quick Start: http://ablog.readthedocs.org/manual/ablog-quick-start
.. _here: https://github.com/bitprophet/alabaster#installation
2014-04-27 16:58:25 -07:00
How it works
------------
If you are new to Sphinx_ and reStructuredText markup language,
you might find `reStructuredText Primer`_ useful. Once you have
some content (in ``.rst`` files), you can post *any page* using
the ``post`` directive as follows:
2014-04-27 16:58:25 -07:00
.. code-block:: rst
.. post:: Apr 15, 2014
:tags: earth, love, peace
:category: python
:author: me
:location: SF
:language: en
2014-04-27 16:58:25 -07:00
ABlog will index all files posted as above. When building HTML pages,
it will create archives and feeds that list these posts as
specified by ``:tag:``, ``:category:``, etc. options.
2014-04-27 16:58:25 -07:00
You can also include a list of posts using ``postlist`` directive:
2014-04-27 16:58:25 -07:00
.. code-block:: rst
.. postlist:: 5
:category: Manual
:reverse:
2014-09-14 21:19:41 -07:00
For ABlog documentation, this converts to the following list of links that you
can follow to learn more about configuring and using ABlog:
2014-04-27 16:58:25 -07:00
* `Posting and Listing <http://ablog.readthedocs.org/manual/posting-and-listing/>`_
* `ABlog Configuration Options <http://ablog.readthedocs.org/manual/ablog-configuration-options/>`_
* `Cross-referencing Blog Pages <http://ablog.readthedocs.org/manual/cross-referencing-blog-pages/>`_
* `Post Excerpts and Images <http://ablog.readthedocs.org/manual/post-excerpts-and-images/>`_
* `Posting Sections <http://ablog.readthedocs.org/manual/posting-and-listing/#posting-sections>`_
2014-09-14 21:19:41 -07:00
2014-04-27 16:58:25 -07:00
.. _reStructuredText Primer: http://sphinx-doc.org/rest.html
2014-04-27 16:58:25 -07:00
For existing projects, it is important to note that ABlog does not intertere
with any Sphinx operations. Since you can post any page from any folder,
you do not need to change how you organize project contents.
2014-04-27 16:58:25 -07:00
2015-03-01 14:13:45 -08:00
.. image:: https://secure.travis-ci.org/abakan/ablog.png?branch=devel
:target: http://travis-ci.org/#!/abakan/ablog
.. image:: https://pypip.in/v/ABlog/badge.png
:target: https://pypi.python.org/pypi/ABlog
.. image:: https://pypip.in/d/ABlog/badge.png
:target: https://crate.io/packages/ablog