Moving from Jekyll to pt
May 5, 2019
I am not a very active blogger or writer. I’d like to be, but the effort required to write a blog post of value is large. First have something to say, then say it well. Easier said than done.
That being said, I want my home page to exist so I can have a look at it every once in a while. See what I’ve thought in the past and how it holds up in the present. Also just in case one day I find something interesting to say.
The previous iteration of this site was built on top of Jekyll, a static site generator written in Ruby. This is what the site used to look like:
I remember contemplating using Wordpress, deciding it was way too heavy for my needs, reading about static site generators, and finally arriving at Jekyll. It seemed popular and simple enough. I then started configuring Jekyll, installing additional plugins for LaTeX equations support, hyphenation support, numbered figures etc. etc. I got the site looking more-or-less how I wanted it. Everything was in order and I could continue with my life.
Coming back to the source code of this site after a year or so of no activity,
I had few obstacles in my way. I had already removed Ruby & Gems from my
computer, and my
Gemfile was hopelessly out-of-date. I attempted to
re-install and then update the Gems but ran into native compilation issues with
something called eventmachine. I could’ve solved this, but something else was
brewing in my mind.
Previously I had watched a video about groff, a minimalist typesetting system. An alternative to LaTeX that doesn’t do everything LaTeX does, but what it does, it does well with minimal code. I brought this line of thinking to the issue of my site and came to the conclusion that I had over-complicated maintenance with
- the amount of unused plugins / configurations / styling I had introduced
- the amount of work necessary to keep stuff compiling in the future.
I decided to start over (bringing some of my old content with me) and this time try something even more minimal and lightweight, pt. Clocking in at around 160 lines of Go code and being a compiled binary CLI tool, it is the perfect solution for my needs. It is easy to understand, does little (but enough), allows for customization while being itself small, and can be used without a Go ecosystem on your machine (provided you have the compiled binary.)
Overall, I think Jekyll is probably the safer bet for most users and use cases because of its large ecosystem of plugins and configuration options. That being said, if you have a thing for minimalist software, give pt a try!