Finished the first pass of moving all my technical knowledge into static Markdown files. I’ve got all the files now in a Git repository hosted on Github. They’re also published as a website called TecKnow Space (pronounced “techno space”)1.

The way I’ve done this is by writing a tool I which will checkout the source Git repository, iterate over all the source Markdown files, render them as HTML, and push them to another Git repository which is being served using GitHub pages. The tool, which is currently not open-source, was written in Go and uses go-git for the Git client, and BlackFriday as the Markdown renderer.

The output is just a directory tree of HTML files. I did consider Hugo for a brief moment, but I wanted to avoid the complexity of including a base Hugo site here, especially given that the main reason for using Hugo is for the themes. That did mean that I had to write a tool to do this, but my thinking is that if I decided to move to Hugo, I still need something to iterate over all the Markdown files anyway, since they’re stored in a different structure than the content of a Hugo site. And some small modifications to the tool would could be made to make that happen.

At the moment, I need to run the tool manually to regenerate the site. But, ultimately, I’d like to setup Github’s CI/CD to re-render the source files when I push changes to main. That, plus styling and optimising how I organise this information, will probably be the next step I tackle.

  1. One of those names that worked off the bat, and I grin whenever I say it. ↩︎