I started off on Blogger back in 2014, but rapidly got annoyed by how difficult it was to format source code to my satisfaction with that tool. I used Wordpress until 2021, but some of the changes made to that platform and the thought that I should really "own my content" made me move to a solution I built myself. And as a C#/.Net developer, I wasn't too keen on the proliferation of static site generators built using JavaScript or other languages...
So currently the tools used to build this blog are:
-
Statiq
Statiq is the .Net-based static site generator used to transform markdown into web pages. The theme for this site is a heavily customised version of the "CleanBlog" theme. -
EnlighterJS
Enlighter is the syntax highlighting tool used for code snippets. It's wrapped up in a custom Statiq extension to integrate it into the process of rendering pages instead of Statiq's default code highlighter. -
MermaidJS
This allows me to draw pretty diagrams from markdown-like syntax embedded into the text of the posts. The integration is no more complex than adding the right JavaScript files to the site theme. -
TailWind CSS
The site is styled using a heavily pruned copy of TailWind, plus a small amount of custom CSS. -
Alpine.js
Alpine provides the small bits of JavaScript used in the pages. -
GitHub
The source for the site lives on a private git repo, along with my publishing and editing setup. But the resulting pages are hosted using GitHub Pages. -
Cloudflare
DNS is managed via Cloudflare. I did have it doing caching and other tasks too, but found this seemed to conflict with being indexed by Bing, so I've turned off those features. -
Lunr
The internal search is built with a combination of Statiq's ability to generate an index file as part of the build, and Lunr to enable client-side queries. -
Mustache
The search results needed some client-side templating to render them looking like the main listings pages - and this seemed a simple way to achieve that. -
Snow Fall
A bit of wintry snow for some festive fun.