From Jekyll to Metalsmith
It has been roughly a year since I set up my static Jekyll blog on GitHub Pages. Back then, this free Jekyll hosting service was one of a kind. Nowadays, services like GitLab Pages allow free automated generation and hosting of static websites as well, and many limitations were removed.
The new site is generated with the amazingly simple Metalsmith, which is based on Node.js instead of Ruby. Which is great, because it allows for really easy integration of the Node ecosystem, and I find setting up a Node environment a lot easier than a Ruby one. (Bundler is nice, but I still encountered version conflicts, especially while using Middleman for a different website).
GitLab Pages makes getting online a breeze. A simple
.gitlab-ci.yml file like this suffices:
image: node:alpine pages: cache: paths: - node_modules script: - npm install - npm run build artifacts: paths: - public only: - master
Under the hood
Most of the hard work is done by Metalsmith plugins metalsmith-collections, metalsmith-markdown and metalsmith-jstransformer. Nunjucks is used as a templating language. I really liked Haml, but it's not really a first class citizen outside of the Ruby world, and Nunjucks is so much more KISS.
After much thought, I decided steefhegeman.com to be the best domain name for this website. It annoys me how unoriginal it is, but sometimes boring is good.
With this, I hope to have a more stable website from now on. No more broken links. Promise.