this post was submitted on 21 May 2025
78 points (96.4% liked)

Selfhosted

46677 readers
576 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] gabmus@lemm.ee 3 points 1 day ago (1 children)

I use hugo a lot, I also made my own static site generator called Rubedo which is very similar in concept to hugo and other similar SSGs, but with much more of a "batteries not included" approach. The idea is that existing SSGs are nice but if you're trying to build something that is not a blog or blog-like thing it starts getting cumbersome, and that's where rubedo comes in.

I think most people here (me included) suggest hugo because it's simple very well supported, although not without its issues: the templating is a bit obtuse and again if you're trying to diverge from the "blog" archetype you're gonna need to do some trickery in my experience (I made a quite complex theme for hugo so I would know).

If you're feeling like messing around with a different approach and doing more work you can try out rubedo, maybe even open an issue or two along the way. Another thing that you might like about it is that rubedo uses Tera for templating, which is heavily inspired if not mostly identical to jinja2.

[–] A_norny_mousse@feddit.org 1 points 1 day ago (1 children)

Isn't that the same Zola uses?

Please riddle me this: why are there at least three templating languages - Jinja2, Twig, Tera - that appear to be identical, yet distinct?

[–] gabmus@lemm.ee 1 points 1 day ago

They're template engines, not languages. They use a language and different engines may have similar if not identical languages.

There are multiple engines because each engine is usually made for a specific programming language: jinja2 for python, tera for rust and idk about twig.