Skip to content

0.1.21 - #18

Merged
kristin-kronstain-brown merged 18 commits into
mainfrom
kkb-tabbed-section-nav
Jul 27, 2026
Merged

0.1.21#18
kristin-kronstain-brown merged 18 commits into
mainfrom
kkb-tabbed-section-nav

Conversation

@kristin-kronstain-brown

Copy link
Copy Markdown
Collaborator

No description provided.

kristin-kronstain-brown and others added 16 commits July 20, 2026 14:37
Adds an opt-in tab-navigation band between the top navbar and the
sidebar/content row (Mintlify / Portkey style) that groups a version's
top-level sections into tabs and scopes the left nav to the active tab,
so a long flat nav can be slimmed down.

Design:
- Config declares the tab bar: an ordered [[params.docTabs]] list, each
  with a name and optional default=true. Version-agnostic.
- Front matter assigns pages to tabs: a top-level section carries
  `tab: "<name>"`. Untagged pages fall into the default tab. No content
  is moved and no URLs change, so existing links are preserved.
- Opt-in / backward compatible: with no docTabs, or fewer than 2
  non-empty tabs in a version, the band is suppressed and the full tree
  renders exactly as before.

Implementation:
- layouts/_partials/docs-tabs.html: renders the band, resolves the
  active tab, and shares it (plus the tab list) with the sidebar via the
  page store.
- layouts/_partials/utils/version-root.html: shared version-root
  resolver, extracted from sidebar.html so the band and sidebar agree on
  the active version tree.
- layouts/_partials/utils/first-leaf.html: resolves a tab's first leaf
  page (clicking a tab lands on a page, not a section index).
- layouts/partials/sidebar.html: reads the store and filters top-level
  items to the active tab; renders the tab chips in the mobile drawer.
- layouts/docs/{single,list}.html: render the band above the row.
- docs-theme-extras.css: band + mobile tab-chip styles (light/dark).

Tests (tests/docs-tabs.spec.ts): the fixture exercises both states in
one build — `main` tags two pages into a Reference tab (ENABLED: band +
scoped nav), v1/v2 stay untagged (DISABLED: no band, full tree).
fixture/tabs-demo/v3 is a local-dev-only richer demo (mounted via the
*-local configs; excluded from the test build).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
The test fixture is built with `hugo --minify`, which strips quotes
around attribute values (`class=section-card` rather than
`class="section-card"`) and keeps them only on multi-class values
(`class="section-card-badge badge-oss"`). The extractCards() regexes
required quoted attributes, so they matched zero cards and every
auto-cards assertion failed in framework-test-static.

Make the card/href/title/desc/badge matchers quote-agnostic so they
work against the minified fixture, matching the robustness the other
static specs already have.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
A `#` line inside front matter (between the leading `---`/`+++`
delimiters) is a config comment, not a heading, and may legitimately
mention a shortcode — e.g. a `# ...` note above a `test:` block in
agentgateway doc-test front matter. The scanner already skips fenced
code blocks and HTML comments; add front-matter skipping too so those
comment lines aren't flagged as shortcode-bearing headings.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
The v0.1.20 timeout cap makes a slow CDN fail fast, but the fast failure
still errorf'd and failed the whole build. beta.7 already ships the
search.html warnf + runtime <script> fallback; this adds the missing
source-scan guard in build-resilience.spec.ts (the .Err branch must not
errorf, and must warnf + emit a <script src> at the pinned URL) and the
matching v0.1.21 changelog entry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
@kristin-kronstain-brown
kristin-kronstain-brown merged commit f57caf4 into main Jul 27, 2026
1 check passed
@kristin-kronstain-brown
kristin-kronstain-brown deleted the kkb-tabbed-section-nav branch August 5, 2026 12:34
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.

2 participants