18 april 2023
catdeer haven - Hugo, Blogging, Gemini and Gopher


Up until recently (yesterday, at time of writing), I was manging my
sites on tilde.club by hand. I put a good bit of time to make my
`public_html` look nice, but entirely neglected my `public_gemini`
and `public_gopher`.

I was also using ttbq for my blogging. While it is a nice blogging
engine (calling itself feels rather than blog posts), it's not
being actively developed anymore, and it doesn't exactly have nice
gopher/gemini support.

I needed something else. Something that can generate not just html,
but gopher and gemini as well. And that's where hugo comes in.


# What's a hugo?

Hugo is a static site generator. You give it some markdown files,
you choose a theme, you run hugo, and out comes a website, with RSS
feeds and xml sitemaps. It even generates list-pages, making it
trivial to keep a blog: Just create a directory, place your blog
entries as individual .md files, and you're done. You can even add
a `_index.md` to add some extra content to the list page.

But it gets even better. Hugo allows you to write your css in Sass,
making my already bare-bones style.css even more simple and easy to
read.


# What was that about a theme?

Right, usually you start your hugo-site by selecting a theme.
However, if you're not planning on switching themes, you can skip
that step by writing a few html templates and placing them under
`project_root/layouts/_default/`.


# What about gopher and gemini?

I did almost consider not using hugo and just writing my own,
bare-bones static site generator for all my html, gophermap and
index.gmi needs, but: Hugo supports custom output formats and
custom filetypes.

You can just define text/gopher and text/gemini in your config
file, add a few extra templates, and et voilĂ , free index.gmi files
and gophermap files!

With the power of go-templates, you can even turn markdown
reference links into go/gmi links. That's why I've switched from
inline-style links to reference-style.


# Show, show!!

I've descided to version-control my site on tildegit, you'll find
it [here][site.git]
site.git