renderedDoc

tcmts.site.renderedDoc · #cthizwa6 · term · runs anywhere

A page of the site (file), rendered from its Markdown: once per request, however many server components show part of it (React's cache, which tcm keeps for the request). codeBrowser: link definitions to the code browser.

import { highlighter, pageList, renderPage, SOURCES } from "#codebase/tcmts/site";
import { cache } from "react";

export const renderedDoc = cache(async (file: string, codeBrowser: boolean) => {
  const pages = pageList(SOURCES["docs/README.md"]!);
  const page = pages.find((p) => p.file === file) ?? pages[0]!;
  const rendered = renderPage(
    page,
    pages,
    SOURCES[page.src] ?? "",
    await highlighter(),
    () => true,
    true,
    codeBrowser,
  );
  return { pages, page, rendered };
})

uses

used by