Skip to content

Improve API explorer pages, examples rail, and Nav V2 sidebar - #3796

Open
itsalexcm wants to merge 16 commits into
findability/alexcerezofrom
api-docs/improvements
Open

Improve API explorer pages, examples rail, and Nav V2 sidebar#3796
itsalexcm wants to merge 16 commits into
findability/alexcerezofrom
api-docs/improvements

Conversation

@itsalexcm

@itsalexcm itsalexcm commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Why

API reference pages were hard to scan: alternate paths hid behind a dropdown, examples vanished when the spec omitted x-codeSamples, and the sidebar did not match the Nav V2 / Figma chrome used on the rest of the site.

What

Integrates ApiExplorer with Nav V2 and adds a right-hand Examples rail (scenarios, languages, status tabs), including synthetic Console/curl samples and empty-status placeholders when the spec has no payloads.

Operation pages get breadcrumbs, labeled HTTP method chips, and a stacked overload list. Multiple endpoints use full-row radios with an 8px gap and a hover copy control on the route. Prerequisites from x-req-auth render as label + badge rows. Property types read as array of strings without the recursive badge.

Nav V2 sidebar chrome matches Figma (folder structure, spacing, sticky search/back, nested blue active accent). API operations show method glyphs or a multi badge. HTMX OOB swaps include the examples panel so it clears when leaving API pages.

itsalexcm and others added 9 commits July 13, 2026 17:27
Wire API pages into the global sidebar (x-tagGroups, active highlighting),
generate OpenAPI output in the assembler, and use HTMX partial swaps so API
navigation stays smooth without full-page reloads.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
API pages stay on isolated serve (/api/...) until we revisit integrating
them into the full assembler output at /docs/api/.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Group OpenAPI request/response examples into a right-hand rail, pair
request variants in a select, and share unmatched error responses as
status-code tabs so Kibana-style multi-status samples stay usable.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Match request/response chrome to Card/Code, keep language selection in a
compact select, and add a non-selectable line gutter so long samples stay
readable without polluting copy/selection.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep author-facing docs aligned with request-variant grouping, shared
status-code tabs, and JSON vs plaintext highlighting rules.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The [with(...)] collection expression form fails to compile in this
toolchain; use new Dictionary/HashSet constructors instead.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep an empty examples rail slot on markdown layouts so leaving API
pages clears the panel, and update link oob targets/tests to match.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Show all operation path overloads as a vertical list again so each
route is visible without a dropdown.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Extract folder rows, match heading/item spacing and padding, and paint
the active blue accent only on nested items above the gray rail.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Restore [with(comparer)] collection expressions rejected as IDE0028,
and apply Prettier/import formatting for the API Site assets and tests.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
itsalexcm and others added 5 commits August 12, 2026 16:22
Fixes viewport gaps under the elastic-nav shell, scroll/search/back chrome,
label spacing, and current-page matching for dotted relative URLs so islands
like Extend stay highlighted after rebuild and hx-boost.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Surfaces single-method glyphs and a multi-operation badge in the API sidebar
so operation rows match the rest of the Nav V2 chrome.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Type annotations already name the container, so the extra badge and Array-of row repeated the same fact.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The examples rail should still show a runnable request and status tabs when the spec only declares responses.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Align breadcrumbs, method chips, overload picking, and API nav chrome so the explorer reads as one surface.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@itsalexcm itsalexcm changed the title Improve API Explorer examples rail and Nav V2 sidebar Improve API explorer pages, examples rail, and Nav V2 sidebar Aug 13, 2026
Keep Nav V2 chrome, breadcrumbs, and the examples rail while taking versioned API generation and /group/ URLs from findability.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant