1. 38

  2. 16

    There are a lot of static site generators. There’s a lot of bike-shedding around them because everyone has different needs. Wanting it to be “easy” or “simple” is at odds with having flexibility to handle things other than your favorite workflow. Ultimately, you’re just looking to find a framework that saves you time and energy.

    I personally went in the complete opposite direction. I used to use a static site generator for a number of years but I don’t post all that often. Every time I’ve wanted to post something, I’d have to relearn the tool, and pray nothing broke since the last time I used it.

    As a result, once it broke, I didn’t post anything for four years.

    When I started writing fiction as a hobby, I tossed my old, dead website and made a new one. I’d made a few websites on Wordpress.com for friends by that point.

    So I ended up hosting Wordpress by myself and heavily modified one of the official themes. It doesn’t give me quite as much control but the plugins allowed me to build a website with far more functionality and in less time than doing the code myself.

    Writing and posting new articles is so much easier using rich text. I generally type up my post in Apple Notes first. Copying and posting to Wordpress saves most of the formatting. Inserting images is drag and drop.

    As far as security, my website has one api key to send mail. Everything else is isolated to the server it runs on. I put as much of the admin pages behind basic auth as I could. The login page is inaccessible without knowing those credentials. It’s not perfect but I have a defense in depth to mitigate damage. If it gets hacked, nothing of value is lost. I have complete, incremental backups of everything (configs, webroot, database) that’s pulled down via cron job every night.

    I say all this because… everyone ultimately looks for a tool that works for them. My goal is to write posts, not fiddle endlessly. Other people love the fiddling.

    If you’re looking to build and maintain a website, think about what’s important to you. What’s your skill set, interests, preferred workflow, and goals?

    For me, Wordpress fits. For a lot of programmers, they have very legitimate reasons to be horrified I used it. :)

    1. 9

      I made a comic recently which may be relevant to what you said: https://rakhim.org/honestly-undefined/19/

      1. 2

        LOL this gave me a good laugh

      2. 9

        Every time I’ve wanted to post something, I’d have to relearn the tool, and pray nothing broke since the last time I used it.

        As a result, once it broke, I didn’t post anything for four years.

        I’m in the same situation with Hugo. It seems like every time I go to rebuild the site, something has broken. Given Hugo’s vast complexity, it is actually rather difficult and a huge time sink to figure out how to actually fix it.

        But my plan, assuming I ever summon the motivation, is to just write my own static site generator. I’ll publish the code for it, but it won’t be something I intend to share or maintain for others. It will be narrowly scoped for my specific use cases alone. I think with a narrow scope, it has the potential to be very simple and easy to maintain going forward.

        1. 3

          That sounds very familiar. After not updating my hugo binary for years in fear of breaking something, then doing it, thereby discovering I seem to use 0.7% of the features I rewrote only the parts I needed to reproduce my site. Turns out, 333 lines of code was enough - I never went live with my rewrite, but I haven’t posted a ton since.

          1. 3

            Oh interesting! I didn’t think of keeping most of the structure the same as what Hugo expects and then just writing a different tool to handle the things I need. I’ll probably just re-think it from first principles though, since I think I can get things to be a bit simpler. But I’ll probably need more than a few hundred lines. One of the things I do with my blog is ensure that all my code snippets compile without duplication. That’s been a pain to do with Hugo, so I’ll likely devise a better answer to that problem through coupling.

            1. 2

              Ah, yeah. I think I don’t even have any of the fancy oEmbed things I used to have in former iterations and I don’t do code snippets - except formatting them with <code> or <pre> :)

            2. 2

              My personal blog’s SSG is now a 63-lines bash 5 script, no argument, no config, and a pretty direct usage.

              Handles everything I want (RSS, categories, markdown, medias, templating with “smart tags” (ie custom tags)

              1. 1

                I’d be curious to see what this looks like if you wouldn’t mind sharing.

          2. 4

            I coincidentally started using Zola myself just last week, and having a backlog and knowing I could have this exact relearn-the-tool-in-X-years problem, I created a little script that puts a skeleton file in the right place, opens it in a text editor, and then runs zola build. It took a couple of minutes to write, and it doubles as a tutorial for my future self. I suppose this reinforces your point: what are my goals and skills? Wordpress certainly isn’t either for me, but I wouldn’t recommend my own workflow to someone who just wants a blog.

            1. 4

              Articulate. Well, I 100% agree with you that no tool can satisfy every users. That’s exactly the reason why we have so many choices. However I’m of the opinion that so many choices is quite a nice thing as different people can find their version of perfect tool.

              Regarding WordPress, I like to write in markdown. I was able to port my old blog to a new one quite easily because they were all a bunch of markdown posts. Although yes WP is so popular that you’ll get exporters/importers for almost every mainstream choice, I still prefer to have these markdown posts committed to a .git repository.

              And the reason I ported to a simpler tool is because I wanted to fiddle less and focus more on writing. I consider this as a one time investment, but let’s see how it goes. :)

              1. 3


                I love the idea of markdown and use it frequently for documentation, but my brain can’t grasp the mismatch between presentation and formatting in real-time, which means I can’t do creative work in it. :)

                1. 1

                  There are markdown editors, including one I use for Android, which bridge that gap for you. Just on case you wanted to know

                  1. 2

                    Of course. Then I have to figure out how to manage markdown files and so on. :)

                    As I’ve said elsewhere, it’s really easy to solve one issue. Solving the majority of them is difficult.

              2. 6

                Hmm. This should be a post on my blog. scribbles notes

                Also, being able to post and edit articles on my phone or iPad using the official Wordpress app is one of the big selling points for me. By using Wordpress, I get offline editing on any device for free.

                1. 2

                  I already write my drafts in Notion as it is just restrictive enough to keep me focused, but flexible enough to embed any kind of media. That is why I’d probably lean towards something like https://super.so/ tor OSS alternative to make it a one-click thing.

                  1. 1

                    Not entirely sure what you’re getting at. Wordpress is open source under the GPLv2 license.

                  2. 2

                    Interesting! I love writing posts in markdown so there’s a difference, but you might find this approach interesting:

                    I switched to Zola a while back, and set up CI to automatically publish new site versions with a static Zola binary. When I want to add something, I only edit markdown files. I just push these new changes in a git repository, and it automagically appears online. It takes very low effort to edit and update the website (given you’re used to using git and markdown). You don’t install Zola locally and can do this from anywhere in the world.

                    It seems impossible to break Zola with just adding markdown files. The only real thing that can break here, is the server I’m hosting these static files on. The whole setup is actually super simple, if things ever go haywire it’s simple to debug or I just revert.

                    Not trying to make you switch. Just thought you might find it interesting, as I assume this has minimum breakage, which you were having problems with.

                    1. 3

                      Someone always mentions markdown and tries to solve one of the problems I mentioned. :)

                      There’s a long, long list of features I use and all of them reduce the immediate friction of writing or making changes. (The worst offender is using plain text with a markup language.) This is absolutely critical to my creative process. Everything else is secondary.

                  3. 4

                    You make a really good case about why Hugo is failing it’s users here, but I’m concerned that you may one day be saying the same about Zola. One thing that comes to mind is missing features. For example, you might decide that you want to be able to add footnotes, but CommonMark doesn’t have that functionality. Because Zola has no extensibility, you’re SOL as far as I can tell. I also have a suspicion that people might start to use themes as a way to emulate plugins. Something like the difficulty of adding graph tags that you talked about could maybe be solved like that. But then it’s getting into the danger zone of finding documentation in multiple places and having to magically override things again. I think that KayodeLycaon was spot on in pointing out that everyone wants something slightly different. I hope Zola works out for you :)

                    1. 3

                      Yep, the concerns are valid. I don’t have a really good reply to that, but I hope this works out. Ultimately if this required another refactor then I’ll bite the bullet to make my own SSG. Not thinking too much about that situation now, though :)

                      1. 3

                        I also have a suspicion that people might start to use themes as a way to emulate plugins.

                        You said something I had trouble articulating for a long time. The problem with a Turing-complete template processor as a sole extensibility mechanism is that presentation and logic are no longer orthogonal.

                        That is why I chose not to use either Zola or Hugo for a refresh of my own site setup, but went for writing an SSG that is statically linked but extensible with Lua plugins via an embedded interpreter. </shamelessPlug> ;)

                        Nothing against Zola or its users though, it’s a good project.

                        1. 2

                          Just as a small note, Zola totally does footnotes. I think there might be a page that lists which extensions pulldown-cmark enables out of the box. But your main point stands with or without this example :)

                          1. 1

                            As a Zola user who used several other solutions before, I’m 100% sure I’ll get tired of it. I already had to hack around limitations (or my lack of knowledge) while my blog is super simple. But it’s all about gaining some time.

                            I know that at some point I’ll have to do the switch to either another existing system or to one I’ll make. But I don’t spend time on that now and having a blog whose content is only in markdown and related images will make it easy if I decide to keep the content.

                            Zola is temporary but it’s easy to set up, and should be easy enough to replace when time has come.

                          2. 3

                            From all the SSG, Pollen[0] have been for me one of the most flexible and the one I find an interest to invest the energy. It is neither the fastest to render neither the most complete but it feels like a tool that you can customize so much. Maybe it is because is not a proper blog oriented SSG.

                            [0] https://docs.racket-lang.org/pollen/

                            1. 2

                              I can’t help but be amused that Pollen has a 19 chapter instruction manual and you need to know or learn a variant of lisp.

                              That said, racket really is fun. Definitely something I want to look at when I have time. :)

                            2. 2

                              I’m currently in the progress of developing my own custom CMS, because I’m, not 100% satisfied with Hugo and the tools I build around of it (for things like ActivityPub, MicroPub, Webmentions etc. – all the IndieWeb stuff). Hugo is great and static site generators in general are great, but once you have too specific needs, building your own software may be the last solution. I still post stuff though, I’m not just wasting time on developing and then post nothing. 😅

                              1. 1

                                One problem I have with Zola is that I want to cross-post to Gopher and Gemini, and Zola doesn’t have support for non-HTML templates, unlike Hugo. https://github.com/getzola/zola/issues/905

                                I recognize that this is a feature that adds complication and that many people do not need it, so more power to Zola keeping things simple. But it is something that may keep me using Hugo.

                                1. 1

                                  Zola does seem opinionated, but it happens to align with what I’m looking for in a small personal site generator. Just switched over and I’m happy to be rid of a lot of hugo’s complexity.