Make API references searchable and easier to scan - #65
Merged
Merged
Conversation
tony
force-pushed
the
feat-reference-reading-layout
branch
from
October 2, 2026 01:56
1680921 to
f9b0d0f
Compare
tony
force-pushed
the
feat-reference-reading-layout
branch
from
October 2, 2026 02:16
f9b0d0f to
2ded840
Compare
tony
force-pushed
the
feat-reference-reading-layout
branch
from
October 2, 2026 02:41
2ded840 to
83b8c35
Compare
tony
force-pushed
the
feat-reference-reading-layout
branch
from
October 2, 2026 06:42
fe147a1 to
a3db469
Compare
why: Python's generated search redirect has no article, so native shell normalization rejected the complete assembly. Its root URL also lost the selected preview, port and version. what: - Route native search pages to the owned port search page. - Preserve the query and fragment with a static fallback link. - Verify both Sphinx URL forms, repeat normalization and article guards.
why: Readers need to reach types and members without traversing package paths. Literal name filtering misses queries such as Server panes and new session and hides the distinction between Scala API variants. what: - Derive searchable identities, kinds and summaries from the API tree. - Rank exact and qualified matches ahead of semantic reference order. - Add category filters, keyboard navigation and visible retry behavior. - Label Scala variants and keep Rust fuzz helpers in their own section. - Verify native kinds across every port and exercise search in a browser.
why: Long qualified names dominate reference pages and crowded member rows make their purpose difficult to scan. Readers still need exact identities for copying, source lookup and durable links. what: - Lead pages with concise names, kind badges and useful summaries. - Disclose full identities and provide exact-name copying with errors. - Add stable section links and compact source/package metadata. - Increase member spacing and wrap names within narrow columns. - Verify copying, clipboard refusal and unique declaration anchors.
why: Long reference pages need a readable content column and direct navigation to their sections and related declarations. what: - Add a responsive contents column and links from verified type relations - Group member rows without changing their existing semantic order - Keep section links aligned with the fields the declaration renders - Verify anchors, active sections, ordering and responsive layouts The outer loop passes in 41.30 seconds. An alphabetical-order mutation fails the ordering regression check.
why: Namespace controls wasted space and native signatures linked syntax and parameter bindings as though they were API references. what: - Align package names and exact-name copying beneath concise headings. - Keep keywords and declaration bindings plain in native signatures. - Resolve Scala and Kotlin builtins before JDK inventory aliases. - Give overloads the full card width and preserve readable plain text. - Check copy behavior, symbol links and responsive geometry in Chromium.
why: Readers need to understand the tmux objects managed by Server before learning its transport implementation. what: - Extract the reviewed Java and Kotlin Server comments from 6e1fb29e. - Refresh source paths and revision-bound example metadata. - Preserve the native close, suspend and interoperability contracts.
why: Reduced opacity made keywords and parameter names look disabled. what: - Use the normal foreground color and full opacity for native syntax. - Check signature contrast with scripting disabled in both themes.
tony
force-pushed
the
feat-reference-reading-layout
branch
from
October 2, 2026 07:34
a3db469 to
9a8be3e
Compare
why: The mobile toolbar stayed white in automatic dark mode before JavaScript initialized, and its drawer buttons did not work without JavaScript. what: - Use shared surface, text, border and hover colors in the mobile toolbar - Provide native navigation disclosures when scripts are disabled - Keep closed drawers inert from their first HTML render - Check phone contrast, keyboard navigation and automatic theme colors
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reference readers need to find core objects and their members without navigating long package names and dense lists. Add scoped symbol search over the existing API inventory, concise headings with compact package or namespace rows and exact-name copying, and a responsive reading layout adapted from the supplied Java reference design.
Wide pages have a contents column and related APIs derived from ownership, inheritance and declared return types. Stable section links match the content each declaration renders, including parameters, returns, errors and examples. Member rows are grouped without changing their semantic order. Phone and tablet layouts retain the section links and existing navigation drawer. All surfaces use the site's light and dark theme colors. The mobile toolbar uses those colors before JavaScript initializes; without JavaScript, native disclosures provide navigation and contents links. Native overloads use the full card width, with metadata above them. Keywords, receiver and parameter bindings stay plain code at normal text contrast; only API references are linked. Scala collection names resolve before bare aliases in the JDK inventory, while explicit Java imports keep their Java targets.
Search accepts qualified names, owner/member queries and spaced names. It preserves each language's symbol kinds, distinguishes Scala variants, and prioritizes core objects and listings. Swift operators remain searchable without outranking listings for a bare owner query. Native Python search redirects retain the selected port, version, preview prefix and query.
Refresh Java and Kotlin Server documentation from the merged source comments in libtmux-java#47. The description explains sessions, windows, panes, socket selection and cleanup before transport details.
Validation
pnpm testpasses in 45.38 seconds within the 60-second budget. Browser checks cover scoped queries, category filters, keyboard focus, inventory failure and retry, exact-name copying, clipboard refusal, section targets and active links, related declarations, semantic member order, and responsive layouts, full-width Scala overloads, declaration tokens without links, Scala Vector targets, and signature contrast without JavaScript in both themes. Phone checks also verify the toolbar surface before theme initialization, native disclosure keyboard use, and contents links without JavaScript.