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 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.
-
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.
-
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.
-
The site is styled using a heavily pruned copy of TailWind, plus a small amount of custom CSS.
-
Alpine provides the small bits of JavaScript used in the pages.
-
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.
-
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.
-
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.
-
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.
-
A bit of wintry snow for some festive fun.