Posts for 2020

This page provides an overview into what happened on Take on Rules during .

All Posts

Each year, most of what I write are blog posts.

In , I wrote 90 posts…

The 90 posts have about 115682 words, for an average of 1285 words per post.

For a Series

Some of these posts, I've written as part of a series.

I've Posted into 5 Series…


Every post I write, I tag with one or more tags. This year, I used 108 tags.

I've Tagged Posts with 108 Tags…

Below, I list the date I published the tagged post, and a link to that post.


Sometimes I go back and update posts with new information or corrections.

I wrote 66 updates…

Below, I list the date of the updates and a link to the updated page.


Sometimes I tinker with the structure or layout of the site.

I made and recorded 42 changes…

Below, I list the date of the updates and a link to the updated page.

Added an Embedded license declaration to the site; This allows me to mix licenses. An example of an embedded licenses is at A Refinement to the Ubiquitous Initiative Procedure.
Extracting data/glossary.yml file. Also extrating abbr.html and dfn.html shortcode. These are now part of the takeonrules-hugo-theme Git repository.
Re-arranging breadcrumbs for posts; They now belong to the more meaningful posts for the year page.
Removing accesskey attribute from elements. Following guidance from, the implementation is too haphazard and may conflict with screen readers.
Updating the year pages (e.g. /2020/) with additional metadata content.
Replacing “|” (eg. pipe) with “·” (eg. middot) as separator between paginator items and tags. This change reduces the visual weight of those separators.
Restructing the Site Map page. Instead of using a DL, I went with a SECTION tag and H2 tag. This markup better indicates the structure of my website.
Removing font declarations; Your browser allows you to pick those settings. Personally, for serif I’m using ETBembo, for sans-serif I’m using Helvetica, and for monospace I’m using JetBrains Mono.
Removing most line height declarations; I’m finding that the browser does a reasonable enough job. This is provisional, as line heigh is one of those tempermental aesthetics.
Removing pixel declaration from stylesheet; Your browser allows you to set those values.
Reworking semantics of marginalia; It’s complicated! Moving from INS to SMALL[role=note] and DIV[role=note]. These better represent the semantics. And reserves INS for updates of the document.
Switching back from RDFa to Microdata; RDFa assumes a much more XHTML format and validation, which is antithetical to my understanding of HTML. In addition, I encountered parsing issues where some attributes rippled into other objects.
Switched semantic markup from Microdata to RDFa for declarations. Microdata is limited to HTML whereas RDFa extends into other SGML-based languages. In addition RDFa is more mature and Microdata struggled to find specification editors.
Adding a Session Reports page.
Replacing series slug with series’s title in HTML > HEAD > TITLE and BODY nav.breadcrumbs. This means more human readable page titles for the series pages.
Adding a Privacy Policy.
Renaming header naviation from More Stuff to Site Map.
Replacing ↑ character with 📖 for rendering link to an abbreviation’s definition.
When rendering an abbreviation, only the first instance on a page contains a link to the definitions.
When a post is part of a series, I’ve added a Series Navigation to the top of a that page.
Further refinements to light and dark color scheme. I’ve added a few hover states and tightened up the colors. Also learned about CSS var.
Updated color scheme for both light and dark mode. The colors are drawn from Modus Themes.
Refined marginalia rendering. This involved removing unnecessary DIV tag and moving the role='note' to the INS tag. This change required that I classify the INS tag as either margin or side, which isn’t a bad thing to include. I also used printf in Hugo to concatenate the update shortcode for margin. This removed an unnecessary P-tag.
Updating Glossary to include more information regarding identifiers.
Updating the Updates page to use multiple DETAILS instead of TABLE.
Added tabindex to div that encloses tables. This builds on the guidance I found at Inclusive Components: Data Tables.
Adding underline values to most access key eneabled elements.
Moving Contact Me to footer; I have a contact me on the About page; I hope that’s enough.
Removing Blog Roll from top navigation.
Renaming Metadata to More.
Updating about page to include Access Keys for Take on Rules website.
Adding a Glossary page, which I hope tidies up the representation of the abbreviations, their definition, and their usage.
Deprecated Abbreviations page, as the Glossary page page better handles this kind of information.
Converting review blog posts to incorporate elements. The hierarchy is now WebPage > BlogPosting > Review. I’m not satisfied, as this results in two mainEntityOfPage itemprops, which could cause issues. However, the homepage operates as a This would need to change as Review is not a BlogPosting.
Adding itemprop='about' for tags mapped to defined items.
Removing JSON+LD representation in HEAD of document. Instead favor Microdata format.
Added Dark Mode via CSS selector @media screen and (prefers-color-scheme: dark)
Adding accesskey w for any webmentions/pingbacks.
Exposing webmention and pingback end point.
Adding JSON+LD about attribubte to relate tags to their corresponding Wikidata entries.
Adding shortcode to render ABBR tag, with conditional itemscope links to corresponding Wikidata entries.
Adding rake audit:visual to provide a quick smoke test of CSS/UI changes against a representative sample of pages.
Removing Mousetrap JS. The last key that I had was Ctrl + s; It disabled the stylesheet. I have sinced mapped hotkeys for Firefox to do the same thing.
Updated margin figures to render in a FIGURE tag. Prior to this they were in an ASIDE P CSS selector. As both are block elements, I opted to remove the ASIDE P in favor of the singular FIGURE. This also gives me a FIGCAPTION tag that helps add context to the figure.
Adding the page number to the HTML HEAD TITLE where applicable
Adding to the home page each post’s headline or description (if one is present).
Adjusting the homepage layout. Moving away from my beloved DL-tags to simple P-tags.
Adding table of site-wide abbreviations, their meaning, and links to referenced pages.
Adding ABBR tags to most first instances of an abbreviation in a each page.
Fixing updates declared as sidenotes to render in the margin and not render content following the update outside of P-tags.
Moving breadcrumbs and paginator out of article.
Removing search input box in favor of top level navigation.
Adding html { scroll-behavior:smooth; } CSS.
Adding index number to homepage OL elements. These numbers now map to their corresponding accesskey; The first entry, has an accesskey of 1. The 10th entry has an access key of 0.
Improving accessibility by adding accesskey attributes to HTML elements. Removing Javascript for triggering keys that now have an accesskey.
Moved /years/ to /more/years/ (preserving old URLs)
Removing alternate JSON rendering of pages. The rendered JSON was JSON+LD which is already imbedded in the HTML version of the page.
Removing extraneous HTML elements. In removing these elements, and moving towards less block level elements in the top navigation, the No Styles rendering of the headers better reflects the CSS version.
Reworking CSS to align margin and main column content when content starts with a margin element.
Search via Lunr.js now uses /search.json instead of /index.json.
Fixing long-standing hidden bug in which the RSS feeds had relative URLs.
Adding word count to Years page.
Adjusting CSS for smaller screens to increase spacing between links.
Reworking semantic markup: Moving breadcrumbs outside of article tag; Changing metadata and related posts from an aside tag to a footer > nav
Removed footer links for RSS and Email. Those are in About and Contact Me. The graphic fonts did not render well.
Adding mousetrap.js to add hot keys: Ctrl + s toggles stylesheets, Ctrl + p goes to previous section (if on exists), Ctrl + n goes to next section (if one exists), Ctrl + 0 goes to the home page, Ctrl + 1 goes to the second menu item (About), Ctrl + 2 to third (Contact Me), etc.
Adjusting rendering order of navigation and article H1 tags.
Favoring the <ins> tag for margin and side notes. This creates a more satisfying behavior when stylesheets are disabled.
Removing toggle-ability of sidenotes. The HTML requires an input element, which looked odd in RSS feeds.
Adjusting semantic markup of the site.
Minor semantic changes to the HTML; In reviewing the semantics they are not quite right.