In a paroxysm of inspiration and productivity, I spent the last weekend building my new domain-level website**, including making a fansite (a “shrine” in fandom jargon). Atom.io text editor on one monitor, web browser on the other monitor, with CSS Reference and W3Schools for reference, and a bunch of personal websites and domains for inspiration. The fansite took up most of the weekend: Took an old layout I created years ago, updated, streamlined and enhanced the markup; in between that, I did a ton of research and “content creation”.
**Have to deal with a few things on the backend over the next few weeks (including, er, migrating to a new domain that I recently bought), but soon, there will be NEW STUFF on my domain! Hooray!
Partway through, it dawned on me that I was enjoying the webdesign process. Earlier I’d ranted about my woes of manually converting my Tumblr into a static site built with Hugo. Quite a vast difference between these two experiences!
Once upon a time, I was advised not to conflate ‘programming’ with ‘markup’. They’re all code, but markup is about presentation, while programming is about making computers speak to each other. Now I realize that this represents different degrees of language immersion in the world of coding. Markup languages like HTML and CSS have a certain clarity and correlation to human language that makes them intuitive to understand, whereas progrmaming languages require you to learn a new language before you can even begin to communicate with computers.
It dawned on me why building my fansite was fun this time around: I was coding HTML and CSS by hand, interleaving it with fannish research and original writing. It was markup I was coding, whereas I was programming in Hugo. Making website layouts and getting CSS to do what I want is sometimes frustrating (“What is this persistent 3-pixel gap at the bottom of my site header and banner images, and why isn’t it removed by margin: 0 and padding: 0?” is my current bugbear), but wrangling Hugo produces a different kind of frustration — one of impotence. CSS – we may disagree on how to present a webpage, but ultimately, we understand each other and just have to use more precise words. But talking to Hugo requires me to learn a new language before I can even start telling it to do the things; until I do, it remains serenely opaque and inaccessible.
Now I learnt HTML and CSS in my early teens, so it’s a “language” I’m familiar with, although I still need a reference manual on hand when designing websites. Maybe that’s why I look so favourably on it. But I asked myself, “Is learning Hugo worth it?” At the end of the day, all I want is to create a webpage that presents my thoughts and ideas. Layouts for my domain and fansite took a bit of time to set up, but the bulk of time later was spent doing research and original writing — stuff that’s WAY more fun. I’d rather be doing this instead of poring through (sometimes obtuse) documentation and brute-force-trial-error-ing programming tags, and getting infuriated because I’m now lost in the weeds and it’s just dragging me away from the thing I really want to achieve.
So, learning Hugo is not worth it; programming is not worth it. Markup is the element I want to stay in.
(Aside: I wrote an interactive-fiction story in Twine last year. Learning Harlowe, the coding language behind the Twine interface, was reminiscent of learning HTML/CSS: slow going, with lots of trial-and-error and messing about, but there was something about it that made the learning and the challenge a satisfying one, especially since it meshed so gracefully with the story-writing aspect. I wrote and coded my IF story in a week — spiral notebook and pen for the story text, Twine and the Harlowe manual in a browser window.
(Harlowe is a markup language. Now it makes sense why I enjoyed it.)
This blogger wrote in praise of making websites in plain HTML/CSS. (Link via.) I’m becoming more convinced of his claim. I was initially attracted to the static-site generator’s M.O. of separating content from structure: if I can basically “set and forget” Hugo, and then focus on content creation, it should be okay, right? Maybe. That article brings up the friction inherent in code-switching, and I can’t deny that moving between Hugo programming code and Markdown (for content) is getting quite tiresome.
Still, I’ve imported about half my Tumblr to a static site already, so it’s best to carry on with the experiment. Probably have to just keep it in Hugo, do what I can with the programming and markup, and just put up with the mental friction of having to push my content through what is effectively a black box. But I think I know what my webdesign M.O is for the future, and it won’t involve programming.