ABlog for blogging with Sphinx
ABlog is a Sphinx extension that converts any documentation or personal website project into a full-fledged blog with:
Looking for an example? Take a look at ABlog documentation where each manual and release is a blog post ;)
You can install ABlog using pip:
pip install -U ablog
If you are starting a new project, see ABlog Quick Start guide.
If you already have a project, enable blogging by making following changes in conf.py:
# 1. Append 'ablog' to list of extensions extensions = [ '...', 'ablog' ] # 2. Append templates path to `ablog.templates_path()` import ablog # 2a. `templates_path` exists templates_path.append(ablog.get_html_templates_path()) # 2b. `templates_path` is not defined before templates_path = [ablog.get_html_templates_path()]
How it works
If you are new to Sphinx and reStructuredText markup language, you might find reStructuredText Primer useful. Once you have content (in .rst files), you can post any page using the post directive as follows:
.. post:: Apr 15, 2014 :tags: earth, love, peace :category: python :author: me :location: SF :language: en
ABlog will index all files posted as above and list them in archives and feeds specified in :tag:, :category:, etc. options.
You can also include a list of posts using postlist directive:
.. postlist:: 5 :category: Manual :reverse:
For ABlog documentation, this converts to the following where you can find more about configuring and using ABlog:
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.