The site now has polygot markup and can handle both XHTML5 and HTML5
parsing rules. My staging site will be XHTML but my main site will be
HTML5, just in case of parse errors.
If other tools (e.g. LightHouse) end up supporting XHTML5, I'll consider
switching the content-type to XHTML.
- Adopt more shortcodes in older posts.
- Contain figures, excluding images. Slightly decreases paint times.
- Fix spacing issues for nested articles.
- Always enable vertical scrollbar, since pretty much all pages are
taller than the viewport. Eliminates a layout shift.
- Moar microdata
- Set fixed updated dates for some posts so they don't get new
date-updated values until I actually change the content significantly
Adjust margins/paddings to actually meet the 48px recommended
tap-target size.
Also get rid of the unstyled-list class. Now my stylesheet only uses a
single class; everything else is actually-semantic-markup.
- Don't auto-minify HTML but minify other resources, inc. the RSS feed
- Manually optimize whitespace a little to balance readability and
compressed size
Order is significant for the ToC and post list so make them ordered.
I opted to make post-lists a reversed list, so I don't end up having
every post change its number every time I post.
Pulls content exported from Buku, so I don't have to commit every time I
add a bookmark.
Since I added another nav item, I had to adjust the navbar css.
Update the Makefile to download the old version of the site, run
static-webmentions, and collect the WebMentions to send in a json file
saved as a build artifact.
Don't send these automatically; just save them for now. Until I work out
a solution to save sent WebMentions and avoid sending duplicates, I'll
keep the sending of WebMentions manual.
For some reason this caused webhint's axe/aria test to error out with a
"Protocol error" so I disabled it. Axe tests are covered by Lighthouse
anyway.
I previously removed this from <head> because the first piece of
metadata should be setting the charset to utf-8. This commit adds it
back, but to the bottom of <head>.
- Add a cache-busting fingerprint to all the icons in the webmanifest
- Add a <meta> and open graph tag for a description.
- Include a 512px icon in the manifest
Pages without highlighted code blocks don't need to load syntax.css; for
those that do, simply declare "highlight: true" in the front matter to
load the stylesheet separately.
The sight of an animal using a JavaScript captivates Computer Scientists
and laymen alike, perhaps because it forces us to question some of our
ideas about human uniqueness.
Does the animal know how JavaScript works? Did it anticipate the need
for the tool and select it instead of Haskell or Zig?
To some, this fascination with JavaScript seems arbitrary and
anthropocentric; after all, animals engage in many other complex
activities, like Agile Planning and ordering Juice on the Internet.
However, we know that complex behaviour need not be cognitively
demanding.
JavaScript development can therefore provide a powerful window into the
minds of animals, and help us to learn what capacities we share with
them — and what might have changed to allow for the incontrovertibly
unique levels of technology shown by modern humans, such as integers and
block scope.