I ran my own blog for many years but recently I suspect my server got hacked, and after reinstalling I want to do things a little differently.

I’d like to move away from PHP and I don’t really need a dynamic CMS anyhow.

So far I’ve been using PicoCMS which serves content from markdown pages with a little header. I got quite good at it, wrote my own theme and a few plugins. The templating language is Twig so something similar would be a boon for me.

Writing content in markdown is my most important requirement, or rather reusing the existing pages with as little massaging as possible. Here is one example:

---
Title: Create WiFi Hotspot with NetworkManager
date: 24.11.2022
Tags: archlinux,android
template: post
---

# Make sure required depenencies are installed

blablablablablablablabla

I really want a tag cloud, which used to be my only sorting mechanism apart from date. Most generators, at first glance, offer a tags page. Honestly I have no idea if I’d have to template the cloud myself but tag functionality seems to be common, I guess?

What I don’t want is any sort of web UI or even builtin server functionality or other bells and whistles for the user. I prefer to ssh into the server and do things on the CLI.

Now my most important constraint is that I want to use what’s available in (or as a) Debian repositories. After a quick search around it boils down to:

Searching for similar topics I found this and this. I read all the comments.

TIA


edit: Lots of people mention Hugo. Why would I choose that over, say, Jekyll or Pelican?
Personally I feel drawn more towards Python than Go or Rust, and a Twig-like (e.g. Jinja) templating language. If that’s idiotic, please let me know why.
Also please remember I’m not running a github (or other similar VCS) page but have a dedicated VPS running Debian Stable. Deployment or containerization are of no interest to me.

  • manxu@piefed.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    16 hours ago

    I went the same direction, from WordPress to static site generation. I did the same evaluation as you are trying to do and ended up with Hugo, mostly because there is a lot of support available for it. My runner up was Pelican, because I was fluent in Jinja2, but I didn’t want to mess around with the templates and Hugo’s were prettier. Sue me, I am shallow.

    The one regret I have about Hugo is that the templating language is challenging. I am trying to be as neutral as possible, but it seemed like even simple things were complicated to achieve. If someone would come up with a Hugo that speaks Jinja2, I’d be really delighted.

    Other than that, conversion from WordPress to Hugo was relatively straightforward, despite needing to find a gallery component and converting menus. Hugo is indeed very fast in processing, which become important when your blog has thousands of articles.

    I set up the blog as a private git repository. The server pulls from it, then runs Hugo and a full text search engine, and the content is visible and searchable within five minutes on update.

    • A_norny_mousse@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 hours ago

      My runner up was Pelican, because I was fluent in Jinja2, but I didn’t want to mess around with the templates and Hugo’s were prettier.

      I think you’re the first one mentioning Pelican. Apart from the theming, would you recommend it? I’m familiar with Twig.

      needing to find a gallery component

      Oh yes, that would also be relatively important to me. Again, does Pelican offer that?

      • manxu@piefed.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 hours ago

        There must have been a gallery component, since I only looked at generators that had one available.

        Honestly, in hindsight the templates were really not a big deal. Just for fun, I tried converting the Hugo template I used to Pelican, and it was easy for me.

        Pelican is solid and mature and I would use it, in hindsight. The only major flaws are that it’s much slower (but makes up for it with incremental builds) and that the community is much, much smaller. On the plus side, Jinja2 is much, much, much better than Go templating (Hugo borrows from Go).