| 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 | |