How I build my site

A few days ago I promised I would write an article about my current setup, so here it is.

Workflow

When I want to create new content this is the workflow I came up with:

  1. Writing: I write the article/note in one of my TiddlyWikis using Wikitext. This might take from a few seconds in case of a short note to a few days in case of this post here (because I am lazy and stop writing when a new rabbit shows up I want to chase which happens more often then I am willing to admit).
  2. Publishing: When I am happy with what I have I export the finished Tiddler (that is what a page or record is called in the TiddlyWiki system) via a custom Template which generates front matter and an HTML body. This front matter is used by Hugo to generate the finished HTML pages and add publication date, tags, title, URL etc.
  3. I save the result in a file in my Hugo project and commit to my repository.

That is all I do myself. The whole process from finishing a piece of text to having it on my page does not take longer than maybe two minutes.

The whole build and deploy process is handled by Cloudflare and their awesome Pages service. I tried Github Pages but since Cloudflare already hosts my domains I figured that it would be easier to just use their offer. Plus they offer way more via their free tier compared to Netlify or Github. Cloudflare listens for new commits to my repository and triggers a new build/deploy process on their infrastructure. This way I do not have to worry about a server being up to date or being hijacked. Also I get nice DDoS protection on top, even though I doubt I will need it in the foreseeable future.

The process has been very effective for me so far and since I am an avid TiddlyWiki user I wanted to have my publishing based on this awesome platform. There are bi-directional links build in and missing links are not included into the final product which makes for a nice ranking in search engines. The exact setup of my TiddlyWiki will have to wait for another day when I find time to go a little deeper. Also I want to share my export template and dashboard because that is something I am quite proud of.