Comment by wolfgang42
5 years ago
The thing about static site builders is that it's really easy to get started building one, and very difficult to make one that meets everyone's needs. The result of this is a sort of Life-Cycle of the Static Site Generator:
1. Look at the huge list of open-source static site generators (literally hundreds![1])
2. Try some out, and fail to find one that works exactly right.
3. Start writing a new one that fits better.
4. Gradually extend it and make it more general.
5. Get excited about how useful it is, and publish it as an open-source project so others can use it, adding it to the already enormous list.
6. Someone else starts at step 1.
[1]: https://www.staticgen.com/
I've taken to just building a new one one to meet whatever my immediate need is, and developing a sort of mental toolkit of techniques rather than trying to smush an existing program into the particular requirements of a specific project. You can get surprisingly far with just a handful of lines of code.
I like knocking up JS to pump out some HTML and often it’s quicker than using a framework when you consider how much of a dead end they leave you in when there is something they can’t do with their DSL or whatever.
Another fine alternative is just use Wordpress!
Or use WordPress to manage your content, then create a static site from that with https://wp2static.com or https://www.simplystatic.co.
Not nearly as fast as Hugo or Jekyll (~5 minutes to generate a 1300 post blog), but a nice alternative if you want to keep using a CMS and don't want to expose it to everyone.
thank you for this link - i want to use jekyll or hugo, i do, but i am real bad at organization and i always fall back to using a local WP install to take content and do all the heavy lifting - organizing it, styling it, etc. i get insanely frustrated sometimes trying to work with hugo, just little things that fly in the face of what is mostly a pretty straightforward program, but its those little things that really ruin the entire thing for me.
I use Pelican. If you know Python, it's decently easy enough to extend it for your own needs. It was the first one I used way back in 2011, and I've not needed to use a different one.
I'm certainly not alone in going down that route! Sometimes it can be rewarding though, as you do get something you understand and which suits you completely.
I wrote a (perl-based) blog-compiler for my own site https://blog.steve.fi/ and recently rewrote it in golang to get the advantage of easier installation and faster generation.
Generating a thousand blog posts, over five+ years, shouldn't take more than a second. My Perl code used to take 30 seconds to rebuild and upload my site (via rsync) complete with comments, tags, etc. But the new rewrite takes 3 seconds to do the same job. So it was a good rewrite even if I'm not even going to pretend it is a general purpose utility any more.
Nice site. A suggestion: cleanup the duplicate languages. I saw there were two “TypeScript” options which were different only due to variation of capital letters.