Skip to content

ci(docs) Refine the pages and list the new ports - #850

Merged
tony merged 1 commit into
docs-site-deployfrom
docs-publisher-824516958
Nov 9, 2026
Merged

tony merged 1 commit into
docs-site-deployfrom
docs-publisher-824516958

Conversation

@tony

@tony tony commented Nov 9, 2026

Copy link
Copy Markdown
Member

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

  • Draw the workspace and MCP API reference pages in the core API presentation: section headings at the size of a core page's, the body outside the prose column, and a type's members listed once, as its table and then linked rows, where each was also a full entry (ProductApiPage.astro, ApiMemberList.astro, DocsLayout.astro)
  • Group the MCP API reference into sections in the sidebar, the documentation navigation and the reference index: Tools, Prompts, Resources and URIs, Views and results, Server and setup, Configuration and environment, Errors and Utilities, leaving out a section with nothing in it (product-api-sections.ts, product-api.ts, ProductApiIndex.astro); a section's row in the sidebar links to the page of its first entry, and a breadcrumb through it does too (sidebar.ts)
  • Group the workspace API reference the same way: Workspace files, Building and freezing, Command line, Plugins and shell, Errors and Utilities, URLs unchanged (product-api-sections.ts, product-api.ts, ProductApiIndex.astro)
  • Draw the Core player on the server at the frame its script first shows, the tmux before the first call, with its controls bar in place at its first count, so binding the script moves nothing; a reader with no script, and one who asked for less motion until the script binds, see the finished frame (CorePlayer.astro, ReplayControls.astro, core-player.css)
  • Draw the MCP replay on the server at the prompt alone, the calls out of view marked and its head and controls bar in place, so binding the script moves nothing; the same finished fallbacks for no script and for reduced motion (McpReplay.astro, mcp-replay.css)
  • Name the MCP overview's replay "tmux through MCP", where it was "Worked example" (links to the old anchor, worked-example, still land), and drop the paragraph under it on how the recording was made: its revision, sandbox, generation and shortened values (McpReplay.astro, mcp-showcase.ts)
  • Drop the Core player's info button, its popover and its no-script note on how the run was recorded; the controls bar keeps its other buttons (CorePlayer.astro, ReplayControls.astro)
  • Drop the "Library revision" line from an example's setup details and the "Generated from the source" line under the API pages that had one (HomeExample.astro, [...slug].astro)
  • Head the workspace overview's preset picker "Explore tmux layout / workspace possibilities", where it was "Try a preset" (links to the old anchor, try-a-preset, still land) (WorkspacePicker.astro, DocPage.astro)
  • Put the Core player's Error handling and Cleanup toggles in a toolbar row at the bottom of its code panel, below the code and outside the part that scrolls, where they sat in a row above it, so toggling moves no edge of the player; and let the step dots of its controls bar scroll inside a rail with a button at each end to page them, where they were spread across the bar and crowded on a tight one (HomeExample.astro, core-player.css, ReplayControls.astro, replay-player.ts, mcp-replay.css)
  • Let the MCP replay's step dots scroll inside a rail with a button at each end to page them, keeping the shown call's dot in view, where they were spread across the bar and crowded on a tight one (ReplayControls.astro, replay-player.ts, mcp-replay.css)
  • Keep the API reference sidebar and the sticky member bars at their height when an on-screen keyboard opens, where Chrome on iOS shrank the window under it and the sidebar and the bars shrank with it: while a field has focus the pages measure the tallest height seen at this width (stable-viewport.ts, api-tree.ts, ApiPageContents.astro)
  • List OCaml among the ports of the site: in the port picker of the site header and in the Compiled & native group of the ports list; OCaml's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • List Haskell among the ports of the site: in the port picker of the site header and in the Compiled & native group of the ports list; Haskell's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • List Perl among the ports of the site: in the port picker of the site header and in the Scripting & web group of the ports list; Perl's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • Pin the port build's GitHub actions to commits of the releases it used by tag (checkout v7.0.1, setup-node v7, pnpm/action-setup v6), and have the build ask the registry whether a port excludes MCP before it generates MCP data, which no existing port does (port-docs.yml, build-site.sh)
  • List Clojure among the ports of the site: in the port picker of the site header and in the JVM group of the ports list; Clojure's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • List Common Lisp among the ports of the site: in the port picker of the site header and in the Compiled & native group of the ports list; Common Lisp's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • List Erlang among the ports of the site: in the port picker of the site header and in the BEAM group of the ports list; Erlang's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)

A workspace or MCP API reference page drew its section headings larger than a core page's, because its body sat inside the prose column, and repeated each member as a full bordered entry under a bordered bar. The reference of a product listed every declaration in one A to Z list that mixed types, functions, constants and enums, so a reader could not find a tool, a URI constant or an error type without scanning it. On a cold load the Core player was drawn at its last call and the script reset it to the first a moment later, and the controls bar appeared and pushed the player down, so the page jumped. The MCP replay did the same: the whole chat with every result open, then the bare prompt, and the page grew when the controls appeared. Pages told a reader how they were made (the revision, sandbox and generator of a recording, a library revision under an example, a generator under an API page), which belongs in the commit that refreshed the data. The headings "Worked example" and "Try a preset" did not say what a reader gets: tmux driven through MCP tools and tmux layouts and workspaces to try. The Core player's Error handling and Cleanup toggles took a row of their own above the code, and its step dots were spread across the controls bar, so on a tight bar a long program's dots crowded until a finger could not tell them apart. The MCP replay's step dots crowded the same way on a tight bar. Chrome on iOS shrinks the window height under the on-screen keyboard, so the API reference sidebar and the sticky member bars shrank when a reader focused the search field. The site header's port picker and the ports list offered only the ports that had documentation before OCaml, Haskell, Perl, Clojure, Common Lisp and Erlang. The port build ran GitHub actions by floating tag, so a retagged release would have changed what builds this port's pages.

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.

why: A workspace or MCP API reference page drew its section headings
larger than a core page's, because its body sat inside the prose column,
and repeated each member as a full bordered entry under a bordered bar.
The reference of a product listed every declaration in one A to Z list
that mixed types, functions, constants and enums, so a reader could not
find a tool, a URI constant or an error type without scanning it. On a
cold load the Core player was drawn at its last call and the script
reset it to the first a moment later, and the controls bar appeared and
pushed the player down, so the page jumped. The MCP replay did the same:
the whole chat with every result open, then the bare prompt, and the
page grew when the controls appeared. Pages told a reader how they were
made (the revision, sandbox and generator of a recording, a library
revision under an example, a generator under an API page), which belongs
in the commit that refreshed the data. The headings "Worked example" and
"Try a preset" did not say what a reader gets: tmux driven through MCP
tools and tmux layouts and workspaces to try. The Core player's Error
handling and Cleanup toggles took a row of their own above the code, and
its step dots were spread across the controls bar, so on a tight bar a
long program's dots crowded until a finger could not tell them apart.
The MCP replay's step dots crowded the same way on a tight bar. Chrome
on iOS shrinks the window height under the on-screen keyboard, so the
API reference sidebar and the sticky member bars shrank when a reader
focused the search field. The site header's port picker and the ports
list offered only the ports that had documentation before OCaml,
Haskell, Perl, Clojure, Common Lisp and Erlang. The port build ran
GitHub actions by floating tag, so a retagged release would have changed
what builds this port's pages.

what:
- Draw the workspace and MCP API reference pages in the core API
  presentation: section headings at the size of a core page's, the body
  outside the prose column, and a type's members listed once, as its
  table and then linked rows, where each was also a full entry
  (`ProductApiPage.astro`, `ApiMemberList.astro`, `DocsLayout.astro`)
- Group the MCP API reference into sections in the sidebar, the
  documentation navigation and the reference index: Tools, Prompts,
  Resources and URIs, Views and results, Server and setup, Configuration
  and environment, Errors and Utilities, leaving out a section with
  nothing in it (`product-api-sections.ts`, `product-api.ts`,
  `ProductApiIndex.astro`); a section's row in the sidebar links to the
  page of its first entry, and a breadcrumb through it does too
  (`sidebar.ts`)
- Group the workspace API reference the same way: Workspace files,
  Building and freezing, Command line, Plugins and shell, Errors and
  Utilities, URLs unchanged (`product-api-sections.ts`,
  `product-api.ts`, `ProductApiIndex.astro`)
- Draw the Core player on the server at the frame its script first
  shows, the tmux before the first call, with its controls bar in place
  at its first count, so binding the script moves nothing; a reader with
  no script, and one who asked for less motion until the script binds,
  see the finished frame (`CorePlayer.astro`, `ReplayControls.astro`,
  `core-player.css`)
- Draw the MCP replay on the server at the prompt alone, the calls out
  of view marked and its head and controls bar in place, so binding the
  script moves nothing; the same finished fallbacks for no script and
  for reduced motion (`McpReplay.astro`, `mcp-replay.css`)
- Name the MCP overview's replay "tmux through MCP", where it was
  "Worked example" (links to the old anchor, worked-example, still
  land), and drop the paragraph under it on how the recording was made:
  its revision, sandbox, generation and shortened values
  (`McpReplay.astro`, `mcp-showcase.ts`)
- Drop the Core player's info button, its popover and its no-script note
  on how the run was recorded; the controls bar keeps its other buttons
  (`CorePlayer.astro`, `ReplayControls.astro`)
- Drop the "Library revision" line from an example's setup details and
  the "Generated from the source" line under the API pages that had one
  (`HomeExample.astro`, `[...slug].astro`)
- Head the workspace overview's preset picker "Explore tmux layout /
  workspace possibilities", where it was "Try a preset" (links to the
  old anchor, try-a-preset, still land) (`WorkspacePicker.astro`,
  `DocPage.astro`)
- Put the Core player's Error handling and Cleanup toggles in a toolbar
  row at the bottom of its code panel, below the code and outside the
  part that scrolls, where they sat in a row above it, so toggling moves
  no edge of the player; and let the step dots of its controls bar
  scroll inside a rail with a button at each end to page them, where
  they were spread across the bar and crowded on a tight one
  (`HomeExample.astro`, `core-player.css`, `ReplayControls.astro`,
  `replay-player.ts`, `mcp-replay.css`)
- Let the MCP replay's step dots scroll inside a rail with a button at
  each end to page them, keeping the shown call's dot in view, where
  they were spread across the bar and crowded on a tight one
  (`ReplayControls.astro`, `replay-player.ts`, `mcp-replay.css`)
- Keep the API reference sidebar and the sticky member bars at their
  height when an on-screen keyboard opens, where Chrome on iOS shrank
  the window under it and the sidebar and the bars shrank with it: while
  a field has focus the pages measure the tallest height seen at this
  width (`stable-viewport.ts`, `api-tree.ts`, `ApiPageContents.astro`)
- List OCaml among the ports of the site: in the port picker of the site
  header and in the Compiled & native group of the ports list; OCaml's
  own pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)
- List Haskell among the ports of the site: in the port picker of the
  site header and in the Compiled & native group of the ports list;
  Haskell's own pages are published by its own repository, not by this
  caller (`shell.js`, `ports.ts`, `port-families.ts`)
- List Perl among the ports of the site: in the port picker of the site
  header and in the Scripting & web group of the ports list; Perl's own
  pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)
- Pin the port build's GitHub actions to commits of the releases it used
  by tag (checkout v7.0.1, setup-node v7, pnpm/action-setup v6), and
  have the build ask the registry whether a port excludes MCP before it
  generates MCP data, which no existing port does (`port-docs.yml`,
  `build-site.sh`)
- List Clojure among the ports of the site: in the port picker of the
  site header and in the JVM group of the ports list; Clojure's own
  pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)
- List Common Lisp among the ports of the site: in the port picker of
  the site header and in the Compiled & native group of the ports list;
  Common Lisp's own pages are published by its own repository, not by
  this caller (`shell.js`, `ports.ts`, `port-families.ts`)
- List Erlang among the ports of the site: in the port picker of the
  site header and in the BEAM group of the ports list; Erlang's own
  pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)

Shared source: libtmux/docs
From: c5b56f2b90002281adb95616a3e523e0a192937c
To:   8245169584882f09e302881f136512df41aba2a4
@codecov

codecov Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.37%. Comparing base (9604e15) to head (75e4297).

Additional details and impacted files
@@                 Coverage Diff                  @@
##           docs-site-deploy     #850      +/-   ##
====================================================
- Coverage             52.45%   52.37%   -0.09%     
====================================================
  Files                    26       26              
  Lines                  3729     3729              
  Branches                747      747              
====================================================
- Hits                   1956     1953       -3     
- Misses                 1469     1472       +3     
  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 dd95e47 into docs-site-deploy Nov 9, 2026
23 of 25 checks passed
@tony
tony deleted the docs-publisher-824516958 branch November 9, 2026 23: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