# Migrating the website to Sphinx + ABlog ```{post} 2023-02-11 --- tags: Sphinx, ABlog, web-dev, .rST, MyST author: Adriaan Rol --- ``` Last week I migrated my website from [Nikola](https://getnikola.com/) ( see {doc}`my post ` from 2020 )to [Sphinx](https://www.sphinx-doc.org/en/master/) + [ABlog](https://ablog.readthedocs.io/en/stable/). 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](https://www.sphinx-doc.org/en/master/) 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](https://www.sphinx-doc.org/en/master/) + [ABlog](https://ablog.readthedocs.io/en/stable/) I followed the [excellent tutorial](https://www.errbufferoverfl.me/posts/2020/sphinx-blog-part-one/) by Bec at [errbufferoverfl.me](https://www.errbufferoverfl.me/). The theme is based on the [pydata-sphinx-theme](https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html) 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](https://ablog.readthedocs.io/en/stable/manual/ablog-configuration-options/#sidebars), and [MyST markdown integration](https://myst-parser.readthedocs.io/en/latest/) 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 {doc}`nikola based website `, how good the [pydata-sphinx-theme](https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html) looks natively, and how quickly I got this running, I would recommend anyone to go for the Sphinx + ablog setup straight away.