Making This Blog
Or how I learned to stop caring and write my blogI'm finally, maybe, possibly, probably not doing it. I'm writing a blog, hopefully...
Why has it taken me so long? The answer is finding the right Content Management System (CMS). Turns out, there is no right CMS, but I managed to glue something together with 11ty. I started with Pelican years ago, but quickly found it too lacking. I tried using Hugo, which is what I'd recommend to anyone who seriously wants to publish static sites (for free). But Hugo was lacking the control I wanted. My fulltime job is as a web developer (notice I said developer, not designer), and while I wanted the simplicity of static sites, I also wanted to experiment with progressive enhancement, accessibility, and new Web technologies. Enter Eleventy, or 11ty, which seemed to fix all my problems, it offered:
- A simple flow for generating static site content that didn't make too many assumptions.
- The promise of Web Components with WebC.
- JavaScript based static site generation, which could leverage webc.
- Zero JavaScript in the bundle by default, but with room to add JavaScript intentionally.
This all seemed too good to be true. In some ways, it was. WebC feels like it was made at just the right time to become obsolete immediately: New standards have been made that solve the same problems as WebC, except now WebC can't adopt them because it needs to remain compatible. And the whole Eleventy layout system feels backwards to me. I don't want a neat tree of layout inheritance. Normally what I want is to process and display content in multiple ways. Layout inheritance makes any alternative form of displaying content a second class citizen. I currently display full html, slimmed down html for a progressively enhanced Single Page Application (SPA) experience, RSS, Atom, and json-feed. Every time I added a new way to provide the same content, I had to fight the layout system to make it work.
But, at the end of the day, I'm grateful for what Eleventy offers me. It's a solid system and, once the workarounds are figured out, just works. I don't think it would be fair to focus too much on the negatives of Eleventy. After all, it's the only framework that I was able to customize as much as I have. I'm especially proud of having gotten the SPA-like functionality working on a static site. It's completely unnecessary but I have vanquished the browser spinner! And, on the other side, everything mostly works with Lynx browser. The resume section is broken on Lynx because Lynx insists on rendering <template> tags, but you should be able to read the blog just fine in your favorite terminal if RSS isn't enough for you. Maybe one day I'll bring my beloved SludgePipe CMS idea to life. But until then, Eleventy makes me quite happy.
I'm hosting all this on SourceHut Pages, and the experience so far has been fine. I'm able to get what I need done and have the site hosted. Maybe I'll move to something more dynamic in the future, but not in the foreseeable future. Right now I have something and that's so much better than having nothing and being a perfectionist.
What's next for this blog? I'm just planning on writing as I feel inspired. I'd also like to write as a way of documenting my home lab. Expect a postmortem on the current home lab... eventually. I mainly plan to write about tech that interests me, but really anything goes. Maybe I'll share my secret pasta sauce recipe if I'm feeling generous. I may also put some more tutorial oriented content here. Now that the groundwork is done on this site I can do a lot of different things.