bleeprot(8) System Manager's Manual bleeprot(8)

   __   __                      __
  / /  / /__ ___ ___  _______  / /_
 / _ \/ / -_) -_) _ \/ __/ _ \/ __/
/_.__/_/\__/\__/ .__/_/  \___/\__/
              /_/

 ~ the machine is deeply symptomatic ~

home writing fortunes library links

The build process for this website has been revised on several occassions (always with the intent of reducing dependencies and doing more with less).

At first I was using 11ty as my static-site generator (SSG), but it all seemed like a lot of unnecessary cruft.

11ty cloc

That's a lot of garbage for building a simple static website.

My first revision to this process occurred when I discovered that one can hyperlink emacs org files and export them to html with ox-publish. This worked quite nicely for a while, but the idea of using my text-editor to publish my website eventually soured. I wanted something more platform-agnostic (this turned out to be a rather prescient change since I stopped using Linux and began using OpenBSD and the mg text-editor for all of my programming).

My replacement for emacs + org mode was pandoc + Makefile with markdown files. This was the mainstay build-process for a few years. At some point in that time I replaced the Makefile with a shell-script that cached the files and only rebuilt them if they changed (I agree with xmdi and support the renaming of Makefiles to ‘snake-files’). This configuration is incredibly cozy. I highly recommend it to anybody whos is considering a static-site generator for their website. They probably *do not* need a full static-site generator. The script took me minutes to write and it worked wonderfully for years and I never needed to pull in another dependency (except for pandoc...which brings us to phase four...)

Manual pages! The OpenBSD roff (mdoc) parser (mandoc) has a flag to convert an mdoc document to html (the GNU groff tool can do this too.) This site is now a collection of man pages that are converted to a static website with a simple shell-script. The website is now completely built and deployed with tools found in a base OpenBSD install. The only negative that I have found so far is that there does not seem to be an easy way to embed images in the website output. Every image on the site is now just a link to the image, but this is a minor inconvenience.

Deployment has been the one commonality across each iteration of build process revisions. I use rsync to sync the generated output directory with the remote website root. The site is currently hosted with prgmr on OpenBSD

December 16, 2024