Skip to content

ci(docs) Add sidebar layouts and exact API links - #792

Merged
tony merged 1 commit into
docs-site-deployfrom
docs-publisher-00045828e
Oct 25, 2026
Merged

tony merged 1 commit into
docs-site-deployfrom
docs-publisher-00045828e

Conversation

@tony

@tony tony commented Oct 25, 2026

Copy link
Copy Markdown
Member

Pin only the shared port builder and publisher to 00045828e6457d142d58933f603665a2ead35811 from fcf99651e5200b96af8d59a7d8b336904636aca8. All other workflow bytes, library contents, triggers, permissions and language/source/version inputs remain unchanged.

  • Offer Outline, Focus and Grouped layouts in the reference sidebar's menu, on the API pages and the Reference pages of each product, and keep the reader's choice from page to page (api-tree.ts), with Up to the selected declaration's parent and Root to the reference index at the bottom of the menu (ApiTree.astro); every library's sidebar comes from one builder (api-sidebar.ts)

  • Fold a sibling list longer than a window into "N more" rows around the selected row, so a page carries its ancestry and a window of the list instead of every member of its owner; a folded row opens on a click or from the keyboard and, without JavaScript, links to the first page it holds (api-sidebar.ts)

  • Draw every hover card from one description that the page and the browser both render (link-preview-card.ts): the legend chip of the declaration's kind heads the card, followed by the owner and member in the language's own separator (native-name.ts)

  • Label a related type with its owner when more than one type in the port carries its name (api-labels.ts)

  • Name the tmux command a method sends, with its scope flag and C function, on the method's reference page, from records of each library's source (ApiEntry.astro, tmux-library-usage.ts)

  • Land a standard-library or SDK link on the page and anchor of the symbol it names: a name is looked up among an inventory's symbols and not among the pages, command-line options and labels of its manual (inventory.ts), and neither a dollar-prefixed variable nor the placeholder text of a printed object links (never-links.ts)

  • Group Elixir under BEAM, beside the JVM and .NET groups, in the port picker (port-families.ts)

  • Build with astro 7.4.2 (was 7.3.5), @astrojs/mdx 8.1.1 for MDX pages, @astrojs/markdown-remark 7.3.4 for Markdown and astro-expressive-code 0.44.3 for code blocks, with the viewport-prefetch patch regenerated for the new Astro (astro@7.4.2.patch), and install with pnpm 12.15.0 (was 12.13.0)

  • Refresh the formatter, linter and test tools: @biomejs/biome 2.6.2, oxlint 1.89.0, vitest 5.0.5 and happy-dom 21.0.4

  • Link a name of the Python standard library to the page of the CPython 3.15 manual that documents it, where functions, types, exceptions and constants moved under builtins (python.entries.json), and look up the dotted name before a trailing call or subscript (link.ts); the glossary links the same pages (api-glossary.ts)

  • Give the assembled native Python pages the shared sidebar and its layout controls, keeping their article HTML and original URLs, and insert the shared header, sidebar and footer text literally instead of as a replacement pattern (normalize-native-shell.mjs)

  • State tmuxp's tmux minimum as 3.2a, the floor of its libtmux dependency (guides.md, installation.md), link the tmux support guide from the workspace compatibility page and the MCP entry page (compatibility.md, index.md), and say the tmux filter grammar works on every supported tmux (queries.md)

The reference sidebar offered a single layout, so a reader could not choose between declaration order, one owner at a time and grouped categories. A standard-library or SDK link could land on a manual page, a landing page or a neighbouring entry instead of the symbol it names. Hover cards came from separate renderers that had drifted apart, and a method page did not say which tmux command it sends.

The exact required CI and root merge receipts of the shared checkpoint must be verified before this operator runs. This PR does not claim an owner build or publication pass. Root reviews this exact caller diff, actual repository-required checks and reviews before merge; optional native estate checks are not a new universal gate.

Execution route: exact_source_manual_dispatch_after_root_controlled_pin_merge. Root separately schedules reviewed merges and exact source requests from the actual workflow state. If the current active workflow already publishes the intended source on merge, retain that actual event and do not issue a duplicate request. Future source/native/run identities will be bound to actual events.

what:
- Offer Outline, Focus and Grouped layouts in the reference sidebar's
  menu, on the API pages and the Reference pages of each product, and
  keep the reader's choice from page to page (`api-tree.ts`), with Up to
  the selected declaration's parent and Root to the reference index at
  the bottom of the menu (`ApiTree.astro`); every library's sidebar
  comes from one builder (`api-sidebar.ts`)
- Fold a sibling list longer than a window into "N more" rows around the
  selected row, so a page carries its ancestry and a window of the list
  instead of every member of its owner; a folded row opens on a click or
  from the keyboard and, without JavaScript, links to the first page it
  holds (`api-sidebar.ts`)
- Draw every hover card from one description that the page and the
  browser both render (`link-preview-card.ts`): the legend chip of the
  declaration's kind heads the card, followed by the owner and member in
  the language's own separator (`native-name.ts`)
- Label a related type with its owner when more than one type in the
  port carries its name (`api-labels.ts`)
- Name the tmux command a method sends, with its scope flag and C
  function, on the method's reference page, from records of each
  library's source (`ApiEntry.astro`, `tmux-library-usage.ts`)
- Land a standard-library or SDK link on the page and anchor of the
  symbol it names: a name is looked up among an inventory's symbols and
  not among the pages, command-line options and labels of its manual
  (`inventory.ts`), and neither a dollar-prefixed variable nor the
  placeholder text of a printed object links (`never-links.ts`)
- Group Elixir under BEAM, beside the JVM and .NET groups, in the port
  picker (`port-families.ts`)
- Build with `astro` 7.4.2 (was 7.3.5), `@astrojs/mdx` 8.1.1 for MDX
  pages, `@astrojs/markdown-remark` 7.3.4 for Markdown and
  `astro-expressive-code` 0.44.3 for code blocks, with the
  viewport-prefetch patch regenerated for the new Astro
  (`astro@7.4.2.patch`), and install with `pnpm` 12.15.0 (was 12.13.0)
- Refresh the formatter, linter and test tools: `@biomejs/biome` 2.6.2,
  `oxlint` 1.89.0, `vitest` 5.0.5 and `happy-dom` 21.0.4
- Link a name of the Python standard library to the page of the CPython
  3.15 manual that documents it, where functions, types, exceptions and
  constants moved under builtins (`python.entries.json`), and look up
  the dotted name before a trailing call or subscript (`link.ts`); the
  glossary links the same pages (`api-glossary.ts`)
- Give the assembled native Python pages the shared sidebar and its
  layout controls, keeping their article HTML and original URLs, and
  insert the shared header, sidebar and footer text literally instead of
  as a replacement pattern (`normalize-native-shell.mjs`)
- State tmuxp's tmux minimum as 3.2a, the floor of its libtmux
  dependency (`guides.md`, `installation.md`), link the tmux support
  guide from the workspace compatibility page and the MCP entry page
  (`compatibility.md`, `index.md`), and say the tmux filter grammar
  works on every supported tmux (`queries.md`)

why: The reference sidebar offered a single layout, so a reader could
not choose between declaration order, one owner at a time and grouped
categories. A standard-library or SDK link could land on a manual page,
a landing page or a neighbouring entry instead of the symbol it names.
Hover cards came from separate renderers that had drifted apart, and a
method page did not say which tmux command it sends.

Shared source: libtmux/docs
From: fcf99651e5200b96af8d59a7d8b336904636aca8
To:   00045828e6457d142d58933f603665a2ead35811
@codecov

codecov Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.37%. Comparing base (403e7b1) to head (d0fdac2).

Additional details and impacted files
@@                Coverage Diff                @@
##           docs-site-deploy     #792   +/-   ##
=================================================
  Coverage             52.37%   52.37%           
=================================================
  Files                    26       26           
  Lines                  3729     3729           
  Branches                747      747           
=================================================
  Hits                   1953     1953           
  Misses                 1472     1472           
  Partials                304      304           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tony
tony merged commit 424be41 into docs-site-deploy Oct 25, 2026
16 checks passed
@tony
tony deleted the docs-publisher-00045828e branch October 25, 2026 14:50
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