Minor Changes
-
#273
352a245Thanks @MohamedH1998! - A redesigned API reference:- The API home lists every endpoint, grouped by
x-tagGroups, with a filter; large specs load in parts as you scroll. The API route serves the later parts at/api/index/2/and on,noindexand left out of the sitemap and search; it takes the part size ashomeChunkSizein bothgetApiStaticPathsandgetApiRoute(without it, the home is one page), andgetApiRoutereturns the parts ashome. - Section pages list their endpoints name first, with the method and path beneath.
- The API version picker sits in the header, at every width.
- Code rail lines sit on whole pixels, with quieter line numbers; section titles are in full ink.
- The API sidebar's rows match the docs sidebar's.
- Section page operations gain
method,path,descriptionanddeprecated, and the root page gains anindexof every endpoint. getApiRootreads an API version's root page from any route;chunkApiIndexandapiIndexRowssplit and flatten its index.
nimbus-docs migratelists the optional steps to adopt it. - The API home lists every endpoint, grouped by
-
#274
961e85dThanks @MohamedH1998! - - New sites' share cards show the site's logo, the page's section and its title, on white. A long title shrinks before it's cut and stays within three lines.- The card's look lives in the site's
src/pages/og/_card.ts; the logo is drawn once, insrc/components/logo.ts, for the header and the cards. @cloudflare/nimbus-docs/ogfits text by measuring it and renders cards to PNG. It needssatoriand@resvg/resvg-js, optional peers.getPageSection(page)returns the label of a page's nearest parent, from the sidebar for docs pages and from the spec for API pages.
- The card's look lives in the site's
-
#274
91eb2e9Thanks @MohamedH1998! - -Cardtakeshref: the whole card becomes the link.- Diagram buttons and controls keep their 32px height inside prose.
- PUT and PATCH method chips meet 4.5:1 contrast in light mode.
- The version picker and the API field toggle are named by their visible text.
-
#272
9a65f9fThanks @MohamedH1998! - New sites start on the redesigned starter:- A fill-in Introduction as the home page, a Writing pages guide and a Components page replace the sample pages and the landing page.
- A new type scale, steel accent, code blocks, sidebar and header logo.
- One pagination bar for the previous and next pages; with focus in the bar,
[and]move between them. - Every component part has a
data-slotto style it by, except sidebar rows, which stay bare so large sidebars stay light. - Components wrap long words, URLs and labels instead of overflowing on phones.
- Text meets 4.5:1 contrast in light mode, Steps are a real list, manual Tabs render one tab list and pair each tab with its panel.
- Pages mirror correctly in right-to-left languages; code stays left to right.
- On phones, sites with several sections show them as tabs under the header.
- Thin, theme-coloured scrollbars.
PageActionsrenders extra actions passed as children; the layout passes the Copy MCP URL action that way.
Existing sites keep their look.
nimbus-docs migratelists optional steps to adopt it, the lighter sidebar rows, and the new favicons and asset caching. The registry adds avariantslib that Badge and Button install with them. -
#278
b6d4837Thanks @MohamedH1998! - - Route files say how they render.nimbus-docs checkreports each route Nimbus manages whose file disagrees withrendering, andcheck --fixrewrites it: theprerenderline, getStaticPaths on built routes only, and the collection name in a collection route's page helper. Withoutrendering, Nimbus builds every one of these routes ahead of time, a collection route such assrc/pages/sdk/[...slug].astroincluded.renderingstill wins at build, which now warns once and lists the files.- A built dynamic route with no getStaticPaths fails the build, naming the file; Astro can't build it.
- The page helpers take the collection as a second argument, such as
getCollectionPage(Astro, "sdk")orgetApiRoute(Astro, "api", { homeChunkSize }), so a request-rendered route needs no getStaticPaths to say which collection it serves. A route whose getStaticPaths and helper name different collections fails withnimbus/collection-route-mismatch. add adapter-*updates route files after settingrendering, and its recipes runcheck --fix.outdatedanddiffcompare starter route files in the site's own mode, so a routecheck --fixedited doesn't read as a local change.- The starter's Markdown,
llms.txtand docs page routes dropexport const prerender = true; the site'soutputandrenderingdecide how they render. A scaffold with a server adapter writes its route files in the mode itsrenderinggives them.
-
#284
f256109Thanks @MohamedH1998! - - A new site can include an API reference:--apiadds one at/api, from your OpenAPI 3.x file (--api ./openapi.yaml) or a sample, and--template apimakes it the whole site, at/. Without flags, the scaffolder asks what the site includes, and it refuses a spec that isn't OpenAPI 3.x before writing anything.AGENT.mdin a site with an API reference says where its spec and route are; a site that is only the reference has no docs-writing sections.- The starter's header shows Docs and API reference tabs when a site has an API reference beside its docs.
Patch Changes
-
#282
e983040Thanks @MohamedH1998! - - The package READMEs describe Nimbus as the authoring tool for docs, with the CLI by task and the scaffolder's options. -
#244
17bf1ceThanks @MohamedH1998! - -NIMBUS_BUILD_ONLY=docs-esbuilds one collection, or a comma-separated set, and leaves the others empty;dev,syncandcheckignore it with one notice.- A slice without the
docscollection writes its sitemap, search bundle, stylesheet, assets andllms-full.txtunder its prefix, and drops the root files the root slice serves. - The root slice's
llms.txtlists every collection'sllms.txt, and search merges the other slices' indexes at runtime. nimbus-docs lintchecks links into other slices against the previous build's routes, as warnings.- A slice build fails on an unknown collection, and on docs version collections split across slices. Slices work under Astro's
base: every URL a slice serves and advertises is under it. - The route list
nimbus-docs lintchecks against reads_redirectswhere the Cloudflare adapter moves it when the site has abase, so redirects stay known to link checking. searchIndexinvirtual:nimbus/confignames the search bundles as served URLs, base included. The starter's search provider loads its slice's bundle and merges the others.- A guide, "Build one locale or one part", with the Worker and zone routes per slice and a workflow that builds the slice a pull request touched.
- A slice without the
-
#285
d45764dThanks @MohamedH1998! - -migrate's redesigned-starter step listssrc/components/logo.ts, which the newLogo.astroimports.- Search results for API pages keep an operation's name, method and path apart, and no longer index the API home filter's Retry button.
-
#287
8758eebThanks @MohamedH1998! - -lintandcheckaccept relative links between a content source's pages, which the build turns into page URLs.- Search in a slice of several collections skips the other collections' bundles instead of failing.
@cloudflare/nimbus-docs/clientexportsmergeSearchIndexes, which the starter's search provider uses. - API operation pages keep field names, types and labels apart in search, and leave the expand controls out.
- The search button's accessible name starts with its visible label, and API pages name their sidebars.
- Search in a slice of several collections skips the other collections' bundles instead of failing.
-
#243
5604125Thanks @MohamedH1998! - -agents: { mcp: true }serves a remote MCP server at/mcpwithlist_pagesandget_pageover the published Markdown, plus a Server Card at/mcp/server-card, a line inllms.txtand an entry in the AI catalog. It needs a server adapter and@modelcontextprotocol/server;nimbus-docs checkreports a missing SDK.- Docs pages in the starter show a "Copy MCP URL" page action that copies the server URL when the server is on. On an existing site, run
nimbus-docs diff src/components/ConnectMcp.astro --applyandnimbus-docs diff src/components/connect-mcp.client.ts --apply, then pass{capabilities.mcpUrl && <ConnectMcp />}to<PageActions>insrc/layouts/DocsLayout.astro, as the Remote MCP server guide shows.
- Docs pages in the starter show a "Copy MCP URL" page action that copies the server URL when the server is on. On an existing site, run
-
#287
8758eebThanks @MohamedH1998! - -add adapter-cloudflareon a pnpm site declines workerd's build script first, so the install no longer fails.- A slice's Markdown images are published under its prefix, and Markdown images load in
astro dev. - WebMCP search covers every slice, like the search dialog. On an existing site, pass
searchIndexto it as the starter'sWebMCP.astrodoes. - Search excerpts for request-rendered pages read as text, not Markdown syntax.
add --overwritenames the files that carry your edits.
- A slice's Markdown images are published under its prefix, and Markdown images load in
-
#260
0c31e84Thanks @MohamedH1998! - -add --overwritewithout a terminal keeps components you've edited and exits 1;--overwrite --yesreplaces them and says how many carried edits.add a binstalls both; an unknown slug stops before anything is installed.checksays an optional upgrade stays listed untilmigraterecords the version as reviewed.- New pnpm sites build pages with local images:
sharpis a starter dependency. astro build --root <site>from another folder finds the social-card font.