David Donachie's Website

Skip Navigation


Just a place for the odd thoughts, updates, and the detritus of my mind that doesn't belong on social media.

Showing posts tagged js

Posted: May 23rd, 4:39am


It is amazing how much housekeeping a website can require!

Recently I began a project of updating my website in a few small ways, one of which was adding support for this blog. At the same time I addressed a few code bugs, and added a few features to the CMS (Gecko) with which the site is built. So far, so much normal code-tinkering.

But then I made the mistake of looking at the Site Map — and I was struck by the accumulation of ancient pages, and even categories of pages, that I'd entirely forgotten about. I got sucked into pages about the Battlegrounds card game, pages about old RPG campaigns, pages about Playmobil.

And then, of course, the errors began. I found old bits of code that no longer worked. Pages marked out in obsolete versions of the page templates — lacking my new navigation or editing elements. I found dead links — so many dead links! I found pages that were wrappers around projects that no longer existed. Out of date pages describing things I planned to do with the CMS two decades ago! (Urk!). I've removed a whole bunch of "Pages I like" or "Links" pages where no link worked.

Even this was only the upper reaches of the rabbit-hole. As soon as I started to look at older templates (e.g. the plain template used for Duality v.2.4) and add things that were missing (open-graph properties, facebook comments, font-encoding meta tags), I realised all the other things that none of my templates had: skip navigation links, screen-reader headings, aria-tags, semantic use of heading/nav/main/footer tags, so I had to add those to all the templates, not just the old ones — and if I am doing that, I reasoned, then why not turn the breadcrumbs into ULs, and the floating divs into ASIDEs and ... and ...

Somewhere along the way I found myself adding Bootstrap for the css (and coping with undoing the bits of Bootstrap's Reset that I don't like), and then the js on some pages (for image carousels), and then more js (to implement new admin-mode editors), and so...