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
or miniconda:
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install ablog
This will also install Sphinx, feedgen, and Invoke respectively required for building your website, making it look good, generating feeds, and running deploy commands.
Getting Started¶
If you are starting a new project, see the ABlog Quick Start guide.
If you already have a project, enable blogging by making following changes in conf.py
:
# 1. Add 'ablog' and 'sphinx.ext.intersphinx' to the list of extensions
extensions = [
'...',
'ablog',
'sphinx.ext.intersphinx',
]
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
An alterative method is:
:blogpost: true
:date: Oct 10, 2020
:author: Nabil Freij
:location: World
:category: Manual
:language: English
at the top of the file.
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: