I’ve been keeping a web page since about 1995. I used to write long form on LiveJournal, but the community fell apart when Facebook took off in the aughts. As a way to replace that outlet, I tinkered with setting up a blog, but only started getting traction around 2012. I put up a Wordpress site and made a few posts.
Then began this dark period where, whenever I had any urge to write, I wound up spending it on tools. After the first few posts, I got distracted for a while and then my site got hacked. I decided the built-in content management of a popular package like WordPress was a security liability, and anyway having the content in a SQL database made me claustrophobic and I wanted to keep it in plain text instead. This led me to rebuild and relaunch my site on Statamic. This was pretty good, but at the time the software was rough around the edges and I still thought it didn’t make sense to dynamically generate the page rendering for every visitor.
Then I discovered Netlify and static site generators. So I ported my site to Hugo, but in the end I never launched this version. Hugo was another kind of pretty good, but there were limitations, and Go’s template language made me want to injure myself. I decided I really wanted to work with Node.js, so I found Metalsmith, and rebuilt my site once again! Metalsmith is the ultimate in flexibility, but it’s basically a processing pipeline. I found myself recreating the stack from the inside out. Metalsmith itself was replaced by the generic Gulp pipeline and I eventually rewrote all the key plugins from scratch. This took years, only working on it every few months. For some reason I didn’t feel comfortable creating content if I didn’t think it had a safe and sustainable home. Terrible excuse, I know, but porting a lot of content is a pain.
All of this was happening while the Statamic site continued to run. The nadir of this process was when, in 2018, I was preoccupied at work and so embarrassed at the aging content that I took the site down for almost a year.
In spring 2019, I launched my custom SSG site along with refreshed versions of the existing articles. I thought this was pretty close to the right thing, but work continued to dominate my life that year, and I still couldn’t muster the mojo to write any new articles. I continued tinkering and found there was one more thing I needed to fix… I realized that Markdown was an inferior plain text authoring format to Asciidoc, and the JS parser, Asciidoctor, provides the configurability I needed for custom rendering. So I had to convert everything one more time. (See what I mean about porting being a pain?)
I took two weeks off work in August 2020, just for a break, not sure what I wanted to do with my time off in the era of pandemics and quarantine. It turned out what I wanted to do was finish my website and write half a dozen new posts. I now have these set to trickle out weekly, perhaps as a kick start to a regular posting schedule.
This project has been an exercise in patience. Once the site is large enough, I am pretty sure I will regret rolling my own. But scaling reveals problems with any solution and the benefits of this one are already apparent. The content is encoded in a flexible and maintainable way, and I know exactly how the site generator works and can make changes quickly. I am not the kind of person who cares to drive a manual transmission car, but for certain things I am a detail freak, and knowing how everything ticks inside the website is somehow a minor source of joy.
As of this posting, ratha.com gets 2500 page views and 700 unique visitors per month. For a site that hasn’t been updated in about seven years, that seems like a lot. I’m sure they’re all bots. But I’ve been working on it long enough that I don’t see a reason to stop now.