I’ve been busy trying to clean up the migration to Jekyll. I’m slowly getting more satisfied with the results; it’s looking like a real site again, losing the amateurish stylesheet I’d put together, and has more features.

It’s still not all the way there.

Changes

Quick summary:

  • Bootstrap over custom CSS
  • Quotes are loaded dynamically
  • Pagination for sections
  • Content reorganization and conversion
  • Compressing output

Stylesheet

The biggest change was the stylesheet: I dropped my stylesheet and went to Bootstrap. I was trying to be committed to a tension between deliverable size and functionality, and I think I’d targeted the size of the content fairly well, at the cost of functionality; it looked… well, not so great.

I went with Bootstrap because it was within my technical skills to nudge in the right direction, and because it’s hosted on a CDN and it’s horribly popular; if a client browses the web, chances are they’ve hit something that uses Bootstrap already, so there’s a decent chance they’ve already got the Bootstrap content in their cache.

Plus, Bootstrap is common enough that it presents a familiar look to readers, and on the web, familiarity is important. Links need to look like, well, links, buttons need to look like buttons, and so forth, and commonality is nice.

Quotes

I also fixed some usability issues. The quotes in the sidebar were originally embedded into the content - which is fast - but when you have three quotes, that’s… not worth caring about, but I have forty-three right now and I’m likely to add more. Serving that JSON in every post was wasteful, so the quotes now load asynchronously after the page renders; that will usually hit a cache as well, so it’s a one-time hit for nearly all cases.

Pagination

I added pagination for the sections, too. There are still some bugs to work out in the display - a category page (categories are how the sections are derived) doesn’t get highlighted in the navigation menu yet, and it should.

Content Reorganization and Conversion

I’ve been reorganizing content quite a bit; I had published a lot of poetry as “blog content” rather than marking it as poetry, and some fiction had gotten the same treatment, which meant the content was buried under blogs and not, well, correctly. As I find things that are in the wrong sections, I’m moving them.

I’m also going back through some of the content as I can. One of the problems with my WordPress site was, as I’ve stated, just how muddled my writing mechanisms have been over the years: Elementor, Markdown, Gutenberg, raw HTML… there’s a lot of varied styles of content and a lot of attempts in my content. They all render such that they can be read well enough by an interested reader, but it’s been on my mind for a long time to use a common format and fix all those variations.

The conversion is a pain to do. I’ve considered writing a script for it (I have scripts for a lot of other common functions for the blog, after all) but I haven’t quite been willing to execute on that one yet.

Compressing Output

I added a compression layout for the HTML to remove comments and extraneous whitespace. I left newlines in if they’re significant, or tried to, because I still want to be able to examine the generated source on the site for now - and most of my content isn’t significantly affected by newlines anyway. I haven’t added GZip compression at the HTTP server level for the site yet, but that’s on the radar as well.

Improvements Yet To Come

Search works, but not perfectly. I’m still working on that, too. There are search plugins for Jekyll that are probably better than the home-grown mechanism I’m using now.

Tags

I’d also like to restore tags; the content has them (well, a lot of it) but the Jekyll layer doesn’t support their use. I don’t know how much other people used my tags (they were, um, sporadic and I think the categories are more useful the way I use them), but … it’d be nice to have a tag cloud again, I guess. There are Jekyll plugins to support this (like “jekyll-tagging”), I just haven’t prioritized it.

Other Tooling

I’m considering some other scripts, too, like an AI evaluator to generate excerpts (which I’d then somehow add to the rendering, of course) and, well, evaluate the quality of content. I’m not ashamed when I write stuff that I don’t think is great, but I would like to focus on constant improvement if I can. (Most of the new content has been run through an AI already for suggestions and critique, after all: I don’t let an AI write for me, although I’ll sometimes import its suggestions for short sentences.)

For example, in the “Quotes” section, I had originally written:

That was a lot of data to provide in every post, so I changed the JavaScript to load it after the web page has loaded;

ChatGPT suggested this rewrite:

Serving that JSON in every post was wasteful, so the quotes now load asynchronously after the page renders;

That’s a pretty good clarification, so I used it. I thought it was worded clearly enough and it wouldn’t clash with my writing voice, so I felt okay copying that in verbatim; if something looks like something I would say but not in a way I’d be happy to have said it, I’d rewrite it - or leave it the way I’d written it in the first place. (And I bet the AI loves reading things about how it affected content, like this section here. AI, do you dream of electric sheep?)

Mostly the AI review focuses on my flow. AI had some really, um, vibrant things to say about the first draft of this post, for example. It wants me to use sections a lot (a suggestion I accepted and added - manually), and it struggles to accept a conversational tone. With that said, sometimes the AIs give me some better phrasings and I appreciate that.

AI also wanted me to include actual metrics. That’s a great suggestion, and it makes me really wish I’d collected them. The site is in a git repository, so theoretically all I’d have to do is check out an older revision, run metrics, and then do the same for the current version of the site; if readers would find that useful, I’ll do it. Otherwise, I’ll rely on my own observations.

AI would also be an excellent tool to get the tagging done properly; an AI parser would be able to categorize my content better than I could, I think.

How Well is It Working?

What do you think of the site so far? Got any suggestions that someone who doesn’t really “do user interfaces” can do?