Yet Another Static Site Generator Switch
2022-07-06
If youāre an RSS subscriber, Iāve probably blown up your feed reader (again). This seems to be an on-going theme with this blog. I canāt help it.
This website now uses my new Pandoc-based static blog generator: pblog. I wonāt go into great detail about itās features (or lack thereof) - if youāre interested in that, check out the āIntroducing pblogā article.
The bigger question is, āWhy the change?ā
Whereās the Love for āShinobiā?
Switching over to pblog wasnāt caused by a dislike of using Shinobi. In fact, I still really enjoy the work flow that that plain-text focused SSG provides. The main issues that popped up for my own blog was accessibility and poor user experience.
I had multiple readers reach out and mention poor rendering of content in their RSS reader of choice. Thatās kind of a big deal. I test that project as best I can with my limited access to all available RSS readers - but I can only test so much. It became one of those āWell, it works on my machine!ā meme. So instead of spending an untold amount of time debugging every RSS reader known to man, I figured my best bet was to render things as HTML.
The next big issue was accessibility. Screen readers can read txt formatted files perfectly fine but since elements arenāt categorized everything ends up with the same level hierarchy. This can cause confusion between headers, list items, URLs, footers etc. For my personal use-case (sharing tutorials and covering design topics) it didnāt make sense to sacrifice user accessibility for minimalism.
The Search for Simplicity
My initial thought process was to include some form of āplusā add-on to the existing Shinobi build script. The idea was to render HTML versions of each post and dump those into the generated RSS file. Although maybe good in theory, it ended up impractical because:
- No utility or existing tool could render the style of text-based formatting I implemented as semantic HTML (at least not without heavy customization and tinkering)
- I was actually adding extra bloat to the Shinobi project (true minimalism is the point, right?)
So, that option was ruled out pretty quickly.
The next option didnāt take me long to land on: Pandoc. Iāve used Pandoc for years and have nothing but great experiences tweaking it for my own needs. I knew that I could piggyback off the original shell commands in the Shinobi project and alter them as needed to incorporate Pandoc.
I honestly didnāt run into many issues while rolling this out. Fairly seamless!
New Workflow
With this new blog switch I also decided to try out a new deploy workflow. Iāve used rsync for the longest time but wanted to have something more GUI-based on macOS. I know, blasphemy!
Since I already have a Transmit license, that seemed like the best fit since it is designed specifically for macOS. Now my workflow process is as follows:
- Write new posts in my root
postsfolder - Rebuild the
pblogwithmake - Use the built-in sync function of Transmit to mirror my local
_outputwith my web server

Wrapping Up
Will there be bugs with this switch-over? Most likely. Will some URLs be left behind or broken? Possibly. These small issues will be ironed out over time. For now, Iām quite happy with keeping things minimal on the workflow side of things, while preserving accessibility and user experience with the output.
Thanks for reading!