Skip to content

ci(docs) Rework the port home and add Core home - #132

Merged
tony merged 1 commit into
masterfrom
docs-publisher-c601a9f67
Nov 3, 2026
Merged

tony merged 1 commit into
masterfrom
docs-publisher-c601a9f67

Conversation

@tony

@tony tony commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

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

  • Title a port's home page by its repository and language, as "libtmux-rs: Rust-based tmux client", and open it with "libtmux for Rust", a definition of the library and the repository and package links in the top right, in place of the tagline and the paragraph naming the version (PortHero.astro, DocumentationHero.astro, ports.ts)

  • Add a Core Library home at core/ for each port: its Server, Session, Window and Pane types with the tmux object each wraps, and the capabilities it has, each linked to the symbol of the extracted API model that provides it and refused when the symbol does not back it (CoreHome.astro, core-home.ts, core-home.json)

  • Show the language Home as one row above Core Library in the documentation picker (documentation-navigation.ts, SurfacePicker.astro)

  • Hold a page steady while it loads: reserve the contents rail's column on the server, so the article column is final at first paint, keep the rail after the article in the source, so keyboard and screen-reader users reach the article first, and scroll to a fragment only when the browser has not already placed it (DocsLayout.astro, anchors.js)

  • Read a release-number placeholder such as X.Y or X.Y-rcN in prose as text, not as a symbol to resolve (resolver.ts)

  • Set the Workspace page's heading as "tmux workspace manager," with "forged in Rust." on its own line under it, a subtitle that the heading still reads whole to a search or a screen reader (DocsLayout.astro, branding.ts, product-copy.ts)

  • Replay the MCP worked example on the MCP page and on the home page's MCP panel beside the tmux state each call leaves, with the result the server recorded under the call, drawn from the recorded session only (McpReplay.astro, mcp-replay.ts, mcp-showcase.ts)

  • Make the recorded example split a window in two panes, run the tests in one and show a log in the other, then read the layout back (mcp-examples.ts)

  • Read a capability directory in the port's own link syntax where its doc comments write one of their own: Python's roles, DocC's double backticks, ExDoc, KDoc and Scaladoc links, a name in a code span for C++ and Lua, YARD, Documenter and PowerShell's cmdlet names (api-directory.ts, ApiProse.astro)

  • Name a type of the parent library's Workspace and MCP packages by its short name in the pages of Kotlin, Scala and F# when nothing else in the parent carries it (parent-inventory.ts)

A port's home page showed a tagline and a tab for each product, and no page said what the library wraps or which capabilities it has, so a reader met the products before seeing what any of them does.

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: controlled_real_pin_merge_push. 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 port's home page showed a tagline and a tab for each product, and
no page said what the library wraps or which capabilities it has, so a
reader met the products before seeing what any of them does.

what:
- Title a port's home page by its repository and language, as
  "libtmux-rs: Rust-based tmux client", and open it with "libtmux for
  Rust", a definition of the library and the repository and package
  links in the top right, in place of the tagline and the paragraph
  naming the version (`PortHero.astro`, `DocumentationHero.astro`,
  `ports.ts`)
- Add a Core Library home at core/ for each port: its Server, Session,
  Window and Pane types with the tmux object each wraps, and the
  capabilities it has, each linked to the symbol of the extracted API
  model that provides it and refused when the symbol does not back it
  (`CoreHome.astro`, `core-home.ts`, `core-home.json`)
- Show the language Home as one row above Core Library in the
  documentation picker (`documentation-navigation.ts`,
  `SurfacePicker.astro`)
- Hold a page steady while it loads: reserve the contents rail's column
  on the server, so the article column is final at first paint, keep the
  rail after the article in the source, so keyboard and screen-reader
  users reach the article first, and scroll to a fragment only when the
  browser has not already placed it (`DocsLayout.astro`, `anchors.js`)
- Read a release-number placeholder such as X.Y or X.Y-rcN in prose as
  text, not as a symbol to resolve (`resolver.ts`)
- Set the Workspace page's heading as "tmux workspace manager," with
  "forged in Rust." on its own line under it, a subtitle that the
  heading still reads whole to a search or a screen reader
  (`DocsLayout.astro`, `branding.ts`, `product-copy.ts`)
- Replay the MCP worked example on the MCP page and on the home page's
  MCP panel beside the tmux state each call leaves, with the result the
  server recorded under the call, drawn from the recorded session only
  (`McpReplay.astro`, `mcp-replay.ts`, `mcp-showcase.ts`)
- Make the recorded example split a window in two panes, run the tests
  in one and show a log in the other, then read the layout back
  (`mcp-examples.ts`)
- Read a capability directory in the port's own link syntax where its
  doc comments write one of their own: Python's roles, DocC's double
  backticks, ExDoc, KDoc and Scaladoc links, a name in a code span for
  C++ and Lua, YARD, Documenter and PowerShell's cmdlet names
  (`api-directory.ts`, `ApiProse.astro`)
- Name a type of the parent library's Workspace and MCP packages by its
  short name in the pages of Kotlin, Scala and F# when nothing else in
  the parent carries it (`parent-inventory.ts`)

Shared source: libtmux/docs
From: 84937633ac63297d2be2a71c7719d41109be5c63
To:   c601a9f6712ee581d6520699feff76c0a8665285
@tony
tony merged commit ad712da into master Nov 3, 2026
18 checks passed
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