This is a Static Site
Static Site Generation
I’ve been looking for a good blog system for a while. I’ve tried a bunch. There are so many options out there. Jekyll, Wordpress, Astro, Rails, just to name a few. Honestly, there are way too many. Writing a website shouldn’t be difficult. It shouldn’t require all these tools. You should be able to start up a site just by clicking install on a web server program, giving it a domain name, and giving it an HTML file. I haven’t found that quite yet.
In the meantime, I’ll focus on a different set of needs. I want a website that isn’t really a blog, or a resume site, or a marketing site, but rather just a spot I can share whatever I like (art, apps, writing) with the internet at large. Most of the website creation kits out there don’t hit this balance quite right. Wordpress is a WYSIWYG mess. WYSIWYGs are good for beginners, but I’m a professional sofware developer. I want to write the HTML and CSS myself (and frankly so should everyone else, basic HTML isn’t hard). Jekyll is better. A simple static site generator that gives you some tools to make building the site easier. However, it’s not powerful enough. It can’t do server-side generation or complex client build pipelines. I want to be able to dump anything I want onto the site without being limited too much.
Rails has the opposite problem. It has too many features. It needs a database, a gem file, a special server, a ruby runtime, an HTTP 2 proxy, etc. And it’s not freeform enough. It’s designed to build monolithic web apps, and does that well. However, I don’t want a monolithic web app. I want a bunch of small apps of all kinds scattered across my site. I don’t have any particular structure in mind.
Astro JS has the right idea. A progressive web framework that starts with a static site, but makes it easy to upgrade to server-side rendering or client side apps as your app progresses. Or let parts remain static while others are dynamic. However, I don’t like writing server code in javascript. It’s a good web language, but a terrible server language.
I think Bridgetown hits the right balance. A ruby framework based off Jekyll (already a very good static site generator) that gives you a few tools to get up and running quickly, then gets out of your way. If you need more tools, they have ideas of how to add them. And it’s a smaller community, which I find more fun for personal projects.