.. Fladi.at post example, created by `ablog start` on Aug 05, 2025. .. post:: Jan 05, 2026 :tags: News, Python :author: Michael Fladischer A new blogging engine ===================== For quite a while (especially since I became a dad) my blog was inactive. The old one was based on `ikiwiki `__ and it lacked a clean deployment workflow. For several months I was looking for a suitable replacement which would satisfy my requirements: * Compiles Markdown or ReStructuredText to static HTML * The whole source-code of the site can be stored in git, no database required * Supports a simple build, preferably a single CLI command to build the whole site * Extendable with plugins (if built-in features are lacking things like a gallery) * Written in Python because most of my work (payed and unpaid) is done in this language * Packages for Debian so I can easily deploy it on my infrastructure Several candidates would fit those requirements: * `Pelican`_ * `MkDocs`_ * `Nikola`_ * `Lektor`_ * `Sphinx`_ In the end I decided to opt for `Sphinx`_ as it provided a good blogging solution in the form of `ABlog`_. Getting started on Debian is as easy as installing it: .. code-block:: zsh sudo apt install python3-sphinx-ablog Afterwards start a new project, creating a basic Sphinx structure: .. code-block:: zsh ablog start The deployment is done by pushing to a Git repository with a custom post-update hook which builds the whole project using sphinx. It then places the files in the webserver document root directory. I will describe this hook script here in a future post. .. _Pelican: https://getpelican.com/ .. _MkDocs: https://www.mkdocs.org/ .. _Nikola: https://getnikola.com/ .. _Pelican: https://getpelican.com/ .. _Lektor: https://www.getlektor.com/ .. _Sphinx: https://www.sphinx-doc.org/ .. _ABlog: https://ablog.readthedocs.io/