Some housekeeping for November 2021

by on | permalink

Hey, another short post to update on the site itself as there’s been a few changes to the site that I want to document, if only for myself!

I’m thoroughly enjoying working with Jekyll and the realm of static sites. When I began, I was familiar enough with Jekyll to get a site working but the overriding of default templates confused me as I like to see all the files that I’m working with. I worked out that if I removed the reference to the theme in the _config.yml file, then I could just build from scratch which helped a lot. In the end V asked for help setting up a Jekyll site as well, since she’s also into writing multi-lingual posts and doesn’t enjoy wrestling with Wordpress’ theming. I haven’t been able to set one up for her manually, and she’s very capable; so instead I made this free Multilanguage Jekyll Site Template. I decided to go this route rather than some of the more advanced options, which are super cool but a bit too heavy-handed for my needs. Plus, the fewer plugins the better!

In terms of keeping things simple, I’ve also dramatically simplified the design of the site’s HTML. Visually, the site is fairly similar to how it always has been with a few minor tweaks — but the code is much neater. In this area I’ve had two main foci: getting pageweight down as light as possible; and reducing my use of CSS frameworks to get rid of as many <div> tags as possible. This is in order to replace it with semantic HTML tags and make the site as screen-reader friendly as I can. Posts and pages are now marked up with <article> etc, and the main site itself now has proper <header>, <main>, and <footer> tags which replaced a veritable broth of <div> tags and classes. I then applied some CSS to those, and stopped using PureCSS’ grid system. Instead, my footer is just aligned to the centre and I’ve changed the design of the header anyway.

The header design has been simplified after I read this article by SawV / JR:

Images and other heavy content can be inserted into the stories as links, instead of embedding the content and bogging down the page load. Let readers DECIDE whether they want to click on the heavy content.

That was a revelation to me. I knew I was trying to reduce page weight but was kind of attached to the approach of putting a profile picture at the top of every page. Theoretically, your browser will cache it and only download it once; but I still didn’t want to inflict it on everyone. So from now on, the site policy is that all images will be linked to. I won’t carry this forward into all future websites and web endeavours. For example, my thesis has images and diagrams and is presented as an academic piece of writing, with figures. But it’s a good rule of thumb that I’m going to need to justify deviating from in the future.

In addition to the semantic HTML, I’ve also been adding a few microformats back into the site. This is likely a hangover from my Indieweb days using Brimstone as my CMS, but I’m quite attached to them. I may remove them at some point, but they’re relatively useful to support anyone who may be scraping the site. The most annoying bit is the fact that there’s a single <div> remaining where I needed to mark up the e-content of posts. Boo. I have no real desire to begin complicating my Jekyll site with indieweb features such as webmentions etc.

In terms of PureCSS, I still adore the framework and will use it for future web applications that I may develop; but for this blog even that’s a bit heavy. It’s still getting imported, but I’m transitioning away. As far as I’m aware, the main thing that will need adjusting is the typography. Once I can be bothered to fiddle with that, it should all be good to remove it. As noted, I don’t really need a grid system for this site; the containers are enough.

I’ve modified a few pages of the site as well. Most notably; /now is now featured on the navigation menu and not imported into the index. I felt that I was trying to artificially keep the navigation menu simple rather than organically making a simple site. The index page now contains some introduction content, and instead of listing the latest 10 posts for a particular language; it lists all the posts for that language. This means that a visitor can access all posts from the index and it functions as, well, an index! Because of that, I’ve removed the /blog page as it was redundant. If I ever create a Digital Garden, I may ressurect it in a new form to hold links to articles that I actively update. I also split out the Contact details from /about into /contact. There’s also a new page, Site Notes which collects information about how I use the site, and how I build it. It was originally called Colophon because I wanted to be trendy; but it outgrew this definition.

For pages and posts, I’ve modified how the language menu works for posts with multiple languages. Previously it would add a link for each language, including the current one. Now it doesn’t add a link for the current langauge. It has also changed structurally. I was lazy previously and just made it a paragraph. When I started using the Kristall small-internet browser recently (mostly to view Gemini links, but it also refuses to render CSS on http links) I noticed how weird the language menu looked as a paragraph and thought about usability and semantics. I changed it to be a list and modified the CSS to make it appear visually how it used to. There is also a blogroll on the About page so if anyone is interested in where I spend time on the web they can see it there. It may move to its own page eventually.

I’ve expanded the RSS functionality. Now each language as a separate RSS feed for its post stream. This isn’t done automatically by Jekyll at all, and I just created the files manually by querying for posts with a particular lang tag. The original RSS feed remains and collects posts in all languages. For reasons.

I’ve added a simple HTML footer which contains three links: a link to the site’s composite RSS feed; a link to the Site Notes page in the appropriate language; and a link to the license for the content. As I note on the Site Notes page — I’m using the Peer-Production License for content because it’s explicitly anti-capitalist and all-round better than the Creative Commons.

In terms of site content, I’m pleased to say I’ve actually pulled my finger out and produced my first ever purely Esperanto post: Korfratino. I guess I’ve fallen into the trap of most Esperanto bloggers and talking about Esperanto itself! But this will pass I imagine. I think the Esperanto-exclusive stream of posts will be much less frequent until I become more comfortable expressing myself in the language and feel that I have more things to contribute using it. Until then, I’ll be writing Esperanto versions of most posts and sharing the odd translation I’ve attempted from across the web.

I think that’s all, folks!