Minor Changes
-
#310
d993e42Thanks @MohamedH1998! - Update Astro, Markdown, API parsing, image processing, and starter dependencies. Support Satori 0.63 alongside 0.26, while retaining the declaration bundler that preserves API extension types.Node.js 22.23.4 or newer is now required by Nimbus and newly generated sites. Upgrade Node locally and in CI and hosting build environments before updating Nimbus. Sites using Astro below 7.2.10 must also update Astro; new starters use Astro 7.4.2.
Keep deployment-root sitemap URLs aligned with Astro's canonical URL for static and request-rendered pages, including sites hosted under a base path.
Patch Changes
-
#374
da9e84aThanks @MohamedH1998! - - The starter's agent directive and base layout cope with a site that serves nollms.txt: the directive names only the page's Markdown, or renders nothing. -
#342
eb60d78Thanks @MohamedH1998! - - An API page's Authorization section shows each scheme's header example and scopes again, and names HTTP Bearer and Basic schemes (Authorization: Bearer <token>); its Markdown names the scheme too.ApiAuthViewhas an optionalhttpScheme, the HTTP scheme lowercased (bearer,basic).
-
#341
7f146e0Thanks @MohamedH1998! - - API pages and their Markdown show fields declared beside a union, such as a DNS record'sid,created_onandmetabeside its record types: the fields first, then the options that add to them.- Object and array-of-object parameters list their fields, as body fields do.
- A request or response body that isn't an object shows its type, and its badge names its media type instead of "JSON".
-
#331
c3d3cc6Thanks @MohamedH1998! - - API parameter rows show their example.- On a split API home, a table of contents link to a later part works without script and loads in place with it.
-
#368
00e64f3Thanks @MohamedH1998! - - An API response example is one Tab stop, not two.- Long field names and inline code in field descriptions wrap on narrow screens, so API pages no longer scroll sideways on a phone.
-
#347
a2a14f3Thanks @MohamedH1998! - -getApiNav(Astro, { collection, href })from@cloudflare/nimbus-docs/runtimereturns the API sidebar opened at one API page, from any route, so a site's own pages can show the same sidebar as its API pages.ApiSidebarPanelinapi-sidebaris that sidebar as one component: the filter, the tree, groups that load when opened, and open groups and scroll kept across pages.ApiLayoutrenders it, and a page of your own renders it withgetApiNav.- With
sidebar: "on-demand", the API sidebar can live outsideApiLayoutwithout failing the components check. - A page of your own can use
DocsLayoutwith just atitle:sidebar,headings,breadcrumbsandprevNextare optional.
-
#369
645df3cThanks @MohamedH1998! - - On narrow screens an API operation's request sample comes right after its header, before the fields, so it's on the first screen for most pages.- On wide screens the page text sits in a 40rem column beside the request sample, which starts at the top and stays pinned.
- The description follows the page actions, and the endpoint box shows the operation's path, which opens the full URL in a popover; copy still copies the full URL.
-
#345
dea1e3dThanks @MohamedH1998! - - On wide screens an API page's code rail fits the viewport: its header stays put and a long sample scrolls both ways with both scrollbars in view. Code you can scroll gets a focus ring.- The endpoint box cuts the server address before the path, so the path stays visible.
- Spec descriptions get spaced headings and inline-code chips.
- On wide screens the previous/next bar spans the body and the code rail.
- A field with more than six allowed values lists every one on an "Allowed values" line, instead of behind a hover tooltip.
- Request body and Returns have anchors (
#request-body,#responses), and every API section heading gets a "#" link.headingAnchors()also links headings inside anydata-nb-heading-anchorscontainer. - CodeGroup's copy button comes before its code in Tab order.
- Every keyboard shortcut lives in
src/lib/shortcuts.ts: change a key or set it tofalseto remove it.[and]go to the previous and next page from anywhere on the page, and readers can turn single-key shortcuts off from the search dialog.onShortcut,syncShortcutHints, the key labels and the reader's switch are in@cloudflare/nimbus-docs/client. - A
Switchcomponent (nimbus-docs add switch): an on/off control. The shortcuts switch in the search dialog uses it.
-
#362
1fb505fThanks @MohamedH1998! - - API pages show "Copy MCP URL" in their page actions when the site serves an MCP server, as docs pages do. -
#378
5bc942dThanks @MohamedH1998! - - Add Try it to API pages: withtryIton an API and theapi-try-itcomponent, readers send requests from the code rail, straight from the browser or through the site's proxy, and see the response.ApiLayoutandApiCodeRailtake the panel through atry-itslot.- A JSON body can be edited as JSON or as fields; switching keeps every change.
-
#356
0a83b03Thanks @MohamedH1998! - -astro checkruns again on new sites installed with pnpm, instead of saying@astrojs/checkisn't installed. -
#376
28a3df0Thanks @MohamedH1998! - - The API code rail shows the reader's saved or linked code sample from the first paint, so it no longer resizes just after the page loads.choiceStateScriptin@cloudflare/nimbus-docs/runtimeshows a remembered choice among server-rendered panels before the page paints. Mark the group withdata-nb-choice(its storage key) and optionallydata-nb-choice-param, its panels withdata-nb-choice-paneland optionallydata-nb-choice-kind, and its<select>withdata-nb-choice-select, then render the script right after the group.- If you take the
api-code-railupdate, rename its old attributes in your own CSS, scripts and tests too.
-
#327
03c1609Thanks @MohamedH1998! - New sites'DocsLayoutandApiLayoutput the page's content before the sidebar in the HTML, so agents and text readers reach it first; pages look the same. The page actions row is a<nav aria-label="Page actions">, and the API union explorer's "View X schema →" link, which repeats the branch name's link, is markeddata-markdown-ignore.nimbus-docs migratelists them for existing sites as optional. -
#367
4c18262Thanks @MohamedH1998! - - Generated cURL, TypeScript and Python samples no longer need@readme/httpsnippet; onlyopenapi-sampleris needed for generated samples, and you can uninstall@readme/httpsnippet.- A TypeScript sample's options object wraps when its line would pass 80 characters, as the other samples already do.
-
#343
372b6a1Thanks @MohamedH1998! - - A page can set its language and share-image alt text:NimbusHead,BaseLayoutandDocsLayouttakelocaleandsocialImageAlt. The page's<html lang>,og:localeand JSON-LDinLanguagefollow it, and a right-to-left language setsdir="rtl", as a right-to-leftconfig.localenow does on every page.og:localeis written in Open Graph's form (en_US) instead of as a BCP 47 tag (en-US), and left out when the tag has no two-letter region.getPageLanguage()in@cloudflare/nimbus-docs/runtimegives a page's{ lang, dir }.HastPluginDefinitionandHastVisitorContextare exported from@cloudflare/nimbus-docs/markdown, for typing your own plugins.
-
#344
5229f0eThanks @MohamedH1998! - - Search: each sub-result is its own option the arrow keys reach, result links leave the Tab order, Home and End move the caret unless a result is active, and a reader on a deprecated version's page searches that version.- The search dialog stays open when a text selection is dragged onto its backdrop.
- The table of contents leaves out headings without an anchor and marks the last real heading active at the bottom of the page.
- The sidebar filter shows the groups around a matching nested group.
- The theme toggle shows the right icon from first paint, and a dismissed banner no longer flashes before it disappears.
- The destructive button's text is readable in dark mode.
- Steps counts from a Markdown list's own start (
3.). - A failed copy after a successful one shows the copy icon again.
- Image zoom fills an aspect-ratio frame with a
<picture>. - The hidden note for AI agents is no longer two invisible Tab stops.
-
#396
41680b1Thanks @MohamedH1998! - - Try it's authorization failure note no longer loses the top edge of its outline. -
#396
c3d1f0aThanks @MohamedH1998! - -tryIt.testKeyis a public test key that Try it's API key and bearer token fields start with, so a reader can send a request without entering anything.- Try it's proxy refuses a request that sets
X-Real-IP,True-Client-IP,Forwarded,X-Forwarded-*orCF-Connecting-IP, so a caller can't pose as another address to the API.
- Try it's proxy refuses a request that sets