Hello, Hugo
Building a digital garden means reclaiming digital independence and that means moving on from WordPress. This is how.
If I’m going to be taking notes rather than blogging, I need to be able to write on the go and I need to be able to fit it into an existing workflow. I think that was the motivation behind switching to WordPress back in the mists of time: it made making a website easy and it had a mobile app that I would could (didn’t) use to write blog posts, update plugins, and fiddle with things that needed fiddling with.
I used the WordDown plugin to export my WP site as markdown files (portable, platform-agnostic) and shoved the whole lot into Obsidian, where I can compile, sort, and catalogue them in my teabreak or on the bus.
I explored Hugo and Grav as tools to change MD files into HTML. Ideally, I wouldn’t be reliant on a framework at all, but I know my limits and something worth doing is worth half-arsing.
I’ve gone with Hugo, for now, partly because I found a theme I liked but also because it outputs plain HTML files that I push to my server and I don’t want to be dependent on another CMS. With Hugo, there’s no on-demand conversions and, if it all goes pear shaped, I still have a functional website and I could either write a script that converts markdown files into HTML or use one of the myriad of other technologies that seem to do the same thing (Jekyll, Eleventy, tiddlywiki, etc).
The question of feedback for this “learning in public” arrangement was touched on by Anne-Laure Le Cunff in How to set up your own digital garden, with webmentions.
Hugo doesn’t support backlinks by default, but I found lots of methods for creating a code snippet which automatically creates backlinks. I tinkered aroud with Gabrielle Earnshaw’s method, Aarón Fas’s method, and kaushalmodi’s method.
I liked these ones because they do the backlink calculation as the site is generated. Yes, it’s a little heavy, but this isn’t (yet) a prohibitively large website and I want to keep as much content as possible transferable between platforms. In the end, I decided on Fas’s method - Earnshaw’s uses a parameter in the frontmatter to do the heavy lifting and I don’t want to introduce more friction, while I couldn’t get kaushalmodi’s method working – I assume it’s an issue with the regex. I’m sure I could figure it out with time but that’s not a luxury I have right now.
What’s interesting is that some of the methods I saw defaulted to sorting chronologically – something I probably wouldn’t have noticed, had I not read Amy Hoy’s How Blogs Broke the Web. She’s right: we didn’t always don’t like this and maybe we shouldn’t always do it like this. What benefit does it serve to have recipes organised chronologically? Or thoughts in a journal, where the most recent will, inevitably, be the least-developed?
Hoy also has me questioning my use of prebuilt themes instead of asserting my dubious graphic design skills over my corner of the web again. For now, I think it’s a case of “done is better than perfect”, but I’ll keep kicking around the idea to design my own theme/style my website until I either do it or forget about it.
So here we are for now: one Obsidian vault exported to Hugo, which – with a few tweaks and add-ons – exports to HTML, which is pushed to my server via an FTP client.
A little technical, a little old-fashioned. It suits me.