Skip to content

docs: phase 9 — nav polish + About section + collapsible-table fix#11

Merged
chad-loder merged 2 commits into
mainfrom
docs/phase-9-nav-polish
May 13, 2026
Merged

docs: phase 9 — nav polish + About section + collapsible-table fix#11
chad-loder merged 2 commits into
mainfrom
docs/phase-9-nav-polish

Conversation

@chad-loder
Copy link
Copy Markdown
Owner

Summary

Three independent docs-site improvements bundled because all three touch properdocs.yml.

1. Material navigation upgrade

theme.features picks up:

Feature Effect
navigation.tabs Top-level sections render as a sticky tab bar always visible in the header
navigation.tabs.sticky Tabs stay pinned on scroll
navigation.path Breadcrumbs above every page heading
navigation.tracking URL hash follows the active heading on scroll
navigation.indexes Section names link to per-section index.md landing pages

Four new section landing pages back navigation.indexes: docs/{overview,comparisons,explanation,reference}/index.md. (examples/index.md predates this PR.)

Nav reordered so each section's index.md is first — the section name itself becomes the landing-page link.

2. About section

New top-level About section exposing repo-root governance files on the docs site without duplicating content:

  • docs/about/contributing.md--8<-- "CONTRIBUTING.md"
  • docs/about/changelog.md--8<-- "CHANGELOG.md"
  • docs/about/security.md--8<-- "SECURITY.md"
  • docs/about/code-of-conduct.md--8<-- "CODE_OF_CONDUCT.md"

Single source of truth: the repo root. pymdownx.snippets joins markdown_extensions with base_path: ["."]. Two relative SECURITY.md links in CONTRIBUTING.md and CODE_OF_CONDUCT.md become absolute GitHub URLs so they resolve correctly under both renderings.

3. Compliance-report table fix

scripts/generate_compliance_report.py emitted <details> which wrapped per-suite case tables in a block-level HTML element — per CommonMark, the content stays as raw text. The md_in_html extension (already configured) re-enters Markdown parsing when the element has markdown="1"; the generator now emits <details markdown='1'>.

Built site goes from 1 <table> (the summary at top of /wpt-compliance/) to 6 (summary + 5 per-suite case tables).

Audit completeness

Verified the nav covers every file under docs/:

Section Files All in nav
Root index.md, wpt-compliance.md
Overview 3
Examples 12
Reference 2
Comparisons 3
Explanation 2
About 5 (this PR)

Test plan

  • just docs strict build clean
  • just lint all 11 tools pass
  • Built /wpt-compliance/index.html contains 6 <table> blocks (was 1)
  • Snippet-included /about/contributing/ renders the full CONTRIBUTING content
  • CI on this PR stays green
  • Post-merge deploy renders tabs / breadcrumbs / About / collapsible tables

Three independent docs-site improvements bundled into one PR because
all three touch properdocs.yml.

== Material navigation upgrade ==

theme.features picks up:

* navigation.tabs        — top-level sections render as a sticky
                           tab bar always visible in the header
* navigation.tabs.sticky — tabs stay pinned on scroll
* navigation.path        — breadcrumbs above every page heading
* navigation.tracking    — URL hash follows the active heading on
                           scroll so deep-links remain accurate
                           after a refresh / share
* navigation.indexes     — section names link to per-section
                           index.md landing pages instead of being
                           inert headers

To back navigation.indexes, four new section landing pages:
docs/{overview,comparisons,explanation,reference}/index.md, each a
30-second TOC for that section. (examples/index.md predates this PR.)
properdocs.yml nav reordered to put each section's index.md first so
the section name itself becomes the landing-page link.

== About section ==

New top-level "About" section in the nav exposing the repo-root
governance files on the docs site without duplicating content:

* docs/about/index.md — section TOC + framing
* docs/about/contributing.md — ``--8<-- "CONTRIBUTING.md"``
* docs/about/changelog.md    — ``--8<-- "CHANGELOG.md"``
* docs/about/security.md     — ``--8<-- "SECURITY.md"``
* docs/about/code-of-conduct.md — ``--8<-- "CODE_OF_CONDUCT.md"``

Each page is a single-line ``pymdownx.snippets`` directive that
re-renders the corresponding root file inline at build time. Single
source of truth: the repo root.

``pymdownx.snippets`` joins markdown_extensions with
``base_path: ["."]`` so the snippet base is the repo root, not the
docs_dir.

Two relative ``SECURITY.md`` links in CONTRIBUTING.md and
CODE_OF_CONDUCT.md become absolute GitHub URLs so they resolve
correctly under both renderings (GitHub-native and snippet-included
into docs/about/).

rumdl MD041 is per-file-ignored for the four snippet-wrapper files
since the H1 lives in the included file, not the wrapper.

== Compliance report: collapsible tables now render ==

scripts/generate_compliance_report.py emitted ``<details>`` which
wrapped per-suite case tables in a block-level HTML element — per
CommonMark, the content of such an element is *not* re-parsed as
Markdown, so the inner ``| col | col |`` tables stayed as text. The
``md_in_html`` extension (already in our markdown_extensions list)
re-enters Markdown parsing when the element has ``markdown="1"``;
we now emit ``<details markdown='1'>``.

Built site goes from 1 ``<table>`` (the summary at top of
/wpt-compliance/) to 6 (summary + 5 per-suite case tables).
Confirmed locally.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 13, 2026
…ismatch

actions/download-artifact@v8 changed the default digest-mismatch
behavior to 'error' (it was 'warn' in earlier versions). The
wpt-corpus artifact includes a sparse-checkout .git/ directory
(HEAD ref, refs/, packed objects, occasional symlinks) which is a
known source of chunked-archive digest mismatches on Windows
runners — small files + special git entries trip the v8 strict
digest check intermittently. Windows / Python 3.14 hit it on the
Phase 9 PR run; Windows / Python 3.12 and 3.13 did not.

Fix: exclude .git from the *artifact* via upload-artifact's path
filter syntax. The actions/cache step still saves .git for the
next workflow run, so cache-hits keep their git rev-parse HEAD
verification path. Only the artifact (which matrix consumers
read) is .git-less — and they don't need it.
@chad-loder chad-loder merged commit 9598225 into main May 13, 2026
19 checks passed
@chad-loder chad-loder deleted the docs/phase-9-nav-polish branch May 13, 2026 00:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant