Skip to content

fix: spell product names and acronyms correctly in tag titles - #60

Merged
abrichr merged 2 commits into
mainfrom
fix/ledger-2026-10-10
Oct 14, 2026
Merged

abrichr merged 2 commits into
mainfrom
fix/ledger-2026-10-10

Conversation

@abrichr

@abrichr abrichr commented Oct 10, 2026

Copy link
Copy Markdown
Member

Tag pages on the blog misspelled product names and acronyms. For example, the UiPath tag page was titled "Uipath" and the RPA tag page "Rpa". This pull request gives each affected tag a term page with the correct title, and adds a test that fails when a published post uses an acronym or brand tag that has no term page.

Fixes

Problem Change Regression test Ref
Hugo built tag titles from the lowercase slug, so eight tag pages showed misspelled names: Api, Autohotkey, Gui-Automation, Openadapt-Flow, Openemr, Power-Automate, Rpa and Uipath. The wrong names appeared in each tag page's title and heading, in the tag links on posts, and in the tag RSS feeds. Added content/tags/<slug>/_index.md for each of the eight tags, with the titles API, AutoHotkey, GUI Automation, openadapt-flow, OpenEMR, Power Automate, RPA and UiPath. tests/test_tag_titles.py runs in the existing python3 -m unittest discover -s tests CI step. It fails if a published post uses an acronym or brand tag that has no term page with the expected title, or if a term page has no published posts, which would publish an empty tag page. It reads both YAML and TOML front matter, so drafts created with hugo new don't break it. When Hugo and the theme are installed, it also builds the site and checks each tag page's <title> and <h1>. B238

Not fixed here

  • The tag list at /tags/ still shows every tag by its lowercase slug, for example "uipath" and "rpa". The theme lists terms by slug rather than by title, so the list is consistently lowercase rather than misspelled. Showing titles there would need a theme layout override that changes how every tag looks.
  • Generic hyphenated tags such as "browser-automation" and "computer-use" keep Hugo's default titles ("Browser-Automation", "Computer-Use"). They aren't misspelled names, but on a post that also has the GUI automation tag, the tag styles differ.

How it was tested

  • On main, the new test fails: the source check reports the eight missing term pages, and the build check reports titles such as Uipath | OpenAdapt Blog. On this branch, all tests pass.
  • Without Hugo installed, as in the CI test job, the build check is skipped and the source check still fails on main and passes here.
  • A full hugo --minify build produces the same set of files as main. Only the eight tag pages, their RSS feeds, /tags/index.xml and the posts that link to those tags change, and only in tag names.
  • Voice lint, substance lint, check_benchmark_claims.py and validate_newsletter_render.py pass.
  • Merged on top of fix: correct post claims, replace the dead signup form, rewrite posts #59 (fix/blog-overhaul), the full test suite passes. That pull request moves several posts to draft, but each tag that has a term page still has at least one published post.

Before merging

🤖 Generated with Claude Code

abrichr and others added 2 commits October 10, 2026 00:10
Posts use lowercase tags, and no tag had a term page, so Hugo built each
tag page title from its slug. The UiPath tag page was titled "Uipath",
the RPA page "Rpa", and the same happened to API, AutoHotkey, GUI
automation, OpenEMR, Power Automate and openadapt-flow. The wrong names
showed in page titles, headings, the tag links on each post and the tag
RSS feeds.

Add a term page under content/tags/<slug>/_index.md for each of these
tags that sets the title directly. Add tests/test_tag_titles.py, which
runs with the existing unittest suite. It fails if a published post uses
a tag that contains an acronym or brand word and has no term page with
the expected title, and if a term page has no published posts (that
would publish an empty tag page). When Hugo and the theme are present it
also builds the site and checks each tag page's <title> and <h1>.

Ledger: B238

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tag title test only understood YAML front matter with LF line
endings and raised on anything else. The default archetype writes TOML,
so a draft created with `hugo new` would fail CI with "no YAML front
matter" before anyone published it. Parse TOML with tomllib, normalize
CRLF, accept `draft: True` and trailing comments, and scan every
content page instead of only post bundles. Add a few more acronyms that
Hugo's title case gets wrong, and report a missing tag page as a test
failure instead of a crash.

Ledger: B238

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@abrichr
abrichr merged commit 2f1deef into main Oct 14, 2026
4 checks passed
@abrichr
abrichr deleted the fix/ledger-2026-10-10 branch October 14, 2026 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant