Finally, finally, I’ve done the much-delayed revamp of my entire website. I’ve migrated from the old, beloved, completely custom and somewhat janky content management system to jekyll, a new, irritating and somewhat janky content management system. I’ve also gone through and tried to recover the publication dates for a lot of the really, really old stuff — some of it’s undateable but at least two pages date back to 1995. I can also publish stuff in both Markdown (like this one), and I can also drop WordGrinder files straight in and they’ll work. Nothing should have moved and the new styling is completely Javascript-free, so it’s snappy and quick to load. Although it does need CSS3. Old Internet Explorer users will be out of luck.

I had to give up on my old photo gallery tool which used Google Photo’s API, because the API doesn’t work any more — unauthenticated users can only see public albums, which is fine, except you can’t make public albums any more, so it’s pointless — and wrote a new one which screenscrapes album links and fetches the images and caption text. And looks much better to boot. There’s a whole new Commentator frontend, this time written in Typescript with no external libraries, and it’s smaller and better. And there are even new fonts! Although I’m not entirely sold on them. The serif italic style is a bit clunky.

So, Jekyll… um. Not really impressed. The documentation’s inadequate, the markup language is pretty crufty and full of edge cases (e.g. there’s no not operator; the language in assignments is entirely different from the language in if expressions; the error reporting doesn’t show line numbers…), and there are some pretty questionable design issues (page.content contains either the raw Markdown, or the rendered HTML, dependending on whether the page you’re looking at has been rendered yet; so unless you can control the render order it’s largely useless. I ended up having to monkeypatch the code to make it do what I wanted in lots of places.

But anyway, it works. I’d still like an HTML and Javascript minification pass, but life’s too short.

Now I can get on with my next project.

Update, 2017-10-25: Turns out that Google Fonts doesn’t give you the italic forms of the fonts by default. You have to explicitly ask for them. So the web browser was falling back to the terrible default serif font. Fixed now, and picked different and nicer fonts.