ABlog for Sphinx ================ It's a Blog... It's a Documentation... It's Sphinx with ABlog ABlog is a Sphinx extension that can convert any documentation or personal website project into a full-fledged blog with: * `Atom feeds `_ * :ref:`archives` * :ref:`sidebars` * :ref:`disqus-integration` * :ref:`fa` integration Looking for an example? Just browse this documentation ;) Installation ------------ ABlog is not yet released on PyPI. If you are interested you can get it from GitHub_, using pip_:: pip install -U https://github.com/abakan/ablog/archive/master.zip In addition to Sphinx_, Werkzeug_ is required for generating feeds. Configuration ------------- To enable blogging in a Sphinx project, append ``ablog`` to the list of extensions and ABlog template path to :confval:`templates_path` in :file:`conf.py`: .. code-block:: python extensions = [ '...', 'ablog' ] templates_path.append(ablog.get_html_templates_path()) # if `templates_path` is not defined before templates_path = [ablog.get_html_templates_path()] .. See more detailed instructions in :ref:`get-started` post. **Read The Docs** On `Read The Docs`_, ABlog may cause an exception when Sphinx build environment is being pickled. To circumvent this problem, include the following in :file:`conf.py`:: if os.environ.get('READTHEDOCS', None) == 'True': skip_pickling = True This should not effect how the documentation is built. How it works ------------ ABlog catalogs all :file:`.rst` files indicated as posts and creates archive pages and a blog feed. It does not interfere with Sphinx's operations, and you do not need to change how you structure content in separate folders. You can convert *any page*, containing a new usage example or a new release announcement, to a post with the :rst:dir:`post` directive as follows: .. code-block:: rst .. post:: Apr 15, 2014 :tags: python, earth, love, peace ABlog will include the page in specified archive pages and the blog feed. You can include a list of posts anywhere simply using :rst:dir:`postlist` directive: .. code-block:: rst .. postlist:: 2 This converts to a list of links to the most recent two posts: .. postlist:: 2 Feedback -------- ABlog has been used with the Sphinx_ 1.2.2, Python 2.7 and 3.4 to generate its documentation blog. If you try it with different Python and Sphinx versions, please give feedback to help us improve it.