Link every heading and finish the terminal type - #35
Merged
Merged
Conversation
Headings were already ids, so they were addressable but not clickable — you had to read the HTML to find the fragment. Each heading is now a link to itself, and carries its markdown level as a dim prefix: ## before a section, ### before a subsection. That reads as the source the page is generated from, and the marker encodes real information, namely the depth. Type: the headings shared the mono face with the tagline but not its weight, sitting at 700 against the tagline's 500. They now match, and table headers — headers too — move from bold sans to the same mono. A heading that already contains a link is left alone rather than nesting one anchor inside another. Tests: 1,103 -> 1,108. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Heading links
Headings already had ids, so they were addressable but not clickable — you had to read the HTML to find the fragment. Every heading is now a link to itself.
Each one also carries its markdown level as a dim prefix:
##before a section,###before a subsection. It reads as the source the page is generated from, and the marker encodes something true — the depth — rather than just decorating the line. The prefix picks up the accent colour on hover, which is the affordance that the heading is a link.A heading that already contains a link is left alone rather than nesting an anchor inside an anchor.
Type
The headings already shared the mono face with the tagline, but not its weight — they sat at 700 against the tagline's 500. They match now.
Table headers are headers too, so
Command/What it doesmove from bold sans to the same mono at a smaller size.h1–h3thead thBody prose stays in IBM Plex Sans.
Tests
1,103 → 1,108: a heading links to itself, every level gets an anchor, a heading holding a link isn't double-wrapped, the level markers exist, and both headings and table headers resolve to the mono token.
One existing fixture asserted a bare
<h1>and was updated for the new markup.🤖 Generated with Claude Code
One thing I want to check on intent: I read "make links for each header" as making each heading a link to itself. If you meant a table of contents at the top of the README — a list of links to every section, like the
Contentsblock the rewrite removed — say so and I'll add that instead, or as well.