I wanted a personal homepage/blog. I very often jot down my thoughts using Jupyter notebooks or MarkDown documents, so I looked for a tool that can create an website out of documents in these two formats. Since I love CI/CD pipelines, and totally wanted my future site to be automatically deployed to GitLab pages on each commit, I decided to use a static site generator (SSG). There are quite a few good SSG's, e.g. Pelican, Jekyll, Hugo, to name a few.
I settled on Nikola because I liked its documentations, out of the box support for Jupyter nokebooks and ease of configuring via a python file.
I roughly followed the guide by Jaakko Luttinen. The steps I took were:
- Install nikola in a virtualenv.
nikola initto initialize a website.
- Made jupyter notebooks the default format for posts in
- Enable MathJax rendering of $...$ delimited text.
- Choose a theme by playing around with
- Add CC-BY-SA license.
GitLab CIso that on each commit, a fresh copy of the site gets deployed to GitLab pages.