ABlog for Sphinx¶
ABlog is a Sphinx extension that converts any documentation or personal website project into a full-fledged blog with:
Installation¶
You can install ABlog using pip:
pip install -U ablog
This will also install Sphinx, Alabaster, Werkzeug, Invoke, dateutil respectively required for building your website, making it look good, generating feeds, running deploy commands, and parsing dates.
Getting Started¶
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. Add 'ablog' to list of extensions
extensions = [
'...',
'ablog'
]
# 2. Add ablog templates path
import ablog
# 2a. if `templates_path` is not defined
templates_path = [ablog.get_html_templates_path()]
# 2b. if `templates_path` is defined
templates_path.append(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::
:list-style: circle
:category: Manual
:format: {title}
:sort:
For ABlog documentation, this converts to the following where you can find more about configuring and using ABlog:
- Posting and Listing
- ABlog Configuration Options
- Cross-referencing Blog Pages
- Post Excerpts and Images
- Posting Sections
- ABlog Internationalization
- ABlog Commands
- ABlog Quick Start
- Deploy to GitHub Pages
- Watch Yourself Blogging
- Automate GitHub Pages Deploys

