DocsPage
uses process
The page kept in file (apps.html), rendered on the server: its text, and the pages before and after it. The
published site (pnpm docs:site, which sets TCM_SITE_VERSION) says the commit it was built from, and links
definitions to its code browser.
import { hrefFor, renderedDoc, titleOf } from "#codebase/tcmts/site"; export async function DocsPage({ file }: { file: string }) { const published = process.env.TCM_SITE_VERSION; const { pages, page, rendered } = await renderedDoc(file, published !== undefined); const prev = pages[page.n - 1]; const next = pages[page.n + 1]; return ( <> <title>{titleOf(page, rendered)}</title> <main> <article dangerouslySetInnerHTML={{ __html: rendered.html }} /> <div className="rule" aria-hidden="true" /> <footer> <span>{prev && <><< <a href={hrefFor(prev.file, true)}>[{prev.n}] {prev.label}</a></>}</span> <span>{next && <><a href={hrefFor(next.file, true)}>[{next.n}] {next.label}</a> >></>}</span> </footer> {published && <p className="build">built from {published}</p>} </main> </> ); }