On this page

The website generators for doc-kit: a static documentation site, rendered with Preact and bundled with Vite, and the outputs that usually ship with one: the search index, a sitemap, and llms.txt files for language models. Install it to build any of these. The JSON outputs come with @doc-kit/core and don't need it.

Once it's installed next to the CLI, the target names below resolve to this package.

Build the site and its search index into out/:

The site shows a search box when the search index is built in the same run. For a real project, keep the settings in a configuration file; Getting started walks through a first site.

TargetWritesReference
htmlThe site: a page per input file, all.html, 404.html, their scripts and styles, and copies of assets/, public/ and static/ (pathsToCopy)Website
section-pagesA page per section of each module (fs/readFile.html), added to the site and sitemapSection pages
orama-dborama-db.json, the search index the site's search box loadsSearch index
sitemapsitemap.xml, listing every page for search enginesSitemap
llms-txtllms.txt, a link to every page with its description, for language modelsllms.txt
llms-txt-fullllms-full.txt, every page's Markdown in one file, each preceded by its URLllms-full.txt

The package also ships jsx-ast (Page JSX), the stage that turns each page's API entries into JSX for html. It runs whenever html does, so it isn't one of the CLI's targets.

The site's content, look and build are options of html, listed in the Website reference. Customizing the site walks through them.

ImportWhat it is
@doc-kit/generator-react/<target>Each generator above, and jsx-ast, as the default export. The target names resolve to these, and a custom generator can name one in dependsOn.
@doc-kit/generator-react/html/bundlers/vitecreateViteBundler(options), the default bundler adapter: pass it your Vite configuration and set the result as html.bundler.
@doc-kit/generator-react/html/ui/*The site's UI source, for theme components that build on it, such as components/Layout/index.jsx (the default layout) and islands/withIsland.jsx (hydrates a component in the browser).