My previous blog setup was made using Franklin.jl, and building it implied setting up an entire julia installation. And even after all that, the blog looked pretty boring. I still struggled to set up tags and I had to constantly fight the default css or write everything myself. Also, when I built that blog, I was learning JS, and I used a lot of unnecessary js and styling. Finally, Franklin’s complex build meant that my gemini build was so much more harder to make.
I still wanted to write in markdown and make it to html. The best converter I know is pandoc. It has a very good template support, and having used it before, I was comfortable with it. I had already made a foam template for jekyll for my notes this semester, and modifying it to match pandoc’s template was easy.
The best part of pandoc is that it is so easily extendable. There is a gemtext filter for pandoc which meant that with just one more command I could also build my gemini capsule. I had to tweak the filter a bit to add
.gmi to links where necessary, which was technically a simple change, but I don’t know lua, so I flailed around a bit before I got it. Templating for gemini was even easier since there isn’t much you can do in the first place.
I initially thought I would make the blog like a digital garden, but then decided against since I knew I wouldn’t write too much to actually populate the garden enough. And setting up such a thing I felt was way too complicated for a low traffic blog like mine.
So I ended making a Table of Contents. Previously, I just had the entry as the filename, but that was very difficult to follow. With a little of
sed-fu, I extracted the title from the front matter. With a tiny change, I made it work for gemini too.
At this point, I was going to release the new blog, but then I had a new itch
I wanted to also have an RSS feed. I already use RSS extensively for comics, science and other blogs, and wanted people to see mine too. I searched online a bit for an RSS maker script, but I only found subscription stuff. I was almost going to write my own script, when I came across a post on fosstodon which talked about an RSS-only blog. They used txt files to manage their content, but converting markdown to html was already possible with pandoc, so with some heavy modifications, I built the RSS feed with a script
At this point, I was ALMOST going to publish it. I had made everything I wanted to. Just a few more CSS fixes, and we were good to go. But as I was setting up markdown support for lunarvim, I came across zk. And this blew my mind. Without me doing anything, it gave me everything I needed. Contents were just one command away, and for almost free, I got tag support.
Within a day, I set up zk, added tags to my previous articles, added a new template for the tags page, and fixed some other templates. I also added a cute neon effect to the tag list at the end of every page. I found a small mistake in the gemini script, which I fixed.
Now, my blog is perfect.
I really want to add my blog to both of these. For 512KB, I don’t know whether it is per page or per site. Right now, my site sits at 131KB for the whole thing, but that is with 8 posts. Every post I add, I add about 1KB. I don’t know how people are getting their sites to less than 100KB. That seems impossible.
As for fediring, it is just a matter of doing it, which I haven’t done.