Migrating the website to Sphinx + ABlog#

Last week I migrated my website from Nikola ( see my post from 2020 )to Sphinx + ABlog. Although it might look a little different than before, the functionality is essentially the same so you might wonder why I decided to do this migration.

My main reason is probably that I enjoy tinkering around with these tools, but there is also a practical aspect to it. The motivation for building this website is to learn by doing. I’d like to post about prototypes I hack together and that often requires doing advanced things like executing code cells, adding interactive content (e.g., bokeh, plotly, etc.) and adding references and bibliographies. At work we use the Sphinx framework for documentation. As I am essentially documenting my prototypes in the form of a blog post, it makes sense to only invest in learning one framework. As the Sphinx framework is widely used, has an extensive ecosystem of extensions that already support most of the functionality I need it is the clear winner.

When migrating to Sphinx + ABlog I followed the excellent tutorial by Bec at errbufferoverfl.me. The theme is based on the pydata-sphinx-theme with only the small tweaks from the tutorial I followed. The pydata theme natively supports switching between a dark and a light theme, which is kind of neat. There are some other cool features, like the sidebars, and MyST markdown integration both otherwise it’s all quite similar and the transition was smooth.

Given how much time I originally spent on tweaking the lanyon theme for the nikola based website, how good the pydata-sphinx-theme looks natively, and how quickly I got this running, I would recommend anyone to go for the Sphinx + ablog setup straight away.