this post was submitted on 21 May 2025
61 points (95.5% liked)

Selfhosted

46672 readers
690 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
[–] OmegaLemmy@discuss.online 1 points 16 hours ago (1 children)

I like Hugo, though it's been the only one I used. May get too involved, and some themes have features others may not have, for example, comment integration may not exist for some themes.

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

That's usually fixable with templating. What sort of comment integration? Some third party I guess?

[–] OmegaLemmy@discuss.online 1 points 13 hours ago (1 children)

Self host and third party exists. You probably could use Lemmy as a shoddy way to make comments too

[–] A_norny_mousse@feddit.org 1 points 13 hours ago (2 children)

Self host

On a static site generator? Can you link me to that please?

What about Hugo's templating language? It's been said to be daunting:

  • "It gets admittedly more complex if you’re wanting to write your own theme though."
  • "But as soon as you do want to customize it, you’re stuck learning one of the most esoteric languages that wasn’t meant as a joke."
  • "The documentation is unclear and there’s a chicken and egg problem about how to learn Hugo."
[–] moonpiedumplings@programming.dev 1 points 42 minutes ago* (last edited 40 minutes ago)

Alright, this is gonna be long.

Firstly, yes, different static site generators have different templating langauges. But just like normal programming languages, it is easy to transition from one templating langauge to another. If you take a look at the syntax:

Not drastically different, but reading the docs, they are all similar enough, and easy to learn.

I wouldn't call go's templating language "esoteric", but it should be noted that jinja2 is has other uses, most notably it is the templating engine that Ansible uses.

As for the docs... This could probably be a blog post by itself.

Firstly, take a look at this website: https://killedbygoogle.com/ . Google has created and then killed 296 projects, many of which were actively used and working. Why?

This is because, internally at Google, you get promoted if you either A: write software, or B: add more features to software. So what happens is people write software, get promoted, and then realize they don't get paid more if they actually maintain that software, so they just kill it. Also, they forget to write documentation (because it doesn't pay more or get you promoted).

Hugo, is by a Google Engineer, and it shows (or at least, it used to). Software by Google has two distinct characteristics (actually 3 if we count being written in Go).

  • It has every feature you could ever want, even stuff you haven't heard of
  • And it's poorly documented. Or not at all lmao.

But, "being poorly documented" is not a permanent fixture of this software, but instead something that mostly persists for as long as it's Google software. Often, these projects get "adopted" by the wider community, who fixes up their documentation. Looking at hugo's docs, it doesn't seem be nightmarishly bad, especially for the core, main set of features. Like the setup docs appear to be clear (although a more complex process than alternatives).

But like, for search options: https://gohugo.io/tools/search/ . That google software pattern continues. There are like 10 options on the page, and no docs from hugo on their usage/installation lol.

Anyway, I would recommend eithier Pelican or Jekyll, given your requirements. Because everything you write is in markdown, it will be fairly easy to move from one static site generator to another, even if you are dissatisfied.

Also, kinda sorta relevant:

(source)

But the point I'm trying to make is the same. Don't agonize over selecting the perfect static site generator.

[–] OmegaLemmy@discuss.online 1 points 12 hours ago

I was fighting with my linter tbh still have no clue how to write html in go like its php

And, for the comments part, I haven't looked into it, it's likely just a JavaScript file that connects to your server or an external one and pulls all data and whatever, its the single dynamic part and it's done with js