Over the past week, I rewrote my journal generator (yes, again). I created a Hugo theme, so Hugo now does all the heavy lifting. The new program simply called “nicksphere” generates the website, the Gemini capsule, and the Atom feeds for both all in less than a second. Any plans I had for my custom generator nicksphere-gmi have been scrapped.
Now that Hugo is handling the generation process, I no longer need to make my generator multithreaded, multilingual, or documented. My generator wasn’t bad, but obviously it’s nothing compared to a popular, established site generator like Hugo.
My motivation for making the switch back to Hugo started with me feeling that my journal entries were overcommitted to Gemini. With the last generator nicksphere-gmi, everything was written in and parsed as gemtext, the markup for the Gemini protocol. It occurred to me that having my journal entries based on an obscure markup format gives them less longevity.
Trying to make nicksphere-gmi support a new protocol is comparatively difficult, since another Gemini-to-X converter is needed for each one. With Markdown, such a converter probably already exists. Using nicksphere-gmi, I couldn’t simply decide to stop supporting Gemini. I don’t have any plans to do that, but I don’t think this journal should be bound to any specific platform. Converting everything to a more universal format with broad support, Markdown, increases this journal’s longevity and extensibility.
So why didn’t I just rewrite nicksphere-gmi to use Markdown? Well, I realized that Hugo already uses Markdown and it’s of much higher quality than my generator. The original reason I moved away from Hugo was to support Gemini, but I found a few online articles showing how I could make Hugo output Gemini. Ultimately, I was able to make it work.
I’m still not quite satisfied with my new Hugo theme, hugo-theme-nicksphere. It probably still contains some bugs and will require more work to get into a state where it’s usable for others. So don’t use it just yet.
- Polish up hugo-theme-nicksphere.
- Remove the promoted page. I think it would be best to eliminate the promoted page over time, making an entry for each item on the promoted page. I would rather explain in proper context what it is about these people/organizations/etc. that I support instead of just listing them with no explanation.
4: Gemini protocol