Building your own blogging tools is a fun journey • AndreGarzia.com

4 min read Original article ↗

I read a very interesting blog post today: “So I’ve Been Thinking About Static Site Generators” by PolyWolf in which she goes in depth about her quest to create a 🚀BLAZING🔥 fast static site generator. It was a very good read and I’m amazed at how fast she got things running. The conversation about the post on Lobste.rs is also full of gems. Seeing so many people pouring energy into the specific problem of making SSGs very fast feels to me pretty much like modders getting the utmost performance out of their CPUs or car engines. It is fun to see how they are doing and how fast they can make clean and incremental builds go.

No one will ever complain about their SSG being too fast.

As someone who used a very slow SSG for years and eventually migrated to my own homegrown dynamic site, I understand how frustrating slow site generation can be. In my own personal case, I decided to go with an old-school dynamic website using old 90s tech such as cgi-bin scripts in Lua.

That eliminates the need for rebuilds of the site as it is generated at runtime. One criticism I keep hearing is about the scalability of my approach, people say: “what if one of your posts go viral and the site crashes?”, well, that is ok for me cause if I get a cold or flu I crash too, why would I demand of my site something I don’t demand of myself?

Jokes aside, the problem of scalability can be dealt with by having some heuristic figuring out when a post is getting hot and then generating a static version of that post while keeping posts that are not hot dynamic. I’m not worried about it.

Instead of devoting my time to the engineering problem of making my SSG fast, I decided to put my energy elsewhere. A point that is often overlooked by many people developing blogging systems is the editing and posting workflow. They’ll have really fast SSGs and then let the user figure out how to write the source files using whatever tool they want. Nothing wrong with that, but I want something better than launching $EDITOR to write my posts.

In my case, what prevented me from posting more was not how long my SSG took to rebuild my site, but the friction between wanting to post and having the post written. What tools to use, how to handle file uploads, etc.

So I begun to optmising and developing tools for helping me with that.

First, I made a simple posting interface. This is not a part of the blogging system, it is an independent tool that shares the code base with the rest of the blog (just so I have my own CGI routines available). Internally it uses micropub to publish.

After that, I made it into a Firefox Add-on. The add-on is built for ad-hoc distribution and not shared on the store, it is just for me. Once installed, I get a sidebar that allows me to edit or post.

Editor

This is part of making my web browser of choice not only a web browser but a web making tool. I’m integrating all I need to write posts into the browser itself and thus diminishing the distance between browsing the web and making the web.

I added features to the add-on to help me quote posts, get addresses as I browse them, and edit my own posts. It is all there right in the browser.

quoting a post

Like PolyWolf, I am passionate about my tools and blogging. I think we should take upon ourselves to build the tools we need if they’re not available already (or just for the fun of it).

Even though I’m no longer in the SSG bandwagon anymore, I’m deeply interested in blogging and would like to see more people experimenting with building their own tools, especially if their focus is on interesting ux and writing workflows.