Comment on [Debian Stable] Which Static Blog Generator: blag, Jekyll, Hugo, Lektor, Pelican, staticsite?
OmegaLemmy@discuss.online 3 weeks agoSelf host and third party exists. You probably could use Lemmy as a shoddy way to make comments too
Comment on [Debian Stable] Which Static Blog Generator: blag, Jekyll, Hugo, Lektor, Pelican, staticsite?
OmegaLemmy@discuss.online 3 weeks agoSelf host and third party exists. You probably could use Lemmy as a shoddy way to make comments too
A_norny_mousse@feddit.org 3 weeks ago
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:
moonpiedumplings@programming.dev 3 weeks 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: 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).
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: 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. But 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:
Image
(source)
But the point I’m trying to make is the same. Don’t sweat the setup too much.
A_norny_mousse@feddit.org 3 weeks ago
Thanks for the breakdown, this is really helpful.
It kind of confirms my unclear suspicions concerning Hugo.
Looking at its templating language, it looks daunting.
Looking at Jinja, it looks identical to Twig. There’s at least one other templating language that is almost identical. I wonder why that is, or where the actual differences lie (not the underlying mechanics, but the spec).
What I thought was my biggest requirement actually isn’t: I tried Zola yesterday, it is not in Debian’s repos, but it’s a single executable, unzipped straight from their github and Just Works. Everything becomes easier when you don’t have to worry about software that connects to the world (assuming the generated HTML is 100% safe of course).
But I’m also trying Pelican. I don’t care if it’s slow.
OmegaLemmy@discuss.online 3 weeks 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