# API Documentation

Generated by [Ox Content](https://github.com/ubugeeei-prod/ox-content)

> Use search scopes like `@api transform` to limit results to the generated API reference.

<div class="ox-api-stats" aria-label="API reference summary">
<span class="ox-api-stat">
  <strong>128</strong>
  <span>modules</span>
</span>
<span class="ox-api-stat">
  <strong>793</strong>
  <span>symbols</span>
</span>
<span class="ox-api-stat">
  <strong>330</strong>
  <span>functions</span>
</span>
<span class="ox-api-stat">
  <strong>300</strong>
  <span>interfaces</span>
</span>
<span class="ox-api-stat">
  <strong>40</strong>
  <span>types</span>
</span>
<span class="ox-api-stat">
  <strong>26</strong>
  <span>variables</span>
</span>
<span class="ox-api-stat">
  <strong>97</strong>
  <span>modules</span>
</span>
<span class="ox-api-stat">
  <strong>635</strong>
  <span>parameters</span>
</span>
<span class="ox-api-stat">
  <strong>1618</strong>
  <span>members</span>
</span>
<span class="ox-api-stat">
  <strong>327</strong>
  <span>returns</span>
</span>
<span class="ox-api-stat">
  <strong>20</strong>
  <span>examples</span>
</span>
<span class="ox-api-stat ox-api-stat--warning">
  <strong>2</strong>
  <span>deprecated</span>
</span>
</div>

## Modules

<div class="ox-api-controls" data-ox-api-target=".ox-api-module" role="toolbar" aria-label="Reference display controls">
<button type="button" class="ox-api-controls__button" data-ox-api-toggle="expand">Open all</button>
<button type="button" class="ox-api-controls__button" data-ox-api-toggle="collapse">Close all</button>
</div>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./api.md">api</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./api.md#fetchgithubresource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">fetchGitHubResource(resource: GitHubResourceRef, options: Required&lt;GitHubOptions&gt;): Promise&lt;GitHubResourceData | null&gt;</code></a><span class="ox-api-module__summary">Fetch public GitHub issue, pull request, commit, discussion, or gist metadata.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;GitHubResourceData | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./api.md#fetchgithubsource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">fetchGitHubSource(source: GitHubSourceRef, options: Required&lt;GitHubOptions&gt;): Promise&lt;GitHubSourceData | null&gt;</code></a><span class="ox-api-module__summary">Fetch source file data from GitHub API.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;GitHubSourceData | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./api.md#fetchrepodata" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">fetchRepoData(repo: string, options: Required&lt;GitHubOptions&gt;): Promise&lt;GitHubRepoData | null&gt;</code></a><span class="ox-api-module__summary">Fetch repository data from GitHub API.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;GitHubRepoData | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./api.md#prefetchgithubrepos" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">prefetchGitHubRepos(repos: string[], options?: GitHubOptions): Promise&lt;Map&lt;string, GitHubRepoData | null&gt;&gt;</code></a><span class="ox-api-module__summary">Pre-fetch all GitHub repos data.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;Map&lt;string, GitHubRepoData | null&gt;&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./api.md#prefetchgithubresources" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">prefetchGitHubResources(resources: GitHubResourceRef[], options?: GitHubOptions): Promise&lt;Map&lt;string, GitHubResourceData | null&gt;&gt;</code></a><span class="ox-api-module__summary">Pre-fetch all GitHub resource cards.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;Map&lt;string, GitHubResourceData | null&gt;&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./api.md#prefetchgithubsources" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">prefetchGitHubSources(sources: GitHubSourceRef[], options?: GitHubOptions): Promise&lt;Map&lt;string, GitHubSourceData | null&gt;&gt;</code></a><span class="ox-api-module__summary">Pre-fetch all GitHub source files.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;Map&lt;string, GitHubSourceData | null&gt;&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./apply-permalinks.md">apply-permalinks</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./apply-permalinks.md#apply-permalinks" class="ox-api-module__link"><code class="ox-api-module__name">apply-permalinks</code></a><span class="ox-api-module__summary">Applies resolved permalinks / cascade to SSG pages and collection entries.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./apply-permalinks.md#applycollectionroutes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">applyCollectionRoutes(manifest: CollectionManifest, permalinks?: ResolvedPermalinksOptions | null, cascade?: ResolvedCascadeOptions | null): { manifest: CollectionManifest; errors: string[] }</code></a><span class="ox-api-module__summary">Rewrites collection path / stem / inherited frontmatter.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns object</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./apply-permalinks.md#applyssgpageroutes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">applySsgPageRoutes(input: { pages: readonly SsgRoutablePage[]; permalinks?: ResolvedPermalinksOptions | null; cascade?: ResolvedCascadeOptions | null; srcDir: string; outDir: string; base: string; extension: string; siteUrl?: string; }): { pages: SsgRoutablePage[]; errors: string[] }</code></a><span class="ox-api-module__summary">Rewrites SSG routePaths from resolved permalinks / slugs.</span><span class="ox-api-module__meta"><span class="ox-api-badge">9 params</span><span class="ox-api-badge">returns object</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./apply-permalinks.md#remapnavgroups" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">remapNavGroups&lt;T extends NavGroup&gt;(nav: T[], kept: readonly { fileUrl: string; urlPath: string; href: string }[], skippedFileUrls: readonly string[]): T[]</code></a><span class="ox-api-module__summary">Updates auto-nav hrefs after permalinks change a page URL.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns T[]</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./apply-permalinks.md#ssgroutablepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgRoutablePage</code></a><span class="ox-api-module__summary">SSG page shape that can have its routePaths rewritten.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./attributes.md">attributes</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./attributes.md#collectgithubrepos" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">collectGitHubRepos(html: string): Promise&lt;string[]&gt;</code></a><span class="ox-api-module__summary">Collect all GitHub repos from HTML for pre-fetching.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;string[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./attributes.md#collectgithubresources" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">collectGitHubResources(html: string): Promise&lt;GitHubResourceRef[]&gt;</code></a><span class="ox-api-module__summary">Collect all GitHub issue, pull request, commit, discussion, and gist refs.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;GitHubResourceRef[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./attributes.md#collectgithubsources" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">collectGitHubSources(html: string): Promise&lt;GitHubSourceRef[]&gt;</code></a><span class="ox-api-module__summary">Collect all GitHub source references from HTML for pre-fetching.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;GitHubSourceRef[]&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./block-structure.md">block-structure</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./block-structure.md#blockembedtags" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">blockEmbedTags(): Promise&lt;ReadonlySet&lt;string&gt;&gt;</code></a><span class="ox-api-module__summary">Every tag whose embed is a block, taken from the registry rather than copied. A hand-ke…</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns Promise&lt;ReadonlySet&lt;string&gt;&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./block-structure.md#typescript_only_block_embed_tags" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const TYPESCRIPT_ONLY_BLOCK_EMBED_TAGS = [&quot;github&quot;, &quot;ogcard&quot;, &quot;reddit&quot;, &quot;youtube&quot;] as const</code></a><span class="ox-api-module__summary">Block embeds this package owns, which the Rust provider registry cannot name. NotByAI i…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-feed-date.md">blog-feed-date</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-feed-date.md#blog-feed-date" class="ox-api-module__link"><code class="ox-api-module__name">blog-feed-date</code></a><span class="ox-api-module__summary">Publication dates from RSS / Atom items.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-feed-fetch.md">blog-feed-fetch</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-feed-fetch.md#blog-feed-fetch" class="ox-api-module__link"><code class="ox-api-module__name">blog-feed-fetch</code></a><span class="ox-api-module__summary">Build-time fetch of configured blog feeds. Never used for document URLs.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./blog-feed-fetch.md#installblogfeednetwork" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">installBlogFeedNetwork(network: BlogFeedNetwork): void</code></a><span class="ox-api-module__summary">Test hook. Production builds leave this empty.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns void</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-feed-parse.md">blog-feed-parse</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-feed-parse.md#blog-feed-parse" class="ox-api-module__link"><code class="ox-api-module__name">blog-feed-parse</code></a><span class="ox-api-module__summary">RSS 2.0 / Atom 1.0 item extraction. HTML documents are rejected.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-feed-url.md">blog-feed-url</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-feed-url.md#blog-feed-url" class="ox-api-module__link"><code class="ox-api-module__name">blog-feed-url</code></a><span class="ox-api-module__summary">Safe-URL checks for configured external blog feeds.</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./blog-feed-url.md#control_chars" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const CONTROL_CHARS = /[\n\r\t\0]/</code></a><span class="ox-api-module__summary">Safe-URL checks for configured external blog feeds.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-feeds.md">blog-feeds</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-feeds.md#blog-feeds" class="ox-api-module__link"><code class="ox-api-module__name">blog-feeds</code></a><span class="ox-api-module__summary">Load, normalize, and merge configured external blog feeds.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-html.md">blog-html</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-html.md#blog-html" class="ox-api-module__link"><code class="ox-api-module__name">blog-html</code></a><span class="ox-api-module__summary">Escaped blog index, tag, archive, and post-meta HTML.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./blog-html.md#blogsourcepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BlogSourcePage</code></a><span class="ox-api-module__summary">One listed post considered for blog surfaces.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./blog-html.md#issafeblogurl" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isSafeBlogUrl(value: string): boolean</code></a><span class="ox-api-module__summary">https: or a same-origin path starting with / but not //.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-options.md">blog-options</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-options.md#blog-options" class="ox-api-module__link"><code class="ox-api-module__name">blog-options</code></a><span class="ox-api-module__summary">Blog option resolution.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./blog-options.md#resolveblogcollectionname" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveBlogCollectionName(requested: string | undefined, collectionNames: readonly string[]): string | undefined</code></a><span class="ox-api-module__summary">Picks a collection named blog, else the only configured collection. An explicit name al…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-pages.md">blog-pages</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./blog-pages.md#appendblogpages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">appendBlogPages(input: { generatedPages: Array&lt;{ inputPath: string; outputPath: string; html: string }&gt;; listedPages: readonly BlogSourcePage[]; options?: ResolvedBlogOptions; collections?: ResolvedCollectionsOptions; srcDir: string; outDir: string; base: string; render: (page: BlogGeneratedPage) =&gt; Promise&lt;string&gt;; errors: string[]; feedNetwork?: BlogFeedNetwork; }): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Renders index, tag, and archive pages and appends them to the build.</span><span class="ox-api-module__meta"><span class="ox-api-badge">11 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-pages.md#blog-pages" class="ox-api-module__link"><code class="ox-api-module__name">blog-pages</code></a><span class="ox-api-module__summary">Generated blog index, tag, and archive pages.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./blog-pages.md#bloggeneratedpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BlogGeneratedPage</code></a><span class="ox-api-module__summary">Synthetic page passed back to generateHtmlPage.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./blog-pages.md#toblogprocessresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">toBlogProcessResult(page: BlogGeneratedPage): { inputPath: string; routePaths: { outputPath: string; urlPath: string; href: string; ogImagePath: string; ogImageUrl: string; }; transformedHtml: string; title: string; frontmatter: Record&lt;string, unknown&gt;; toc: []; }</code></a><span class="ox-api-module__summary">Maps a generated blog page onto the SSG render shape.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns object</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-posts.md">blog-posts</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-posts.md#blog-posts" class="ox-api-module__link"><code class="ox-api-module__name">blog-posts</code></a><span class="ox-api-module__summary">Blog post selection, tags, authors, and dates.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog-reading.md">blog-reading</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog-reading.md#blog-reading" class="ox-api-module__link"><code class="ox-api-module__name">blog-reading</code></a><span class="ox-api-module__summary">Deterministic blog reading-time estimates.</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./blog-reading.md#latin_words_per_minute" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const LATIN_WORDS_PER_MINUTE = 200</code></a><span class="ox-api-module__summary">Deterministic blog reading-time estimates.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./blog.md">blog</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./blog.md#blog" class="ox-api-module__link"><code class="ox-api-module__name">blog</code></a><span class="ox-api-module__summary">Opt-in blog index, authors, tags, reading time, and archive.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./browser.md">browser</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./browser.md#browser" class="ox-api-module__link"><code class="ox-api-module__name">browser</code></a><span class="ox-api-module__summary">Chromium browser session with automatic cleanup via Explicit Resource Management. Usage…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./browser.md#ogbrowserpool" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgBrowserPool extends AsyncDisposable</code></a><span class="ox-api-module__summary">A set of independent sessions, closed together.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./browser.md#ogbrowsersession" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgBrowserSession extends AsyncDisposable</code></a><span class="ox-api-module__summary">A browser session that can render HTML pages to PNG. Implements AsyncDisposable for aut…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./browser.md#openbrowser" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">openBrowser(): Promise&lt;OgBrowserSession | null&gt;</code></a><span class="ox-api-module__summary">Opens a Chromium browser and returns a session for rendering OG images. Returns null if…</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns Promise&lt;OgBrowserSession | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./browser.md#openbrowserpool" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">openBrowserPool(size: number): Promise&lt;OgBrowserPool | null&gt;</code></a><span class="ox-api-module__summary">Opens up to size independent browsers. Rendering does not parallelize inside one browse…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;OgBrowserPool | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./browser.md#pooledpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PooledPage</code></a><span class="ox-api-module__summary">A pooled page and the public directory its route handler was set up for.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./cache.md">cache</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./cache.md#cache" class="ox-api-module__link"><code class="ox-api-module__name">cache</code></a><span class="ox-api-module__summary">Content-hash based caching for OG images. Uses SHA256 of (template source + props + opt…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./cache.md#computecachekey" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">computeCacheKey(templateSource: string, props: Record&lt;string, unknown&gt;, width: number, height: number): string</code></a><span class="ox-api-module__summary">Computes a cache key from template + props + options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./cache.md#getcached" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getCached(cacheDir: string, key: string): Promise&lt;Buffer | null&gt;</code></a><span class="ox-api-module__summary">Checks if a cached PNG exists for the given key. Returns the cached file path if found,…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;Buffer | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./cache.md#iscached" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isCached(cacheDir: string, key: string): Promise&lt;boolean&gt;</code></a><span class="ox-api-module__summary">Whether a cached PNG exists, without reading it. Deciding whether the browser has to st…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;boolean&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./cache.md#writecache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeCache(cacheDir: string, key: string, png: Buffer): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Writes a PNG buffer to the cache.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./citations.md">citations</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./citations.md#islinklabel" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isLinkLabel(markdown: string, match: RegExpMatchArray): boolean</code></a><span class="ox-api-module__summary">A bracketed span that a destination or reference immediately follows is a Markdown link…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns boolean</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./collection-asset-html.md">collection-asset-html</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./collection-asset-html.md#rewritecollectionasseturls" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">rewriteCollectionAssetUrls(input: RewriteCollectionAssetUrlsInput): RewriteCollectionAssetUrlsResult</code></a><span class="ox-api-module__summary">Rewrites host-rendered HTML references from collection aliases to their content-address…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns RewriteCollectionAssetUrlsResult</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./collection-assets.md">collection-assets</a></span>
    <span class="ox-api-module__count">7 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./collection-assets.md#collectionassetinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionAssetInput</code></a><span class="ox-api-module__summary">One collection file and the public URLs that should expose it.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./collection-assets.md#collectionassetmanifest" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionAssetManifest</code></a><span class="ox-api-module__summary">A reusable asset plan for a custom host&#39;s build writer and development middleware. Sour…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./collection-assets.md#collectionassetmanifestentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionAssetManifestEntry</code></a><span class="ox-api-module__summary">A source file, its normalized aliases, and its content-addressed URL.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./collection-assets.md#createcollectionassetsmiddleware" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createCollectionAssetsMiddleware(manifest: CollectionAssetManifest): AssetMiddleware</code></a><span class="ox-api-module__summary">Create Connect-compatible middleware that serves planned aliases and their content-addr…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns AssetMiddleware</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./collection-assets.md#plancollectionassets" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">planCollectionAssets(input: PlanCollectionAssetsInput): Promise&lt;CollectionAssetManifest&gt;</code></a><span class="ox-api-module__summary">Hash collection files and normalize their public aliases without taking over the host r…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;CollectionAssetManifest&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./collection-assets.md#plancollectionassetsinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PlanCollectionAssetsInput</code></a><span class="ox-api-module__summary">Inputs for a content-addressed collection asset manifest.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./collection-assets.md#writecollectionassets" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeCollectionAssets(input: WriteCollectionAssetsInput): Promise&lt;WriteCollectionAssetsResult&gt;</code></a><span class="ox-api-module__summary">Write each content-addressed target once, then materialize its aliases with hard links…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;WriteCollectionAssetsResult&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./contributors.md">contributors</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./contributors.md#contributors" class="ox-api-module__link"><code class="ox-api-module__name">contributors</code></a><span class="ox-api-module__summary">Opt-in git contributor list helpers. Resolution and ignore filtering live here. git log…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./contributors.md#resolvecontributorsoption" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveContributorsOption(value: boolean | ContributorsOptions | undefined): ResolvedContributors</code></a><span class="ox-api-module__summary">Resolves ssg.contributors with defaults. false / omitted stays off. true enables names…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedContributors</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./cross-reference-html.md">cross-reference-html</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./cross-reference-html.md#cross-reference-html" class="ox-api-module__link"><code class="ox-api-module__name">cross-reference-html</code></a><span class="ox-api-module__summary">The escaping and prose-scanning helpers the citation pass still needs. The cross-refere…</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./cross-reference-html.md#protected_text_re" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const PROTECTED_TEXT_RE = /&lt;!--[\s\S]*?--&gt;|&lt;(pre|code|script|style|textarea|a)\b[\s\S]*?&lt;\/\1&gt;/gi</code></a><span class="ox-api-module__summary">The escaping and prose-scanning helpers the citation pass still needs. The cross-refere…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./cross-reference-html.md#transformtext" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformText(html: string, replacer: (text: string) =&gt; string): string</code></a><span class="ox-api-module__summary">Runs replacer over every stretch of prose, skipping verbatim elements.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./dev-server.md">dev-server</a></span>
    <span class="ox-api-module__count">13 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#createdevservercache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createDevServerCache(): DevServerCache</code></a><span class="ox-api-module__summary">Create a dev server cache instance.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns DevServerCache</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#createdevservermiddleware" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createDevServerMiddleware(options: ResolvedOptions, root: string, cache: DevServerCache): Connect.NextHandleFunction</code></a><span class="ox-api-module__summary">Create the dev server middleware for SSG page serving.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Connect.NextHandleFunction</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./dev-server.md#dev-server" class="ox-api-module__link"><code class="ox-api-module__name">dev-server</code></a><span class="ox-api-module__summary">Dev server middleware for ox-content SSG. Serves fully-rendered HTML pages (with naviga…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./dev-server.md#devservercache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DevServerCache</code></a><span class="ox-api-module__summary">Dev server state for caching.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#injectvitehmrclient" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">injectViteHmrClient(html: string): string</code></a><span class="ox-api-module__summary">Inject Vite HMR client script into the HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#invalidatenavcache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">invalidateNavCache(cache: DevServerCache): void</code></a><span class="ox-api-module__summary">Invalidate navigation cache (called on file add/unlink).</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns void</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#invalidatepagecache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">invalidatePageCache(cache: DevServerCache, filePath: string): void</code></a><span class="ox-api-module__summary">Invalidate page cache for a specific file (called on file change).</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns void</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#renderpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderPage(filePath: string, options: ResolvedOptions, navGroups: NavGroup[], siteName: string, base: string, root: string, localePages: Array&lt;{ path: string; href: string }&gt;, hmr: boolean): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Render a single markdown page to full HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#resolvemarkdownfile" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveMarkdownFile(url: string, srcDir: string, extensions: readonly string[]): Promise&lt;string | null&gt;</code></a><span class="ox-api-module__summary">Resolve a request URL to a markdown file path. Returns null if no matching file exists.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;string | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#resolvesitename" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveSiteName(options: ResolvedOptions, root: string): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Resolve site name from options or package.json.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./dev-server.md#shouldskip" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">shouldSkip(url: string): boolean</code></a><span class="ox-api-module__summary">Check if a request URL should be skipped by the dev server middleware.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./dev-server.md#skip_extensions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const SKIP_EXTENSIONS = new Set([ &quot;.js&quot;, &quot;.ts&quot;, &quot;.css&quot;, &quot;.scss&quot;, &quot;.less&quot;, &quot;.svg&quot;, &quot;.png&quot;, &quot;.jpg&quot;, &quot;.jpeg&quot;, &quot;.gif&quot;, &quot;.webp&quot;, &quot;.ico&quot;, &quot;.woff&quot;, &quot;.woff2&quot;, &quot;.ttf&quot;, &quot;.eot&quot;, &quot;.json&quot;, &quot;.map&quot;, &quot;.mp4&quot;, &quot;.webm&quot;, &quot;.mp3&quot;, &quot;.pdf&quot;, ])</code></a><span class="ox-api-module__summary">File extensions to skip in the middleware.</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./dev-server.md#vite_internal_prefixes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const VITE_INTERNAL_PREFIXES = [&quot;/@vite/&quot;, &quot;/@fs/&quot;, &quot;/@id/&quot;, &quot;/__&quot;]</code></a><span class="ox-api-module__summary">Vite internal URL prefixes to skip.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./docs.md">docs</a></span>
    <span class="ox-api-module__count">7 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./docs.md#docs" class="ox-api-module__link"><code class="ox-api-module__name">docs</code></a><span class="ox-api-module__summary">Source Documentation Extraction and Generation This module provides comprehensive tools…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./docs.md#existinggeneratedat" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">existingGeneratedAt(outDir: string): string | undefined</code></a><span class="ox-api-module__summary">Keep docs.json&#39;s timestamp stable across regenerations of the same tree.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./docs.md#extractdocs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">extractDocs(srcDirs: string[], options: ResolvedDocsOptions): Promise&lt;ExtractedDocs[]&gt;</code></a><span class="ox-api-module__summary">Extracts JSDoc documentation from source files in specified directories. This function…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;ExtractedDocs[]&gt;</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./docs.md#generatemarkdown" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateMarkdown(docs: ExtractedDocs[], options: ResolvedDocsOptions): Record&lt;string, string&gt;</code></a><span class="ox-api-module__summary">Generates Markdown documentation from extracted docs.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Record&lt;string, string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./docs.md#generateopenapidocs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateOpenApiDocs(options: ResolvedDocsOptions, root = process.cwd()): GeneratedOpenApiDocs</code></a><span class="ox-api-module__summary">Generates Markdown documentation from local OpenAPI 3.0/3.1 files.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns GeneratedOpenApiDocs</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./docs.md#resolvedocsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveDocsOptions(options: false): false</code></a><span class="ox-api-module__summary">Resolves docs options with defaults.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns false</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./docs.md#writedocs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeDocs(docs: Record&lt;string, string&gt;, outDir: string, extractedDocs?: ExtractedDocs[], options?: ResolvedDocsOptions, extraNav: DocsNavigationItem[] = []): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Writes generated documentation to the output directory.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./document-imports.md">document-imports</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./document-imports.md#document-imports" class="ox-api-module__link"><code class="ox-api-module__name">document-imports</code></a><span class="ox-api-module__summary">Resolve MDX component imports relative to the document that declared them. Only ./ and…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./document-islands.md">document-islands</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./document-islands.md#document-islands" class="ox-api-module__link"><code class="ox-api-module__name">document-islands</code></a><span class="ox-api-module__summary">Combine document-local import resolution with MDX island discovery.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./embed-transform.md">embed-transform</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./embed-transform.md#embed-transform" class="ox-api-module__link"><code class="ox-api-module__name">embed-transform</code></a><span class="ox-api-module__summary">Reserve first-party embed components so MDX island lowering cannot swallow them. Rust s…</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./embed-transform.md#payload_script" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const PAYLOAD_SCRIPT = /^\s*&lt;script type=&quot;application\/json&quot;&gt;[\s\S]*?&lt;\/script&gt;/</code></a><span class="ox-api-module__summary">Reserve first-party embed components so MDX island lowering cannot swallow them. Rust s…</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./embed-transform.md#reserved_builtin_components" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const RESERVED_BUILTIN_COMPONENTS = [ &quot;GitHub&quot;, &quot;OgCard&quot;, &quot;Tweet&quot;, &quot;XPost&quot;, &quot;Reddit&quot;, &quot;Bluesky&quot;, &quot;GoogleMaps&quot;, &quot;Qiita&quot;, &quot;Zenn&quot;, &quot;NpmPackage&quot;, &quot;CratesIo&quot;, &quot;PyPI&quot;, &quot;DockerHub&quot;, &quot;CodePen&quot;, &quot;JSFiddle&quot;, &quot;Observable&quot;, &quot;Vimeo&quot;, &quot;Twitch&quot;, &quot;Discord&quot;, &quot;Fediverse&quot;, &quot;Mastodon&quot;, &quot;Misskey&quot;, &quot;Mixi2&quot;, &quot;Facebook&quot;, &quot;Threads&quot;, &quot;Instagram&quot;, &quot;Spotify&quot;, &quot;AppleMusic&quot;, &quot;SpeakerDeck&quot;, &quot;Audio&quot;, &quot;Video&quot;, &quot;StackBlitz&quot;, &quot;WebContainer&quot;, &quot;YouTube&quot;, &quot;NotByAI&quot;, ] as const</code></a><span class="ox-api-module__summary">Canonical PascalCase names for first-party embed / media components. Keep in sync with…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./embed-transform.md#restorereservedbuiltinislands" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">restoreReservedBuiltinIslands(html: string, localNames?: Iterable&lt;string&gt;): string</code></a><span class="ox-api-module__summary">Replace reserved built-in islands with the original HTML tags so embed transforms can s…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./environment.md">environment</a></span>
    <span class="ox-api-module__count">7 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./environment.md#createenvironmentplugins" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createEnvironmentPlugins(options: ResolvedOptions)</code></a><span class="ox-api-module__summary">Environment plugin factory. Creates plugins specific to the Markdown environment.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./environment.md#createmarkdownenvironment" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createMarkdownEnvironment(options: ResolvedOptions, runtime: OxContentJavaScriptRuntime = detectJavaScriptRuntime()): EnvironmentOptions</code></a><span class="ox-api-module__summary">Creates the Markdown processing environment configuration. This environment is used for…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns EnvironmentOptions</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./environment.md#createtransformoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createTransformOptions(ctx: EnvironmentTransformContext, options: ResolvedOptions): ResolvedOptions</code></a><span class="ox-api-module__summary">Creates environment-aware transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns ResolvedOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./environment.md#detectjavascriptruntime" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">detectJavaScriptRuntime(): OxContentJavaScriptRuntime</code></a><span class="ox-api-module__summary">Detects the runtime that is executing Vite.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns OxContentJavaScriptRuntime</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./environment.md#environment" class="ox-api-module__link"><code class="ox-api-module__name">environment</code></a><span class="ox-api-module__summary">Vite Environment API integration for Ox Content. Creates a dedicated environment for Ma…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./environment.md#environmenttransformcontext" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">EnvironmentTransformContext</code></a><span class="ox-api-module__summary">Environment-specific module transformer. This is called during the transform phase to p…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./environment.md#prerender" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">prerender(files: string[], _options: ResolvedOptions): Promise&lt;Map&lt;string, string&gt;&gt;</code></a><span class="ox-api-module__summary">Runs pre-render for SSG. This function is called during build to pre-render all Markdow…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;Map&lt;string, string&gt;&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./fallback-card.md">fallback-card</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./fallback-card.md#createfallbackcard" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createFallbackCard(repo: string): Element</code></a><span class="ox-api-module__summary">Create fallback element when repo data is unavailable.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Element</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./feed-date.md">feed-date</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./feed-date.md#parsedate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">parseDate(value: string | undefined): ParsedDate | undefined</code></a><span class="ox-api-module__summary">Parse a feed date: epoch seconds, epoch milliseconds, or a civil date-time with an opti…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ParsedDate | undefined</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./feed-format.md">feed-format</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./feed-format.md#feed-format" class="ox-api-module__link"><code class="ox-api-module__name">feed-format</code></a><span class="ox-api-module__summary">Shapes the feed pipeline passes between item selection and the native renderer. The bod…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./feeds-native.md">feeds-native</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./feeds-native.md#feedchannelextras" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedChannelExtras</code></a><span class="ox-api-module__summary">Channel fields the formats emit when the standard has a matching slot.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./feeds-native.md#feeds-native" class="ox-api-module__link"><code class="ox-api-module__name">feeds-native</code></a><span class="ox-api-module__summary">Bridges the resolved feed inputs onto generateFeedBodies. The TypeScript renderer this…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./feeds-native.md#nativeitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">nativeItem(item: FeedEntry): Record&lt;string, unknown&gt;</code></a><span class="ox-api-module__summary">FeedEntry carries the date already parsed into UTC components; the native side takes th…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Record&lt;string, unknown&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./feeds.md">feeds</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./feeds.md#feeds" class="ox-api-module__link"><code class="ox-api-module__name">feeds</code></a><span class="ox-api-module__summary">Opt-in RSS / Atom / JSON Feed helpers. Bodies come from ox<em>content</em>ssg::generate_feeds…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./feeds.md#feedsrenderinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedsRenderInput</code></a><span class="ox-api-module__summary">Inputs for rendering feed bodies.</span><span class="ox-api-module__meta"><span class="ox-api-badge">9 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./feeds.md#feedsrenderresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedsRenderResult</code></a><span class="ox-api-module__summary">Rendered feed bodies, or a skip warning.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./feeds.md#generatefeeds" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateFeeds(input: FeedsRenderInput): FeedsRenderResult</code></a><span class="ox-api-module__summary">Builds RSS / Atom / JSON Feed bodies without writing files.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns FeedsRenderResult</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./feeds.md#resolvefeedcollectionname" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveFeedCollectionName(requested: string | undefined, collectionNames: readonly string[]): string | undefined</code></a><span class="ox-api-module__summary">Picks content, else the first configured collection name.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./feeds.md#resolvefeedsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveFeedsOptions(value: boolean | FeedsOptions | undefined): ResolvedFeedsOptions</code></a><span class="ox-api-module__summary">Resolves feeds with defaults. false / omitted stays off. true enables all three formats…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedFeedsOptions</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./header-chrome.md">header-chrome</a></span>
    <span class="ox-api-module__count">10 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./header-chrome.md#header-chrome" class="ox-api-module__link"><code class="ox-api-module__name">header-chrome</code></a><span class="ox-api-module__summary">Opt-in header nav, announcement, and per-page chrome helpers.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./header-chrome.md#headernavitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeaderNavItem</code></a><span class="ox-api-module__summary">Header nav link or dropdown.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./header-chrome.md#localelabel" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">LocaleLabel = string | Record&lt;string, string&gt;</code></a><span class="ox-api-module__summary">Plain label or locale map ({ en: &quot;Guide&quot;, ja: &quot;ガイド&quot; }).</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./header-chrome.md#pagechromeflags" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PageChromeFlags</code></a><span class="ox-api-module__summary">Per-page frontmatter chrome flags. false hides that region.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./header-chrome.md#parsepagechromeflags" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">parsePageChromeFlags(frontmatter: Record&lt;string, unknown&gt;): PageChromeFlags</code></a><span class="ox-api-module__summary">Reads hide flags from frontmatter. Non-boolean values are ignored.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns PageChromeFlags</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./header-chrome.md#resolvedheadernavitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedHeaderNavItem</code></a><span class="ox-api-module__summary">Nav item after locale maps are flattened to strings.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./header-chrome.md#resolveheadernavitems" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveHeaderNavItems(items: HeaderNavItem[] | undefined, locale?: string, defaultLocale?: string): ResolvedHeaderNavItem[] | undefined</code></a><span class="ox-api-module__summary">Resolves locale maps so NAPI always receives string labels.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns ResolvedHeaderNavItem[] | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./header-chrome.md#resolvelocalelabel" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveLocaleLabel(text: LocaleLabel, locale?: string, defaultLocale?: string): string</code></a><span class="ox-api-module__summary">Picks the exact locale, its language, the default locale, then the first non-empty own…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./header-chrome.md#resolvepagechromeoption" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolvePageChromeOption(value: boolean | Record&lt;string, unknown&gt; | undefined): boolean</code></a><span class="ox-api-module__summary">false or omitted stays off. true or {} enables default flag reading.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./header-chrome.md#themeannouncement" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeAnnouncement</code></a><span class="ox-api-module__summary">Announcement bar. Text is escaped; no raw HTML slot.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./highlight-native.md">highlight-native</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./highlight-native.md#gettextcontent" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getTextContent(node: Element | Root): string</code></a><span class="ox-api-module__summary">Extract text content from a hast node.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./highlight-native.md#highlight-native" class="ox-api-module__link"><code class="ox-api-module__name">highlight-native</code></a><span class="ox-api-module__summary">The native tree-sitter highlighting path, plus the small hast helpers the per-block wal…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./highlight-native.md#highlightdocumentnatively" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">highlightDocumentNatively(html: string): Promise&lt;NativeDocument | null&gt;</code></a><span class="ox-api-module__summary">Highlights every code block in a rendered document in one native call. Returns the rewr…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;NativeDocument | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./highlight-native.md#highlightnatively" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">highlightNatively(code: string, lang: string): string | null</code></a><span class="ox-api-module__summary">Highlights with the native tree-sitter engine, or null when it has no grammar for lang.…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | null</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./highlight-native.md#nativedocument" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NativeDocument</code></a><span class="ox-api-module__summary">What highlightDocumentNatively produced for a page.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./highlight-native.md#pendingblock" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PendingBlock</code></a><span class="ox-api-module__summary">A block the native pass left unhighlighted (no grammar).</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./highlight.md">highlight</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./highlight.md#highlight" class="ox-api-module__link"><code class="ox-api-module__name">highlight</code></a><span class="ox-api-module__summary">Syntax highlighting with the native tree-sitter engine. Markup uses &lt;pre class=&quot;ox-high…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./highlight.md#highlightcode" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">highlightCode(html: string): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Apply native tree-sitter highlighting to HTML. Tries the document pass first. If that p…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./highlight.md#highlightpagehtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">highlightPageHtml(html: string, mergeHighlightedCodeBlocks: (originalHtml: string, highlightedHtml: string) =&gt; string): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Highlight every code block in a rendered page, preserving original classes and per-line…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./highlight.md#rehypenativehighlight" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">rehypeNativeHighlight()</code></a><span class="ox-api-module__summary">Per-block walk used when the native document pass cannot read the markup. Unknown langu…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./hosted-module.md">hosted-module</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./hosted-module.md#embedsearchjson" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">embedSearchJson(value: unknown): string</code></a><span class="ox-api-module__summary">JSON-embeds a value so it stays inert inside a script tag.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./i18n.md">i18n</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./i18n.md#createi18nplugin" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createI18nPlugin(resolvedOptions: ResolvedOptions): Plugin</code></a><span class="ox-api-module__summary">Creates the i18n sub-plugin for the Vite plugin array.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Plugin</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./i18n.md#generatei18nmodule" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateI18nModule(options: ResolvedI18nOptions, root: string): string</code></a><span class="ox-api-module__summary">Generates the virtual module for i18n configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./i18n.md#i18n" class="ox-api-module__link"><code class="ox-api-module__name">i18n</code></a><span class="ox-api-module__summary">i18n plugin for Ox Content. Provides: - Dictionary loading and validation at build time…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./i18n.md#resolvei18noptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveI18nOptions(options: I18nOptions | false | undefined): ResolvedI18nOptions | false</code></a><span class="ox-api-module__summary">Resolves i18n options with defaults.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedI18nOptions | false</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./icons-css.md">icons-css</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./icons-css.md#icons-css" class="ox-api-module__link"><code class="ox-api-module__name">icons-css</code></a><span class="ox-api-module__summary">Resolve Iconify JSON collections and emit CSS-mask rules. Collections come from install…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./icons.md">icons</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./icons.md#icons" class="ox-api-module__link"><code class="ox-api-module__name">icons</code></a><span class="ox-api-module__summary">Opt-in self-hosted Iconify CSS for used and safelisted icons. Collection lookup stays o…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./icons.md#renderselfhostediconscss" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderSelfHostedIconsCss(input: RenderSelfHostedIconsCssOptions): Promise&lt;RenderSelfHostedIconsCssResult&gt;</code></a><span class="ox-api-module__summary">Render resolved icon CSS. Missing collections or names become errors.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;RenderSelfHostedIconsCssResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./icons.md#writeselfhostedicons" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeSelfHostedIcons(input: WriteSelfHostedIconsOptions): Promise&lt;WriteSelfHostedIconsResult&gt;</code></a><span class="ox-api-module__summary">Copy resolved icon CSS into outDir. Missing collections or names become errors.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;WriteSelfHostedIconsResult&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./index-module.md">index</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./index-module.md#generatevirtualmodule" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateVirtualModule(path: string, options: ResolvedOptions): string</code></a><span class="ox-api-module__summary">Generates virtual module content.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./index-module.md#index" class="ox-api-module__link"><code class="ox-api-module__name">index</code></a><span class="ox-api-module__summary">Vite Plugin for Ox Content Uses Vite&#39;s Environment API for SSG-focused Markdown process…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./index-module.md#oxcontent" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">oxContent(options: OxContentOptions = {}): Plugin[]</code></a><span class="ox-api-module__summary">Creates the Ox Content Vite plugin.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Plugin[]</span><span class="ox-api-badge">1 example</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./island-index.md">index</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./island-index.md#index" class="ox-api-module__link"><code class="ox-api-module__name">index</code></a><span class="ox-api-module__summary">Island Architecture support for ox-content Provides parsing and transformation of &lt;Isla…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./og-image-index.md">index</a></span>
    <span class="ox-api-module__count">22 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#computetemplatesource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">computeTemplateSource(options: ResolvedOgImageOptions, root: string): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Computes a stable template source identifier for cache keys. For custom templates, hash…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#createsveltecompilerplugin" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createSvelteCompilerPlugin(): import(&quot;rolldown&quot;).Plugin</code></a><span class="ox-api-module__summary">Creates a rolldown plugin that compiles Svelte SFCs using svelte/compiler.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns import(&quot;rolldown&quot;).Plugin</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#createvuecompilerplugin" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createVueCompilerPlugin(): import(&quot;rolldown&quot;).Plugin</code></a><span class="ox-api-module__summary">Creates a rolldown plugin that compiles Vue SFCs using @vue/compiler-sfc.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns import(&quot;rolldown&quot;).Plugin</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#defaultconcurrency" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">defaultConcurrency(): number</code></a><span class="ox-api-module__summary">How many pages to render at once when the caller does not say. Rendering was serial by…</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns number</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#generateogimages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateOgImages(pages: OgImagePageEntry[], options: ResolvedOgImageOptions, root: string): Promise&lt;OgImageResult[]&gt;</code></a><span class="ox-api-module__summary">Generates OG images for a batch of pages. Manages the full lifecycle: resolve template…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;OgImageResult[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#getvizejsplugin" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getVizejsPlugin(): Promise&lt;import(&quot;rolldown&quot;).Plugin[]&gt;</code></a><span class="ox-api-module__summary">Loads @vizejs/vite-plugin as a rolldown plugin for Vue SFC compilation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns Promise&lt;import(&quot;rolldown&quot;).Plugin[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#isbarespecifier" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isBareSpecifier(id: string): boolean</code></a><span class="ox-api-module__summary">Whether id is a bare specifier, and so resolvable at runtime rather than something the…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-index.md#keyedpageentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">KeyedPageEntry extends OgImagePageEntry</code></a><span class="ox-api-module__summary">A page entry with its cache key computed once.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#mapwithsessions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">mapWithSessions&lt;Item, Result&gt;(items: readonly Item[], sessions: readonly OgBrowserSession[], render: (item: Item, session: OgBrowserSession) =&gt; Promise&lt;Result&gt;): Promise&lt;Result[]&gt;</code></a><span class="ox-api-module__summary">Runs render over items, one at a time per session, in input order. A shared cursor rath…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;Result[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-index.md#ogimagepageentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImagePageEntry</code></a><span class="ox-api-module__summary">A single page entry for batch OG image generation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-index.md#ogimageresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageResult</code></a><span class="ox-api-module__summary">Result of OG image generation for a single page.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./og-image-index.md#ox_content_package" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const OX_CONTENT_PACKAGE = /^@ox-content\/vite-plugin(\/.*)?$/</code></a><span class="ox-api-module__summary">Matches this package and every subpath it exports. A template&#39;s natural runtime is what…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#rendersinglepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderSinglePage(entry: KeyedPageEntry, templateFn: OgImageTemplateFn, options: ResolvedOgImageOptions, cacheDir: string, session: OgBrowserSession, publicDir?: string): Promise&lt;OgImageResult&gt;</code></a><span class="ox-api-module__summary">Renders a single page to PNG, with cache support.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 params</span><span class="ox-api-badge">returns Promise&lt;OgImageResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#rendersinglesatoripage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderSingleSatoriPage(entry: KeyedPageEntry, templateFn: OgImageTemplateFn, options: ResolvedOgImageOptions, cacheDir: string, root: string): Promise&lt;OgImageResult&gt;</code></a><span class="ox-api-module__summary">Renders a single page to PNG using Satori, with cache support.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 params</span><span class="ox-api-badge">returns Promise&lt;OgImageResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#resolvereacttemplate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveReactTemplate(templatePath: string, root: string): Promise&lt;OgImageTemplateFn&gt;</code></a><span class="ox-api-module__summary">Resolves a React (.tsx/.jsx) template via SSR. Bundles with rolldown (JSX transform), t…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;OgImageTemplateFn&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#resolvesveltetemplate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveSvelteTemplate(templatePath: string, root: string): Promise&lt;OgImageTemplateFn&gt;</code></a><span class="ox-api-module__summary">Resolves a Svelte SFC template via SSR. Compiles the SFC with svelte/compiler (server m…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;OgImageTemplateFn&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#resolvetemplate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveTemplate(options: ResolvedOgImageOptions, root: string): Promise&lt;OgImageTemplateFn&gt;</code></a><span class="ox-api-module__summary">Resolves the template function from options. Dispatches by file extension: - .vue → Vue…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;OgImageTemplateFn&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#resolvetstemplate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveTsTemplate(templatePath: string, options: ResolvedOgImageOptions, root: string): Promise&lt;OgImageTemplateFn&gt;</code></a><span class="ox-api-module__summary">Resolves a plain TypeScript template (existing behavior).</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;OgImageTemplateFn&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#resolvevuetemplate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveVueTemplate(templatePath: string, options: ResolvedOgImageOptions, root: string): Promise&lt;OgImageTemplateFn&gt;</code></a><span class="ox-api-module__summary">Resolves a Vue SFC template via SSR. Compiles the SFC with @vue/compiler-sfc (or @vizej…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;OgImageTemplateFn&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#tryserveallfromcache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">tryServeAllFromCache(pages: KeyedPageEntry[], cacheDir: string): Promise&lt;OgImageResult[] | null&gt;</code></a><span class="ox-api-module__summary">Serves every page from cache when all of them are present. The probe is an existence ch…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;OgImageResult[] | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#tstemplatebundleoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">tsTemplateBundleOptions(templatePath: string)</code></a><span class="ox-api-module__summary">Rolldown input options for a .ts template bundle. A .ts template is the framework-less…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./og-image-index.md#withcachekeys" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">withCacheKeys(pages: OgImagePageEntry[], templateSource: string, options: ResolvedOgImageOptions): KeyedPageEntry[]</code></a><span class="ox-api-module__summary">Attaches the cache key to each entry. The key is a SHA-256 over the template source and…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns KeyedPageEntry[]</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./plugins-index.md">index</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./plugins-index.md#index" class="ox-api-module__link"><code class="ox-api-module__name">index</code></a><span class="ox-api-module__summary">ox-content Built-in Plugins All plugins are designed with No-JavaScript-First principle…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./plugins-index.md#normalizeselfclosingembeds" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">normalizeSelfClosingEmbeds(html: string): string</code></a><span class="ox-api-module__summary">Custom embed tags are not HTML void elements, so a self-closing authoring form like &lt;Gi…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./plugins-index.md#transformalloptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TransformAllOptions extends MediaEmbedOptions</code></a><span class="ox-api-module__summary">Transform all plugin components in HTML. Call this during SSG build to process all plug…</span><span class="ox-api-module__meta"><span class="ox-api-badge">9 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./plugins-index.md#transformallplugins" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformAllPlugins(html: string, options: TransformAllOptions = {}): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Transform all enabled plugins in HTML content.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./plugins-index.md#transformbuiltinembeds" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformBuiltinEmbeds(html: string, options: { github: GitHubOptions | false; openGraph: OgpOptions | false; pm?: PmOptions | false; /** * Document-local import bindings. A reserved built-in name in this set * stays an MDX island instead of running the first-party embed transform. */ localNames?: Iterable&lt;string&gt;; } &amp; MediaEmbedOptions): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Transform built-in embed components in HTML content.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./plugins-index.md#typescript_only_embed_tags" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const TYPESCRIPT_ONLY_EMBED_TAGS = [&quot;GitHub&quot;, &quot;OgCard&quot;, &quot;Reddit&quot;, &quot;YouTube&quot;, &quot;NotByAI&quot;] as const</code></a><span class="ox-api-module__summary">Embed tags this package owns, which the Rust provider registry cannot name. Everything…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./interop.md">interop</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./interop.md#interop" class="ox-api-module__link"><code class="ox-api-module__name">interop</code></a><span class="ox-api-module__summary">Interop helpers for loading ESM-only dependencies from the CommonJS build.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./interop.md#interopdefault" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">interopDefault&lt;T&gt;(value: T): T</code></a><span class="ox-api-module__summary">Unwrap the default export of an ESM-only dependency. The CommonJS build (dist/index.cjs…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns T</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./island-codegen.md">island-codegen</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./island-codegen.md#island-codegen" class="ox-api-module__link"><code class="ox-api-module__name">island-codegen</code></a><span class="ox-api-module__summary">Emit static component imports for framework Markdown modules. Document-local bindings w…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./island-ssr.md">island-ssr</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./island-ssr.md#island-ssr" class="ox-api-module__link"><code class="ox-api-module__name">island-ssr</code></a><span class="ox-api-module__summary">Optional adapter-side island SSR. Framework plugins may supply renderIsland to replace…</span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./island-ssr.md#renderislandfn" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RenderIslandFn = (name: string, props: Record&lt;string, unknown&gt;, filePath: string, slotHtml?: string) =&gt; string | Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Optional adapter-side island SSR. Framework plugins may supply renderIsland to replace…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns string | Promise&lt;string&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./jsx-dev-runtime.md">jsx-dev-runtime</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./jsx-dev-runtime.md#jsx-dev-runtime" class="ox-api-module__link"><code class="ox-api-module__name">jsx-dev-runtime</code></a><span class="ox-api-module__summary">Development-runtime entry point for the static HTML JSX transform. TypeScript&#39;s react-j…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-dev-runtime.md#jsxdev" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">jsxDEV(type: JSXElementType, props: JSXProps, key?: string, _isStaticChildren?: boolean, _source?: JSXSource, _self?: unknown): JSXNode</code></a><span class="ox-api-module__summary">Creates a JSX element in development mode. The transform passes isStaticChildren, sourc…</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 params</span><span class="ox-api-badge">returns JSXNode</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./jsx-dev-runtime.md#jsxsource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JSXSource</code></a><span class="ox-api-module__summary">Source position the dev transform attaches to each element.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./jsx-html.md">jsx-html</a></span>
    <span class="ox-api-module__count">18 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./jsx-html.md#attr_aliases" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const ATTR_ALIASES: Record&lt;string, string&gt;</code></a><span class="ox-api-module__summary">React prop names whose HTML spelling is not the lowercased identifier.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#each" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">each&lt;T&gt;(items: T[], render: (item: T, index: number) =&gt; JSXNode): JSXNode</code></a><span class="ox-api-module__summary">Maps over an array and renders each item.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns JSXNode</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#escapehtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">escapeHtml(str: string): string</code></a><span class="ox-api-module__summary">Escapes HTML special characters to prevent XSS.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#fragment" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">Fragment({ children }: { children?: JSXChild }): JSXNode</code></a><span class="ox-api-module__summary">Fragment component - renders children without a wrapper element.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns JSXNode</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#jsx" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">jsx(type: JSXElementType, props: JSXProps, _key?: string): JSXNode</code></a><span class="ox-api-module__summary">Creates a JSX element. This is the core function called by the JSX transform.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns JSXNode</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./jsx-html.md#jsx-html" class="ox-api-module__link"><code class="ox-api-module__name">jsx-html</code></a><span class="ox-api-module__summary">Custom JSX Runtime for Static HTML Generation This module provides a JSX runtime that o…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./jsx-html.md#jsxchild" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JSXChild = string | number | boolean | null | undefined | JSXNode | JSXChild[]</code></a><span class="ox-api-module__summary">Valid JSX child types.</span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./jsx-html.md#jsxelementtype" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JSXElementType = string | ((props: Record&lt;string, unknown&gt;) =&gt; JSXNode)</code></a><span class="ox-api-module__summary">JSX element type - either a string (intrinsic) or a function component.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./jsx-html.md#jsxnode" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JSXNode</code></a><span class="ox-api-module__summary">JSX node - the result of JSX expressions.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./jsx-html.md#jsxprops" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JSXProps</code></a><span class="ox-api-module__summary">Props with children.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#jsxs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">jsxs(type: JSXElementType, props: JSXProps, key?: string): JSXNode</code></a><span class="ox-api-module__summary">Creates a JSX element with static children. Called by the JSX transform for elements wi…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns JSXNode</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#raw" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">raw(html: string): JSXNode</code></a><span class="ox-api-module__summary">Creates raw HTML without escaping. Use with caution - only for trusted content.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns JSXNode</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#renderattr" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderAttr(name: string, value: unknown): string</code></a><span class="ox-api-module__summary">Renders an attribute value to a string.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#renderchildren" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderChildren(children: JSXChild): string</code></a><span class="ox-api-module__summary">Renders children to HTML string.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#rendertostring" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderToString(node: JSXNode): string</code></a><span class="ox-api-module__summary">Renders a JSX node to an HTML string.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./jsx-html.md#svg_camel_case" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const SVG_CAMEL_CASE = new Set([&quot;viewBox&quot;])</code></a><span class="ox-api-module__summary">SVG attributes that stay camelCase in HTML (they are case-sensitive).</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#tohtmlattr" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">toHtmlAttr(name: string): string</code></a><span class="ox-api-module__summary">Converts a JSX/React prop name to the HTML attribute the runtime emits. HTML attributes…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./jsx-html.md#when" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">when(condition: boolean, content: JSXNode): JSXNode</code></a><span class="ox-api-module__summary">Conditionally renders content.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns JSXNode</span><span class="ox-api-badge">1 example</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./jsx-runtime.md">jsx-runtime</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./jsx-runtime.md#jsx-runtime" class="ox-api-module__link"><code class="ox-api-module__name">jsx-runtime</code></a><span class="ox-api-module__summary">Automatic-runtime entry point for the static HTML JSX transform. jsxImportSource makes…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 example</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./jsx.d.md">jsx.d</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./jsx.d.md#jsx.d" class="ox-api-module__link"><code class="ox-api-module__name">jsx.d</code></a><span class="ox-api-module__summary">JSX Type Definitions for Static HTML Generation These types enable TypeScript support f…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./lint-files.md">lint-files</a></span>
    <span class="ox-api-module__count">7 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./lint-files.md#lintmarkdownfile" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">lintMarkdownFile(filePath: string, options: MarkdownLintFileOptions = {}): Promise&lt;MarkdownLintFileResult&gt;</code></a><span class="ox-api-module__summary">Lints a single Markdown file using project-style include/exclude settings. If the file…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;MarkdownLintFileResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./lint-files.md#lintmarkdownfiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">lintMarkdownFiles(options: MarkdownLintFileOptions = {}): Promise&lt;MarkdownLintFilesResult&gt;</code></a><span class="ox-api-module__summary">Lints all Markdown files matched by the configured include/exclude patterns.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;MarkdownLintFilesResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint-files.md#markdownlintfilediagnostic" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintFileDiagnostic extends MarkdownLintDiagnostic</code></a><span class="ox-api-module__summary">A lint diagnostic annotated with file metadata.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint-files.md#markdownlintfileoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintFileOptions extends MarkdownLintOptions</code></a><span class="ox-api-module__summary">File-oriented Markdown lint options for end-user configuration. This extends the conten…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint-files.md#markdownlintfileresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintFileResult extends MarkdownLintResult</code></a><span class="ox-api-module__summary">Lint result for a single file.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint-files.md#markdownlintfilesresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintFilesResult</code></a><span class="ox-api-module__summary">Aggregated lint result for multiple files.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./lint-files.md#shouldlintmarkdownfile" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">shouldLintMarkdownFile(filePath: string, options: MarkdownLintFileOptions = {}): boolean</code></a><span class="ox-api-module__summary">Returns true if the file path is included by the configured glob filters.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns boolean</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./lint.md">lint</a></span>
    <span class="ox-api-module__count">9 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./lint.md#lintmarkdown" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">lintMarkdown(source: string, options: MarkdownLintOptions = {}): MarkdownLintResult</code></a><span class="ox-api-module__summary">Lints Markdown prose with the Rust-backed built-in rule engine.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns MarkdownLintResult</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./lint.md#lintmarkdownasync" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">lintMarkdownAsync(source: string, options: MarkdownLintOptions = {}): Promise&lt;MarkdownLintResult&gt;</code></a><span class="ox-api-module__summary">Async Markdown linter that supports opt-in standard dictionaries.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;MarkdownLintResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./lint.md#lintmarkdowndocumentsasync" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">lintMarkdownDocumentsAsync(sources: string[], options: MarkdownLintOptions = {}): Promise&lt;MarkdownLintResult[]&gt;</code></a><span class="ox-api-module__summary">Internal batched Markdown linting entry point used by file-based workflows.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;MarkdownLintResult[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint.md#markdownlintdiagnostic" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintDiagnostic</code></a><span class="ox-api-module__summary">A single Markdown lint diagnostic.</span><span class="ox-api-module__meta"><span class="ox-api-badge">9 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint.md#markdownlintdictionaryoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintDictionaryOptions</code></a><span class="ox-api-module__summary">Additional dictionary configuration for the Markdown linter.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint.md#markdownlintoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintOptions</code></a><span class="ox-api-module__summary">Options for linting Markdown documents.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint.md#markdownlintresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintResult</code></a><span class="ox-api-module__summary">Markdown lint report.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint.md#markdownlintruleoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintRuleOptions</code></a><span class="ox-api-module__summary">Rule switches for Markdown linting.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./lint.md#markdownlintstandarddictionaryoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownLintStandardDictionaryOptions</code></a><span class="ox-api-module__summary">Opt-in standard dictionary sources. The default provider uses CSpell dictionary package…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./locale-nav.md">locale-nav</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./locale-nav.md#locale-nav" class="ox-api-module__link"><code class="ox-api-module__name">locale-nav</code></a><span class="ox-api-module__summary">Rewrites default-theme nav hrefs to the current locale sibling when it exists.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./locale-nav.md#localizeheadernavitems" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">localizeHeaderNavItems(items: HeaderNavItem[] | undefined, options: LocalizeNavOptions): HeaderNavItem[] | undefined</code></a><span class="ox-api-module__summary">Resolves header labels and rewrites link values the same way as the sidebar.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns HeaderNavItem[] | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./locale-nav.md#localizenavgroups" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">localizeNavGroups&lt;T extends LocalizableNavGroup&gt;(groups: T[], options: LocalizeNavOptions): T[]</code></a><span class="ox-api-module__summary">Resolves authored sidebar label maps and prefixes hrefs/paths with the current locale w…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns T[]</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./locale-switcher.md">locale-switcher</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./locale-switcher.md#resolvelocaleswitcheroption" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveLocaleSwitcherOption(value: boolean | Record&lt;string, unknown&gt; | undefined): boolean</code></a><span class="ox-api-module__summary">Resolves ssg.localeSwitcher. Omitted / false stay off. true or an object enables the co…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./locale-switcher.md#ssglocalepath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgLocalePath</code></a><span class="ox-api-module__summary">Sibling page or locale-root href for one locale in the default-theme switcher.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./markdown-source.md">markdown-source</a></span>
    <span class="ox-api-module__count">15 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#buildmarkdownsourceindex" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">buildMarkdownSourceIndex(input: { files: readonly string[]; srcDir: string; permalinks?: ResolvedPermalinksOptions | null; cascade?: ResolvedCascadeOptions | null; publishState?: ResolvedPublishStateOptions; }): Promise&lt;Map&lt;string, MarkdownSourceIndexEntry&gt;&gt;</code></a><span class="ox-api-module__summary">Builds a companion index from source files without transforming Markdown.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 params</span><span class="ox-api-badge">returns Promise&lt;Map&lt;string, MarkdownSourceIndexEntry&gt;&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#injectmarkdownsourcealternate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">injectMarkdownSourceAlternate(html: string, href: string): string</code></a><span class="ox-api-module__summary">Inserts &lt;link rel=&quot;alternate&quot; type=&quot;text/markdown&quot;&gt; before &lt;/head&gt;.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#ismarkdownsourcerequest" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isMarkdownSourceRequest(pathname: string): boolean</code></a><span class="ox-api-module__summary">True when the request pathname is a .md companion URL.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./markdown-source.md#markdown-source" class="ox-api-module__link"><code class="ox-api-module__name">markdown-source</code></a><span class="ox-api-module__summary">Opt-in Markdown source companions written beside generated HTML. Copies already-read so…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#markdownsourcehref" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">markdownSourceHref(urlPath: string, base: string): string | undefined</code></a><span class="ox-api-module__summary">Public companion href, including base. Always ends in .md.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#markdownsourcehrefforpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">markdownSourceHrefForPage(input: { source: string; fileUrl: string; frontmatter: Record&lt;string, unknown&gt;; base: string; permalinks?: ResolvedPermalinksOptions | null; cascade?: ResolvedCascadeOptions | null; publishState?: ResolvedPublishStateOptions; }): string | undefined</code></a><span class="ox-api-module__summary">Companion href for one page after permalink / publish-state checks.</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./markdown-source.md#markdownsourceindexentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownSourceIndexEntry</code></a><span class="ox-api-module__summary">One entry in the dev-server companion index.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#markdownsourceoutputpath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">markdownSourceOutputPath(outDir: string, urlPath: string): string | undefined</code></a><span class="ox-api-module__summary">Filesystem path for a companion, or undefined when it would escape outDir.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./markdown-source.md#markdownsourcepageinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownSourcePageInput</code></a><span class="ox-api-module__summary">One page that may receive a source companion.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#parsesourcefrontmatter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">parseSourceFrontmatter(source: string): Record&lt;string, unknown&gt;</code></a><span class="ox-api-module__summary">Frontmatter keys only — not a Markdown parse.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Record&lt;string, unknown&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#resolvemarkdownsourceoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveMarkdownSourceOptions(value: boolean | MarkdownSourceOptions | undefined): ResolvedMarkdownSourceOptions</code></a><span class="ox-api-module__summary">Resolves ssg.markdownSource with defaults. false / omitted stays off. true enables comp…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedMarkdownSourceOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#resolvemarkdownsourcerequest" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveMarkdownSourceRequest(pathname: string, index: ReadonlyMap&lt;string, MarkdownSourceIndexEntry&gt;): MarkdownSourceIndexEntry | undefined</code></a><span class="ox-api-module__summary">Looks up a companion after the site base has been stripped.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns MarkdownSourceIndexEntry | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#shouldpublishmarkdownsource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">shouldPublishMarkdownSource(frontmatter: Record&lt;string, unknown&gt;, publishState?: ResolvedPublishStateOptions): boolean</code></a><span class="ox-api-module__summary">Whether this page may publish a companion. Draft and unlisted source is never emitted.…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-source.md#writemarkdownsourcefiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeMarkdownSourceFiles(input: WriteMarkdownSourceFilesInput): Promise&lt;{ files: string[]; errors: string[] }&gt;</code></a><span class="ox-api-module__summary">Writes enabled companions from already-read source bytes.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;{ files: string[]; errors: string[] }&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./markdown-source.md#writemarkdownsourcefilesinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WriteMarkdownSourceFilesInput</code></a><span class="ox-api-module__summary">Inputs for writing companions next to generated HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./markdown-tables.md">markdown-tables</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown-tables.md#enhancemarkdowntables" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">enhanceMarkdownTables(root?: ParentNode, options: MarkdownTableEnhancementOptions = {}): number</code></a><span class="ox-api-module__summary">Makes overflowing Markdown tables keyboard-scrollable without wrapping or replacing the…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns number</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./markdown.md">markdown</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown.md#ismdxfilepath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isMdxFilePath(filePath: string): boolean</code></a><span class="ox-api-module__summary">Returns true when a resource id points at an MDX source file.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./markdown.md#resolvemdxforfilepath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveMdxForFilePath(filePath: string, configured?: boolean): boolean</code></a><span class="ox-api-module__summary">Explicit configuration wins; otherwise MDX follows the source extension.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns boolean</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./math-assets.md">math-assets</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./math-assets.md#copykatexassets" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">copyKatexAssets(outDir: string, formats: KatexFontFormats = &quot;woff2&quot;): Promise&lt;string[]&gt;</code></a><span class="ox-api-module__summary">Copies katex.min.css and the requested font formats into the SSG output. Returns an emp…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./math-assets.md#createkatexassetsplugin" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createKatexAssetsPlugin(): Plugin</code></a><span class="ox-api-module__summary">Dev-server middleware that serves /_<em>ox</em>katex__/* from katex/dist.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns Plugin</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./math-assets.md#font_formats" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const FONT_FORMATS = { woff2: [&quot;.woff2&quot;], all: [&quot;.woff2&quot;, &quot;.woff&quot;, &quot;.ttf&quot;] } as const</code></a><span class="ox-api-module__summary">Font formats KaTeX ships, newest first.</span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./math-assets.md#katexfontformats" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">KatexFontFormats = keyof typeof FONT_FORMATS</code></a><span class="ox-api-module__summary">Which of KaTeX&#39;s font formats to emit.</span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./math-assets.md#math-assets" class="ox-api-module__link"><code class="ox-api-module__name">math-assets</code></a><span class="ox-api-module__summary">Serve and copy KaTeX CSS/fonts only when the optional katex package exists.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./math.md">math</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./math.md#decodehtmlattr" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">decodeHtmlAttr(value: string): string</code></a><span class="ox-api-module__summary">Decodes the attribute back to the TeX the author wrote. The placeholder is escaped by R…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./math.md#math" class="ox-api-module__link"><code class="ox-api-module__name">math</code></a><span class="ox-api-module__summary">Build-time KaTeX rendering for opt-in $…$ / $$…$$ math. KaTeX is an optional peer. Site…</span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./math.md#matherrorpolicy" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MathErrorPolicy = &quot;literal&quot; | &quot;error&quot; | &quot;render&quot;</code></a><span class="ox-api-module__summary">What to do with a $…$ run KaTeX cannot parse.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./math.md#mathrenderfailure" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MathRenderFailure</code></a><span class="ox-api-module__summary">One $…$ run KaTeX refused, for the caller to report.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./math.md#renderkatexmath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderKatexMath(html: string, onError: MathErrorPolicy = &quot;literal&quot;, failures?: MathRenderFailure[]): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Replaces rust ox-math placeholders with static KaTeX HTML. Leaves the escaped TeX fallb…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./math.md#resolvekatexdist" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveKatexDist(): string | null</code></a><span class="ox-api-module__summary">Directory that contains katex.min.css and fonts/, or null.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns string | null</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./mdx-islands.md">mdx-islands</a></span>
    <span class="ox-api-module__count">7 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mdx-islands.md#collectmdxislandnamesfromhtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">collectMdxIslandNamesFromHtml(html: string): string[]</code></a><span class="ox-api-module__summary">Collect data-ox-island names from Rust-rendered HTML. Used when an AST walk is unavaila…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mdx-islands.md#collectmdxjsxnamesfromast" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">collectMdxJsxNamesFromAst(ast: unknown): string[]</code></a><span class="ox-api-module__summary">Collect named MDX JSX tags from a parsed mdast tree (JSON from NAPI parse()). Fragments…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string[]</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./mdx-islands.md#componentregistry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ComponentRegistry = Readonly&lt;Record&lt;string, unknown&gt;&gt; | ReadonlyMap&lt;string, unknown&gt; | Iterable&lt;string&gt;</code></a><span class="ox-api-module__summary">Global component map: object, Map, or name list.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mdx-islands.md#discoverregisteredmdxcomponents" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">discoverRegisteredMdxComponents(input: DiscoverRegisteredMdxComponentsInput): Promise&lt;string[]&gt;</code></a><span class="ox-api-module__summary">Resolve registered island names for an MDX document. Prefers a NAPI parse() AST walk. F…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;string[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mdx-islands.md#intersecthydratablecomponentnames" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">intersectHydratableComponentNames(names: Iterable&lt;string&gt;, components: ComponentRegistry, localNames?: Iterable&lt;string&gt;): string[]</code></a><span class="ox-api-module__summary">Keep names that are either globally registered or document-local bindings.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns string[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mdx-islands.md#intersectregisteredcomponentnames" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">intersectRegisteredComponentNames(names: Iterable&lt;string&gt;, components: ComponentRegistry): string[]</code></a><span class="ox-api-module__summary">Keep names that exist on the global component map, in first-seen order.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string[]</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./mdx-islands.md#mdx-islands" class="ox-api-module__link"><code class="ox-api-module__name">mdx-islands</code></a><span class="ox-api-module__summary">Discover registered MDX islands from the mdast tree or rendered HTML. Framework plugins…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./media-marker.md">media-marker</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./media-marker.md#hasmediamarker" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">hasMediaMarker(html: string): Promise&lt;boolean&gt;</code></a><span class="ox-api-module__summary">True when the document contains any tag the transform could rewrite. The list comes fro…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;boolean&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./media-marker.md#typescript_only_tags" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const TYPESCRIPT_ONLY_TAGS = [&quot;reddit&quot;] as const</code></a><span class="ox-api-module__summary">Providers that live in this package rather than the Rust registry, so the registry cann…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./media.md">media</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./media.md#reportrefusedembeds" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">reportRefusedEmbeds(diagnostics: readonly { provider: string; url?: string | null; line: number; fallback: string }[]): void</code></a><span class="ox-api-module__summary">Warns about tags an enabled provider refused. A refusal is invisible in the output — th…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns void</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./mermaid-protect.md">mermaid-protect</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./mermaid-protect.md#mermaid-protect" class="ox-api-module__link"><code class="ox-api-module__name">mermaid-protect</code></a><span class="ox-api-module__summary">Protects generated static SVG content from rehype HTML5 parser corruption. rehypeParse…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./mermaid-protect.md#mermaidsvgprotection" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MermaidSvgProtection</code></a><span class="ox-api-module__summary">Protects generated static SVG content from rehype HTML5 parser corruption. rehypeParse…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mermaid-protect.md#protectmermaidsvgs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">protectMermaidSvgs(html: string): MermaidSvgProtection</code></a><span class="ox-api-module__summary">Extract &lt;div class=&quot;ox-mermaid&quot;&gt;...&lt;/div&gt; blocks and replace with HTML comment placehol…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns MermaidSvgProtection</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mermaid-protect.md#protectstaticdiagramsvgs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">protectStaticDiagramSvgs(html: string): MermaidSvgProtection</code></a><span class="ox-api-module__summary">Extract generated static diagram blocks and replace them with HTML comment placeholders…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns MermaidSvgProtection</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mermaid-protect.md#restoremermaidsvgs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">restoreMermaidSvgs(html: string, svgs: Map&lt;string, string&gt;): string</code></a><span class="ox-api-module__summary">Restore protected mermaid SVG blocks from placeholders.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mermaid-protect.md#restorestaticdiagramsvgs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">restoreStaticDiagramSvgs(html: string, svgs: Map&lt;string, string&gt;): string</code></a><span class="ox-api-module__summary">Restore generated static diagram blocks from placeholders.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./mermaid.md">mermaid</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./mermaid.md#mermaid" class="ox-api-module__link"><code class="ox-api-module__name">mermaid</code></a><span class="ox-api-module__summary">Mermaid Plugin - Native Rust renderer via NAPI Renders mermaid code blocks to SVG using…</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./mermaid.md#mermaidclientscript" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const mermaidClientScript = &quot;&quot;</code></a><span class="ox-api-module__meta"><span class="ox-api-badge ox-api-badge--warning">deprecated</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./mermaid.md#napibindings" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">let napiBindings: { transformMermaid: (html: string, mmdcPath: string) =&gt; { html: string; errors: string[] } } | null</code></a><span class="ox-api-module__summary">Cached NAPI bindings</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./mermaid.md#transformmermaidstatic" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformMermaidStatic(html: string, _options?: MermaidOptions): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Transforms mermaid code blocks in HTML to rendered SVG diagrams. Uses the native Rust N…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./not-found.md">not-found</a></span>
    <span class="ox-api-module__count">8 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./not-found.md#fallback_not_found_markdown" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const FALLBACK_NOT_FOUND_MARKDOWN = `--- title: ${FALLBACK_NOT_FOUND_TITLE} --- # ${FALLBACK_NOT_FOUND_TITLE} The page you requested does not exist. Use search or the navigation to find what you need. `</code></a><span class="ox-api-module__summary">Built-in Markdown used when the configured source file is missing.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./not-found.md#isnotfoundsourcefile" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isNotFoundSourceFile(filePath: string, srcDir: string, options?: ResolvedNotFoundOptions): boolean</code></a><span class="ox-api-module__summary">True when filePath is the enabled not-found source.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./not-found.md#not-found" class="ox-api-module__link"><code class="ox-api-module__name">not-found</code></a><span class="ox-api-module__summary">Opt-in custom 404 page helpers. Resolution and path rules live here. The Vite plugin wr…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./not-found.md#notfoundsearchdocumentid" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">notFoundSearchDocumentId(source: string): string</code></a><span class="ox-api-module__summary">Search document id for a not-found source path.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./not-found.md#notfoundsearchexcludeids" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">notFoundSearchExcludeIds(options?: ResolvedNotFoundOptions): string[]</code></a><span class="ox-api-module__summary">Search document ids that must not be indexed when the feature is on.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./not-found.md#resolvenotfoundoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveNotFoundOptions(value: boolean | NotFoundOptions | undefined): ResolvedNotFoundOptions</code></a><span class="ox-api-module__summary">Resolves ssg.notFound with defaults. false / omitted stays off. true enables 404.md → 4…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedNotFoundOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./not-found.md#resolvenotfoundoutputpath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveNotFoundOutputPath(outDir: string, output: string): string</code></a><span class="ox-api-module__summary">Absolute output path, confined to outDir.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./not-found.md#resolvenotfoundsourcepath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveNotFoundSourcePath(srcDir: string, source: string): string</code></a><span class="ox-api-module__summary">Absolute source path, confined to srcDir.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./og-viewer.md">og-viewer</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./og-viewer.md#og-viewer" class="ox-api-module__link"><code class="ox-api-module__name">og-viewer</code></a><span class="ox-api-module__summary">OG Viewer - Dev tool for previewing Open Graph metadata Accessible at /__og-viewer duri…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./ogp.md">ogp</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./ogp.md#ogp" class="ox-api-module__link"><code class="ox-api-module__name">ogp</code></a><span class="ox-api-module__summary">OGP Card Plugin - Link card embedding Transforms &lt;OgCard&gt; components into static link p…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./optional-deps.d.md">optional-deps.d</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./optional-deps.d.md#optional-deps.d" class="ox-api-module__link"><code class="ox-api-module__name">optional-deps.d</code></a><span class="ox-api-module__summary">Ambient module declarations for optional dependencies. These packages are dynamically i…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./page-context.md">page-context</a></span>
    <span class="ox-api-module__count">15 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./page-context.md#basepageprops" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BasePageProps</code></a><span class="ox-api-module__summary">Base page props available for all pages.</span><span class="ox-api-module__meta"><span class="ox-api-badge">11 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./page-context.md#frontmatterschema" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FrontmatterSchema</code></a><span class="ox-api-module__summary">Schema for frontmatter type generation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-context.md#generatefrontmattertypes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateFrontmatterTypes(samples: Record&lt;string, unknown&gt;[], interfaceName = &quot;PageFrontmatter&quot;): string</code></a><span class="ox-api-module__summary">Generates TypeScript interface from frontmatter samples.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-context.md#infertype" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">inferType(value: unknown): string</code></a><span class="ox-api-module__summary">Infers TypeScript types from frontmatter values.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./page-context.md#navgroup" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NavGroup</code></a><span class="ox-api-module__summary">Navigation group.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./page-context.md#navitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NavItem</code></a><span class="ox-api-module__summary">Navigation item.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./page-context.md#page-context" class="ox-api-module__link"><code class="ox-api-module__name">page-context</code></a><span class="ox-api-module__summary">Page Context for Static HTML Generation Provides a way to access page props (frontmatte…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./page-context.md#pageprops" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PageProps&lt;T extends Record&lt;string, unknown&gt; = Record&lt;string, unknown&gt;&gt; = BasePageProps &amp; { frontmatter: T &amp; Record&lt;string, unknown&gt; }</code></a><span class="ox-api-module__summary">Extended page props with custom frontmatter.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./page-context.md#rendercontext" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RenderContext&lt;T extends Record&lt;string, unknown&gt; = Record&lt;string, unknown&gt;&gt;</code></a><span class="ox-api-module__summary">Complete render context.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./page-context.md#siteconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SiteConfig</code></a><span class="ox-api-module__summary">Site-wide configuration available in context.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-context.md#useisactive" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">useIsActive(path: string): boolean</code></a><span class="ox-api-module__summary">Checks if the given path is the current page.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-context.md#usenav" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">useNav(): NavGroup[]</code></a><span class="ox-api-module__summary">Gets the navigation groups.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns NavGroup[]</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-context.md#usepageprops" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">usePageProps&lt; T extends Record&lt;string, unknown&gt; = Record&lt;string, unknown&gt;, &gt;(): PageProps&lt;T&gt;</code></a><span class="ox-api-module__summary">Gets the current page props.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns PageProps&lt;T&gt;</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-context.md#userendercontext" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">useRenderContext&lt; T extends Record&lt;string, unknown&gt; = Record&lt;string, unknown&gt;, &gt;(): RenderContext&lt;T&gt;</code></a><span class="ox-api-module__summary">Gets the full render context.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns RenderContext&lt;T&gt;</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-context.md#usesiteconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">useSiteConfig(): SiteConfig</code></a><span class="ox-api-module__summary">Gets the site configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns SiteConfig</span><span class="ox-api-badge">1 example</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./page-head.md">page-head</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./page-head.md#headinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeadInput</code></a><span class="ox-api-module__summary">Build-time page-head input. Unhead-shaped, no client runtime. Unknown keys such as twit…</span><span class="ox-api-module__meta"><span class="ox-api-badge">18 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./page-head.md#headvalidationmode" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeadValidationMode = false | &quot;off&quot; | &quot;warn&quot; | &quot;strict&quot;</code></a><span class="ox-api-module__summary">How invalid head descriptors are reported.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./page-head.md#renderhead" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderHead(input: HeadInput): RenderedHead</code></a><span class="ox-api-module__summary">Resolve descriptors to escaped &lt;head&gt; markup. Build-time only.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns RenderedHead</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./parse.md">parse</a></span>
    <span class="ox-api-module__count">11 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#extractislandinfo" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">extractIslandInfo(html: string): Promise&lt;IslandInfo[]&gt;</code></a><span class="ox-api-module__summary">Extract island info without transforming HTML. Useful for analysis/bundling purposes.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;IslandInfo[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#findcomponentelement" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">findComponentElement(children: Element[&quot;children&quot;]): Element | null</code></a><span class="ox-api-module__summary">Find the component element inside &lt;Island&gt;.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Element | null</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#generatehydrationscript" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateHydrationScript(components: string[]): string</code></a><span class="ox-api-module__summary">Generate client-side hydration script. This is a minimal script that imports and initia…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#getattribute" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getAttribute(el: Element, name: string): string | undefined</code></a><span class="ox-api-module__summary">Get element attribute value.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#getcomponentname" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getComponentName(el: Element): string</code></a><span class="ox-api-module__summary">Get component name from child element.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#hasislands" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">hasIslands(html: string): boolean</code></a><span class="ox-api-module__summary">Check if HTML contains any Island components.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./parse.md#parse" class="ox-api-module__link"><code class="ox-api-module__name">parse</code></a><span class="ox-api-module__summary">Island Parser Detects &lt;Island&gt; components in HTML and transforms them into hydration-re…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#parseprops" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">parseProps(el: Element): Record&lt;string, unknown&gt;</code></a><span class="ox-api-module__summary">Parse JSX-style props from attributes.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Record&lt;string, unknown&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#rehypeislands" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">rehypeIslands(collectedIslands: IslandInfo[])</code></a><span class="ox-api-module__summary">Rehype plugin to transform Island components.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#resetislandcounter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resetIslandCounter(): void</code></a><span class="ox-api-module__summary">Reset island counter (for testing).</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns void</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./parse.md#transformislands" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformIslands(html: string): Promise&lt;ParseIslandsResult&gt;</code></a><span class="ox-api-module__summary">Transform Island components in HTML. Converts: ``html &lt;Island load=&quot;visible&quot;&gt; &lt;Counter…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;ParseIslandsResult&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./ogp-parse.md">parse</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ogp-parse.md#decodehtmlentities" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">decodeHtmlEntities(value: string): string</code></a><span class="ox-api-module__summary">Expand the character references that show up in &lt;meta&gt; content. Metadata is markup, so…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ogp-parse.md#faviconurl" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">faviconUrl(html: string, pageUrl: string): string | undefined</code></a><span class="ox-api-module__summary">The site&#39;s own icon, never a third-party favicon lookup service. Routing every card thr…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ogp-parse.md#resolvemetaurl" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveMetaUrl(value: string, pageUrl: string): string | undefined</code></a><span class="ox-api-module__summary">Resolve a URL taken from page metadata against the page it came from. Open Graph lets a…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./permalinks.md">permalinks</a></span>
    <span class="ox-api-module__count">8 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./permalinks.md#escapeattribute" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">escapeAttribute(value: string): string</code></a><span class="ox-api-module__summary">Escapes a value for use in an HTML attribute.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./permalinks.md#permalinks" class="ox-api-module__link"><code class="ox-api-module__name">permalinks</code></a><span class="ox-api-module__summary">Opt-in permalink / slug routing and <em>index frontmatter cascade. Resolution follows ox</em>c…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./permalinks.md#resolvecascadeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveCascadeOptions(value: boolean | CascadeOptions | undefined): ResolvedCascadeOptions</code></a><span class="ox-api-module__summary">Resolves cascade. false / omitted stays off. true / {} enables.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedCascadeOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./permalinks.md#resolvedroutepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedRoutePage</code></a><span class="ox-api-module__summary">A page after cascade and optional permalink / slug rewriting.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./permalinks.md#resolvepageroutes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolvePageRoutes(input: { pages: readonly RoutePageInput[]; permalinks?: ResolvedPermalinksOptions | null; cascade?: ResolvedCascadeOptions | null; }): RouteResolveOutput</code></a><span class="ox-api-module__summary">Applies cascade (when on) then permalink / slug rewriting (when on). Collisions skip th…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns RouteResolveOutput</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./permalinks.md#resolvepermalinksoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolvePermalinksOptions(value: boolean | PermalinksOptions | undefined): ResolvedPermalinksOptions</code></a><span class="ox-api-module__summary">Resolves permalinks. false / omitted stays off. true / {} enables.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedPermalinksOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./permalinks.md#routepageinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RoutePageInput</code></a><span class="ox-api-module__summary">One page considered for cascade and permalink resolution.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./permalinks.md#routeresolveoutput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RouteResolveOutput</code></a><span class="ox-api-module__summary">Resolved pages plus collision / rejection errors.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./pm.md">pm</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./pm.md#pm" class="ox-api-module__link"><code class="ox-api-module__name">pm</code></a><span class="ox-api-module__summary">Package Manager Tabs Plugin Transforms &lt;pm&gt;npm install …&lt;/pm&gt; blocks into a tab group w…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./pm.md#pmoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PmOptions</code></a><span class="ox-api-module__summary">Options for transformPm.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./pm.md#transformpm" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformPm(html: string, options?: PmOptions): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Transform &lt;pm&gt; package-manager blocks in HTML into install tabs.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./provider-article-values.md">provider-article-values</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./provider-article-values.md#provider-article-values" class="ox-api-module__link"><code class="ox-api-module__name">provider-article-values</code></a><span class="ox-api-module__summary">Value shaping for provider article cards: reading and writing tag attributes, and narro…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./provider-disk-cache.md">provider-disk-cache</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./provider-disk-cache.md#provider-disk-cache" class="ox-api-module__link"><code class="ox-api-module__name">provider-disk-cache</code></a><span class="ox-api-module__summary">A cross-build cache for provider card metadata. Open Graph cards have had one of these…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./provider-disk-cache.md#providercacheentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ProviderCacheEntry&lt;T&gt;</code></a><span class="ox-api-module__summary">What one cache file holds. null data is a remembered miss.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./provider-disk-cache.md#providercachefilename" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">providerCacheFileName(key: string): string</code></a><span class="ox-api-module__summary">A file name for a cache key. Hashed rather than escaped: a key carries a provider URL,…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./provider-disk-cache.md#readprovidercache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">readProviderCache&lt;T&gt;(cacheDir: string | null, key: string, ttl: number, now: number): Promise&lt;T | null | undefined&gt;</code></a><span class="ox-api-module__summary">Reads a cached value. Returns undefined for &quot;nothing usable here&quot; and null for &quot;this wa…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns Promise&lt;T | null | undefined&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./provider-disk-cache.md#writeprovidercache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeProviderCache&lt;T&gt;(cacheDir: string | null, key: string, data: T | null, cachedAt: number): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Writes a value, replacing any existing entry atomically.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./provider-failure.md">provider-failure</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./provider-failure.md#embedfailure" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">EmbedFailure = { kind: &quot;unavailable&quot;; status: number } | { kind: &quot;missing&quot;; status: number } | { kind: &quot;fetch-failed&quot;; reason: string } | { kind: &quot;offline&quot;; reason: string }</code></a><span class="ox-api-module__summary">Why a build-time embed lookup did not produce metadata. Every fetcher used to collapse…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./provider-failure.md#errorcode" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">errorCode(error: Error): string | undefined</code></a><span class="ox-api-module__summary">cause is where undici puts the syscall error; older runtimes use code.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./provider-failure.md#offline_codes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const OFFLINE_CODES = new Set([ &quot;ENOTFOUND&quot;, &quot;EAI_AGAIN&quot;, &quot;ECONNREFUSED&quot;, &quot;ENETUNREACH&quot;, &quot;ENETDOWN&quot;, &quot;EHOSTUNREACH&quot;, ])</code></a><span class="ox-api-module__summary">Node&#39;s fetch reports a missing network through cause.code.</span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./provider-failure.md#offlinereported" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">let offlineReported = false</code></a><span class="ox-api-module__summary">An offline build fails every lookup for the same reason, so it says so once. One line p…</span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./provider-failure.md#provider-failure" class="ox-api-module__link"><code class="ox-api-module__name">provider-failure</code></a><span class="ox-api-module__summary">Why a build-time embed lookup did not produce metadata. Every fetcher used to collapse…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./publish-state.md">publish-state</a></span>
    <span class="ox-api-module__count">8 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./publish-state.md#classifypublishstate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">classifyPublishState(frontmatter: Record&lt;string, unknown&gt;, options: ResolvedPublishStateOptions | undefined): { output: boolean; listed: boolean }</code></a><span class="ox-api-module__summary">Classifies one frontmatter object. Never throws.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns object</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./publish-state.md#filternavgroups" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">filterNavGroups&lt;T extends NavGroupLike&gt;(groups: T[], hidden: ReadonlySet&lt;string&gt;): T[]</code></a><span class="ox-api-module__summary">Drops nav items that resolve to hidden (unpublished or unlisted) pages.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns T[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./publish-state.md#hiddennavkeys" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">hiddenNavKeys(pages: readonly PublishStatePage[], listed: readonly PublishStatePage[]): Set&lt;string&gt;</code></a><span class="ox-api-module__summary">Keys used to match a page against generated nav items.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Set&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./publish-state.md#partitionedpages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PartitionedPages&lt;T&gt;</code></a><span class="ox-api-module__summary">Split pages into production output vs listing surfaces.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./publish-state.md#partitionpublishedpages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">partitionPublishedPages&lt;T extends { frontmatter: Record&lt;string, unknown&gt; }&gt;(pages: readonly T[], options: ResolvedPublishStateOptions | undefined): PartitionedPages&lt;T&gt;</code></a><span class="ox-api-module__summary">Splits pages into those that write HTML and those that appear in listings.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns PartitionedPages&lt;T&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./publish-state.md#publish-state" class="ox-api-module__link"><code class="ox-api-module__name">publish-state</code></a><span class="ox-api-module__summary">Opt-in draft / unlisted / scheduled page classification.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./publish-state.md#publishstatepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PublishStatePage</code></a><span class="ox-api-module__summary">One page considered for publish-state filtering.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./publish-state.md#resolvepublishstateoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolvePublishStateOptions(value: boolean | PublishStateOptions | undefined): ResolvedPublishStateOptions</code></a><span class="ox-api-module__summary">Resolves publishState with defaults. false / omitted stays off. true enables production…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedPublishStateOptions</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./pwa.md">pwa</a></span>
    <span class="ox-api-module__count">8 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./pwa.md#generatepwa" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generatePwa(input: PwaRenderInput): PwaRenderResult</code></a><span class="ox-api-module__summary">Builds manifest / service-worker bodies without writing files.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns PwaRenderResult</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./pwa.md#injectpwapagetags" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">injectPwaPageTags(html: string, input: { options?: ResolvedPwaOptions | null; base?: string }): string</code></a><span class="ox-api-module__summary">Injects rel=manifest (and the service-worker register script when offline) into a theme…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./pwa.md#pwa" class="ox-api-module__link"><code class="ox-api-module__name">pwa</code></a><span class="ox-api-module__summary">Opt-in web app manifest and conservative service worker. The Vite plugin writes those f…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./pwa.md#pwarenderinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PwaRenderInput</code></a><span class="ox-api-module__summary">Inputs for rendering PWA file bodies.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./pwa.md#pwarenderresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PwaRenderResult</code></a><span class="ox-api-module__summary">Rendered PWA bodies, or a skip warning.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./pwa.md#resolvepwaoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolvePwaOptions(value: boolean | PwaOptions | undefined): ResolvedPwaOptions</code></a><span class="ox-api-module__summary">Resolves pwa with defaults. false / omitted stays off. true enables the manifest and of…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedPwaOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./pwa.md#writepwafiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writePwaFiles(input: WritePwaFilesInput): Promise&lt;{ files: string[]; warning?: string }&gt;</code></a><span class="ox-api-module__summary">Writes enabled PWA files into outDir.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;{ files: string[]; warning?: string }&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./pwa.md#writepwafilesinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WritePwaFilesInput extends PwaRenderInput</code></a><span class="ox-api-module__summary">Inputs for writing PWA files next to generated HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./reader-chrome-options.md">reader-chrome-options</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./reader-chrome-options.md#readerchromeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ReaderChromeOptions</code></a><span class="ox-api-module__summary">Per-control flags for ssg.readerChrome. Omitted fields stay on when the feature itself…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./reader-chrome-options.md#resolvedreaderchrome" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedReaderChrome = false | { copy: boolean; externalLinks: boolean; backToTop: boolean }</code></a><span class="ox-api-module__summary">Resolved reader chrome. false means no extra markup or JS.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./reader-chrome.md">reader-chrome</a></span>
    <span class="ox-api-module__count">8 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#applyreaderchromehtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">applyReaderChromeHtml(html: string, input: ReaderChromeInput = true): string</code></a><span class="ox-api-module__summary">Apply the same native reader-chrome HTML transform used by the built-in SSG. This rewri…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#readerchromeattributes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">readerChromeAttributes(input: ReaderChromeInput = true): Readonly&lt;Record&lt;string, &quot;&quot;&gt;&gt;</code></a><span class="ox-api-module__summary">Root attributes consumed by the browser runtime.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Readonly&lt;Record&lt;string, &quot;&quot;&gt;&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#readerchromecss" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">readerChromeCss(input: ReaderChromeInput = true): string</code></a><span class="ox-api-module__summary">CSS shared by the built-in SSG and custom hosts.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#readerchromescript" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">readerChromeScript(input: ReaderChromeInput = true): string</code></a><span class="ox-api-module__summary">Auto-initializing script shared by the built-in SSG and custom hosts.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#renderreaderchromeattributes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderReaderChromeAttributes(input: ReaderChromeInput = true): string</code></a><span class="ox-api-module__summary">Render the root attributes as a leading-space HTML fragment. Useful in template strings…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#renderreaderchromescripttag" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderReaderChromeScriptTag(input: ReaderChromeInput = true): string</code></a><span class="ox-api-module__summary">Inline auto-init script for static hosts that do not bundle @ox-content/vite-plugin/rea…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#renderreaderchromestyletag" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderReaderChromeStyleTag(input: ReaderChromeInput = true): string</code></a><span class="ox-api-module__summary">Inline stylesheet tag for hosts that do not import @ox-content/vite-plugin/styles/reade…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./reader-chrome.md#resolvereaderchromeinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveReaderChromeInput(input: ReaderChromeInput = true): ResolvedReaderChrome</code></a><span class="ox-api-module__summary">Resolve the public reader-chrome option shape. true mirrors ssg.readerChrome: true: cop…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedReaderChrome</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./redirect-provider.md">redirect-provider</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirect-provider.md#resolveredirectprovider" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveRedirectProvider(explicit: RedirectProvider | undefined, env: NodeJS.ProcessEnv): { provider?: RedirectProvider; warning?: string }</code></a><span class="ox-api-module__summary">Resolves the _redirects host from an explicit option or CI env. Pass env so tests can i…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns object</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./redirects.md">redirects</a></span>
    <span class="ox-api-module__count">13 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirects.md#generateredirecthtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateRedirectHtml(dest: string): string</code></a><span class="ox-api-module__summary">Static HTML redirect body. dest is escaped.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirects.md#ishostwildcardsource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isHostWildcardSource(from: string): boolean</code></a><span class="ox-api-module__summary">* is host-rule syntax (Netlify / Cloudflare), not a URL segment.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirects.md#issafedest" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isSafeDest(value: string): boolean</code></a><span class="ox-api-module__summary">Same-origin path: leading /, not //, and no scheme.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirects.md#normalizepath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">normalizePath(value: string): string | null</code></a><span class="ox-api-module__summary">Strips a trailing slash except for /. Unsafe values become null.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | null</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirects.md#planredirectfiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">planRedirectFiles(input: RedirectPlanInput): RedirectPlan</code></a><span class="ox-api-module__summary">Plans redirect HTML files without writing them.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns RedirectPlan</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./redirects.md#redirectfileplan" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RedirectFilePlan</code></a><span class="ox-api-module__summary">One planned static HTML redirect.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./redirects.md#redirectpageinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RedirectPageInput</code></a><span class="ox-api-module__summary">One page that may declare aliases or a single redirect source.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./redirects.md#redirectplan" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RedirectPlan</code></a><span class="ox-api-module__summary">Planned redirect files and optional host / JSON bodies.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./redirects.md#redirectplaninput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RedirectPlanInput</code></a><span class="ox-api-module__summary">Inputs for planning redirect files.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./redirects.md#redirects" class="ox-api-module__link"><code class="ox-api-module__name">redirects</code></a><span class="ox-api-module__summary">Opt-in static redirects / aliases. HTML bodies follow ox<em>content</em>ssg::generate_redirect…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirects.md#resolveredirectsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveRedirectsOptions(value: boolean | RedirectsOptions | Record&lt;string, string&gt; | undefined, env: NodeJS.ProcessEnv = process.env): ResolvedRedirectsOptions</code></a><span class="ox-api-module__summary">Resolves redirects with defaults. false / omitted stays off. true or {} enables empty d…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns ResolvedRedirectsOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./redirects.md#writeredirectfiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeRedirectFiles(input: WriteRedirectFilesInput): Promise&lt;{ files: string[] }&gt;</code></a><span class="ox-api-module__summary">Writes planned redirect HTML (and optional host files) into outDir.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;{ files: string[] }&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./redirects.md#writeredirectfilesinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WriteRedirectFilesInput</code></a><span class="ox-api-module__summary">Inputs for writing redirect files next to generated HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./render-markdown.md">render-markdown</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./render-markdown.md#createmarkdownprocessor" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createMarkdownProcessor(options: OxContentOptions = {}): MarkdownProcessor</code></a><span class="ox-api-module__summary">Resolves public options once so custom ssg: false hosts can reuse the pipeline.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns MarkdownProcessor</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./render-markdown.md#markdownprocessor" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownProcessor</code></a><span class="ox-api-module__summary">Processor that resolves OxContentOptions once and renders many documents.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./render-markdown.md#render-markdown" class="ox-api-module__link"><code class="ox-api-module__name">render-markdown</code></a><span class="ox-api-module__summary">Programmatic Markdown/MDX pipeline for hosts that do not import files through Vite.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./render-markdown.md#rendermarkdown" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderMarkdown(source: string, filePath: string, options: OxContentOptions = {}): Promise&lt;TransformResult&gt;</code></a><span class="ox-api-module__summary">Run the Vite plugin Markdown/MDX pipeline from public OxContentOptions. Returns structu…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;TransformResult&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./renderer.md">renderer</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./renderer.md#renderer" class="ox-api-module__link"><code class="ox-api-module__name">renderer</code></a><span class="ox-api-module__summary">HTML → PNG renderer using Chromium screenshots via Playwright.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./renderer.md#renderhtmltopng" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderHtmlToPng(page: Page, html: string, width: number, height: number, publicDir?: string): Promise&lt;Buffer&gt;</code></a><span class="ox-api-module__summary">Renders an HTML string to a PNG buffer using Chromium.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 params</span><span class="ox-api-badge">returns Promise&lt;Buffer&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./renderer.md#routepublicdir" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">routePublicDir(page: Page, publicDir: string): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Serves local assets from publicDir for anything the card requests. Registered once per…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./renderer.md#wraphtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">wrapHtml(bodyHtml: string, width: number, height: number, useBaseUrl: boolean): string</code></a><span class="ox-api-module__summary">Wraps template HTML in a minimal document with viewport locked to given dimensions.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./repo-card.md">repo-card</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./repo-card.md#creategithubcard" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createGitHubCard(repoData: GitHubRepoData): Element</code></a><span class="ox-api-module__summary">Create GitHub card element from repo data.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Element</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resolve-options.md">resolve-options</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./resolve-options.md#resolveoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveOptions(options: OxContentOptions): ResolvedOptions</code></a><span class="ox-api-module__summary">Resolves plugin options with defaults.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedOptions</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resources-dedupe.md">resources-dedupe</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./resources-dedupe.md#hashresourcefile" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">hashResourceFile(filePath: string, ext: string, store: ResourceDedupeStore, reuseKey: string): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">SHA-256 of emitted bytes plus a NUL and the serving extension so the same payload canno…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./resources-dedupe.md#linkorcopyalias" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">linkOrCopyAlias(canonical: string, alias: string, linker: typeof fs.link = fs.link): Promise&lt;&quot;link&quot; | &quot;copy&quot;&gt;</code></a><span class="ox-api-module__summary">Prefer a hard link at the original output path. link failure removes any stale alias an…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;&quot;link&quot; | &quot;copy&quot;&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./resources-dedupe.md#resources-dedupe" class="ox-api-module__link"><code class="ox-api-module__name">resources-dedupe</code></a><span class="ox-api-module__summary">Site-wide content-addressed emit for identical page-resource bytes. Hashing streams the…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./resources-dedupe.md#rewritetocanonicalurl" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">rewriteToCanonicalUrl(originalSrc: string, canonicalPath: string): string</code></a><span class="ox-api-module__summary">Keep leftover search/hash; drop consumed transform params.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resources-html.md">resources-html</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./resources-html.md#resource_tag" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const RESOURCE_TAG = /&lt;(?:img|video|audio|source|track|a)\b[^&gt;]*&gt;/gi</code></a><span class="ox-api-module__summary">Collect local src, poster, and relevant href values from HTML tags.</span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./resources-html.md#resources-html" class="ox-api-module__link"><code class="ox-api-module__name">resources-html</code></a><span class="ox-api-module__summary">Collect local src, poster, and relevant href values from HTML tags.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resources-image.md">resources-image</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./resources-image.md#resources-image" class="ox-api-module__link"><code class="ox-api-module__name">resources-image</code></a><span class="ox-api-module__summary">Build-time PNG/JPEG pixel helpers for page resources. PNG is decoded and re-encoded for…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resources-jpeg.md">resources-jpeg</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./resources-jpeg.md#resources-jpeg" class="ox-api-module__link"><code class="ox-api-module__name">resources-jpeg</code></a><span class="ox-api-module__summary">JPEG encode-only helpers for page resource transforms.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resources-process.md">resources-process</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./resources-process.md#resources-process" class="ox-api-module__link"><code class="ox-api-module__name">resources-process</code></a><span class="ox-api-module__summary">Page-resource HTML rewriting and transform writes.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resources-write.md">resources-write</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./resources-write.md#resources-write" class="ox-api-module__link"><code class="ox-api-module__name">resources-write</code></a><span class="ox-api-module__summary">Transform cache writes for page resources.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./resources.md">resources</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./resources.md#isinsideroot" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isInsideRoot(root: string, candidate: string): boolean</code></a><span class="ox-api-module__summary">True when candidate stays inside root after resolve.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./resources.md#resolveresourcesoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveResourcesOptions(value: boolean | ResourcesOptions | undefined): ResolvedResourcesOptions</code></a><span class="ox-api-module__summary">Resolves resources. Omitted / false stay off. true or {} enables defaults. An object en…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedResourcesOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./resources.md#resourcecachekey" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resourceCacheKey(sourcePath: string, mtimeMs: number, transform: ResourceTransform): string</code></a><span class="ox-api-module__summary">Cache key for a source file plus transform. Changing mtime or params produces a differe…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./resources.md#resources" class="ox-api-module__link"><code class="ox-api-module__name">resources</code></a><span class="ox-api-module__summary">Opt-in page-bundle resources and build-time image processing. A page directory is the b…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./satori-renderer.md">satori-renderer</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./satori-renderer.md#renderhtmltopngwithsatori" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderHtmlToPngWithSatori(source: string, options: ResolvedOgImageOptions, root: string): Promise&lt;Buffer&gt;</code></a><span class="ox-api-module__summary">Render an HTML string to PNG using Satori and resvg.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;Buffer&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./search-filters.md">search-filters</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./search-filters.md#search-filters" class="ox-api-module__link"><code class="ox-api-module__name">search-filters</code></a><span class="ox-api-module__summary">Language and version filters for the default search dialog.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search-filters.md#searchdocumentlocale" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">searchDocumentLocale(path: string, localeCodes: readonly string[], defaultLocale: string, versionPrefixes: readonly string[] = []): string</code></a><span class="ox-api-module__summary">Resolves a document path to a locale code after stripping version prefixes.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./search-provider.md">search-provider</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search-provider.md#generatehostedsearchmodule" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateHostedSearchModule(options: ResolvedSearchOptions): string</code></a><span class="ox-api-module__summary">Client runtime that queries the hosted HTTP adapter. Misconfigured hosted search emits…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search-provider.md#hasforbiddensearchcredentialfields" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">hasForbiddenSearchCredentialFields(options: object): boolean</code></a><span class="ox-api-module__summary">Returns true when the options object names a write or admin credential.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search-provider.md#resolvehostedsearchconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveHostedSearchConfig(options: SearchOptions, env: NodeJS.ProcessEnv = process.env): HostedSearchConfig | null</code></a><span class="ox-api-module__summary">Resolves hosted credentials from config or env. Missing or forbidden keys fail closed a…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns HostedSearchConfig | null</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./search-provider.md#search-provider" class="ox-api-module__link"><code class="ox-api-module__name">search-provider</code></a><span class="ox-api-module__summary">Opt-in hosted search provider for virtual:ox-content/search. Local BM25 stays the defau…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search-provider.md#tolocalsearchruntimeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">toLocalSearchRuntimeOptions(options: ResolvedSearchOptions)</code></a><span class="ox-api-module__summary">Runtime fields accepted by the native local BM25 module generator.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./search.md">search</a></span>
    <span class="ox-api-module__count">8 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search.md#buildsearchindex" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">buildSearchIndex(srcDir: string, base: string, extensions: readonly string[] = DEFAULT_MARKDOWN_EXTENSIONS, publishState?: ResolvedPublishStateOptions, excludeDocumentIds: readonly string[] = [], mdx?: boolean, conditionalBlocks?: ResolvedConditionalBlockOptions, citations?: ResolvedCitationsOptions): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Builds the search index from Markdown files. publishState is forwarded to the native in…</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search.md#generatesearchmodule" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateSearchModule(options: ResolvedSearchOptions, indexPath: string): string</code></a><span class="ox-api-module__summary">Client-side search module code. This is injected into the bundle as a virtual module.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search.md#getsearchdocumentscopes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getSearchDocumentScopes(doc: Pick&lt;SearchDocument, &quot;id&quot; | &quot;url&quot;&gt;): string[]</code></a><span class="ox-api-module__summary">Derives hierarchical search scopes from a document id or URL. For example, api/math/ind…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search.md#matchessearchscopes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">matchesSearchScopes(doc: Pick&lt;SearchDocument, &quot;id&quot; | &quot;url&quot;&gt;, scopes: string[]): boolean</code></a><span class="ox-api-module__summary">Returns true when a search document belongs to at least one requested scope.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search.md#parsescopedsearchquery" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">parseScopedSearchQuery(query: string): ScopedSearchQuery</code></a><span class="ox-api-module__summary">Splits a raw query into free-text terms and @scope prefixes.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ScopedSearchQuery</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search.md#resolvesearchoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveSearchOptions(options: SearchOptions | boolean | undefined): ResolvedSearchOptions</code></a><span class="ox-api-module__summary">Resolves search options with defaults.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedSearchOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./search.md#search" class="ox-api-module__link"><code class="ox-api-module__name">search</code></a><span class="ox-api-module__summary">Full-text search functionality for Ox Content. Generates search index at build time and…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./search.md#writesearchindex" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeSearchIndex(indexJson: string, outDir: string): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Writes the search index to a file.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./section-index-html.md">section-index-html</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./section-index-html.md#escapesectionindexhtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">escapeSectionIndexHtml(value: string): string</code></a><span class="ox-api-module__summary">Escapes text and attribute values in generated listing markup.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./section-index-html.md#issafesectionhref" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">isSafeSectionHref(value: string): boolean</code></a><span class="ox-api-module__summary">https:-free, same-origin or relative href. javascript: is rejected.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./section-index-html.md#rendersectionindexhtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderSectionIndexHtml(title: string, items: readonly SectionIndexItem[], style: SectionIndexStyle): string</code></a><span class="ox-api-module__summary">Renders the listing body. Titles are escaped; hostile hrefs are dropped.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./section-index-html.md#section-index-html" class="ox-api-module__link"><code class="ox-api-module__name">section-index-html</code></a><span class="ox-api-module__summary">Section-index listing HTML and href safety. Titles are escaped. javascript: / data: / v…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./section-index-html.md#sectionindexitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SectionIndexItem</code></a><span class="ox-api-module__summary">One child link on a generated section index.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./section-index-paths.md">section-index-paths</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./section-index-paths.md#section-index-paths" class="ox-api-module__link"><code class="ox-api-module__name">section-index-paths</code></a><span class="ox-api-module__summary">Section-index URL, title, and output-path helpers.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./section-index.md">section-index</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./section-index.md#appendsectionindexpages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">appendSectionIndexPages(input: { generatedPages: Array&lt;{ inputPath: string; outputPath: string; html: string }&gt;; collectedPages: readonly SectionIndexSourcePage[]; listedPages: readonly SectionIndexSourcePage[]; options?: ResolvedSectionIndexOptions; outDir: string; base: string; extension: string; errors: string[]; render: (page: SectionIndexGeneratedPage) =&gt; Promise&lt;string&gt;; }): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Appends generated section indexes for directories that have no real index.</span><span class="ox-api-module__meta"><span class="ox-api-badge">10 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./section-index.md#resolvesectionindexoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveSectionIndexOptions(value: boolean | SectionIndexOptions | undefined): ResolvedSectionIndexOptions</code></a><span class="ox-api-module__summary">Resolves ssg.sectionIndex with defaults. false / omitted stays off. true enables card l…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedSectionIndexOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./section-index.md#section-index" class="ox-api-module__link"><code class="ox-api-module__name">section-index</code></a><span class="ox-api-module__summary">Opt-in generated section index pages. Resolution and directory walking live here. Listi…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./section-index.md#sectionindexgeneratedpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SectionIndexGeneratedPage</code></a><span class="ox-api-module__summary">Synthetic page passed back to generateHtmlPage.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./section-index.md#sectionindexsourcepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SectionIndexSourcePage</code></a><span class="ox-api-module__summary">One built page considered when deciding indexes and children.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./section-index.md#tosectionindexprocessresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">toSectionIndexProcessResult(page: SectionIndexGeneratedPage): { inputPath: string; routePaths: { outputPath: string; urlPath: string; href: string; ogImagePath: string; ogImageUrl: string; }; transformedHtml: string; title: string; frontmatter: Record&lt;string, unknown&gt;; toc: []; }</code></a><span class="ox-api-module__summary">Maps a generated section index onto the SSG render shape.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns object</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./site-maps.md">site-maps</a></span>
    <span class="ox-api-module__count">9 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./site-maps.md#formatlastmod" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">formatLastmod(timestampMs: number | undefined): string | undefined</code></a><span class="ox-api-module__summary">UTC YYYY-MM-DD for W3C lastmod. Invalid or negative timestamps are dropped.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./site-maps.md#generatesitemaps" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateSiteMaps(input: SiteMapsRenderInput): SiteMapsRenderResult</code></a><span class="ox-api-module__summary">Builds sitemap / robots / llms bodies without writing files.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns SiteMapsRenderResult</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./site-maps.md#resolvesitemapsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveSiteMapsOptions(value: boolean | SiteMapsOptions | undefined): ResolvedSiteMapsOptions</code></a><span class="ox-api-module__summary">Resolves siteMaps with defaults. false / omitted stays off. true enables all three file…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedSiteMapsOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./site-maps.md#site-maps" class="ox-api-module__link"><code class="ox-api-module__name">site-maps</code></a><span class="ox-api-module__summary">Opt-in sitemap.xml / robots.txt / llms.txt helpers. Bodies come from ox<em>content</em>ssg::ge…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./site-maps.md#sitemappageinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SiteMapPageInput</code></a><span class="ox-api-module__summary">One page considered for crawl manifests.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./site-maps.md#sitemapsrenderinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SiteMapsRenderInput</code></a><span class="ox-api-module__summary">Inputs for rendering crawl-manifest bodies.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./site-maps.md#sitemapsrenderresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SiteMapsRenderResult</code></a><span class="ox-api-module__summary">Rendered crawl-manifest bodies, or a skip warning.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./site-maps.md#writesitemapfiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeSiteMapFiles(input: WriteSiteMapFilesInput): Promise&lt;{ files: string[]; warning?: string }&gt;</code></a><span class="ox-api-module__summary">Writes enabled crawl manifests into outDir.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;{ files: string[]; warning?: string }&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./site-maps.md#writesitemapfilesinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WriteSiteMapFilesInput</code></a><span class="ox-api-module__summary">Inputs for writing crawl manifests next to generated HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./ssg-output-write.md">ssg-output-write</a></span>
    <span class="ox-api-module__count">7 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg-output-write.md#resolvegitlastmod" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveGitLastmod(filePath: string, root?: string): number | undefined</code></a><span class="ox-api-module__summary">Git last-commit time for filePath in milliseconds. Same lookup buildSsg() uses for ssg.…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns number | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./ssg-output-write.md#ssg-output-write" class="ox-api-module__link"><code class="ox-api-module__name">ssg-output-write</code></a><span class="ox-api-module__summary">Writers for composable SSG outputs. Custom hosts call these without buildSsg().</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg-output-write.md#writemarkdowncompanions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeMarkdownCompanions(input: WriteMarkdownSourceFilesInput): Promise&lt;{ files: string[]; errors: string[] }&gt;</code></a><span class="ox-api-module__summary">Write Markdown companions for host-rendered pages. Reuses writeMarkdownSourceFiles from…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;{ files: string[]; errors: string[] }&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg-output-write.md#writeresourcefiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeResourceFiles(input: WriteResourceFilesInput): Promise&lt;WriteResourceFilesResult&gt;</code></a><span class="ox-api-module__summary">Fingerprint, rewrite, and emit page resources for host-rendered HTML. Uses the same res…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;WriteResourceFilesResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg-output-write.md#writeresourcefilesinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WriteResourceFilesInput</code></a><span class="ox-api-module__summary">Inputs for writing fingerprinted page resources from host HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg-output-write.md#writeresourcefilespage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WriteResourceFilesPage</code></a><span class="ox-api-module__summary">One host-rendered page that may receive resource fingerprinting.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg-output-write.md#writeresourcefilesresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WriteResourceFilesResult</code></a><span class="ox-api-module__summary">Rewritten host pages plus emitted resource paths.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./ssg-output.md">ssg-output</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg-output.md#planssgoutputs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">planSsgOutputs(input: PlanSsgOutputsInput): SsgOutputPlan</code></a><span class="ox-api-module__summary">Plan resource, companion, feed, and sitemap outputs without rendering pages. ssg.enable…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns SsgOutputPlan</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg-output.md#planssgoutputsinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PlanSsgOutputsInput</code></a><span class="ox-api-module__summary">Inputs for planning composable SSG outputs from host-rendered pages.</span><span class="ox-api-module__meta"><span class="ox-api-badge">9 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg-output.md#planssgoutputsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PlanSsgOutputsOptions</code></a><span class="ox-api-module__summary">Same option objects oxContent() / buildSsg() accept. ssg.enabled is ignored.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./ssg-output.md#ssg-output" class="ox-api-module__link"><code class="ox-api-module__name">ssg-output</code></a><span class="ox-api-module__summary">Composable SSG outputs for custom hosts that set ssg: false. Ox Content owns resource f…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg-output.md#ssgoutputplan" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgOutputPlan</code></a><span class="ox-api-module__summary">Planned writer inputs. Call the matching write* function for each feature.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./ssg.md">ssg</a></span>
    <span class="ox-api-module__count">35 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#buildnavitems" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">buildNavItems(markdownFiles: string[], srcDir: string, base: string, extension: string): NavGroup[]</code></a><span class="ox-api-module__summary">Builds navigation items from markdown files, grouped by directory.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns NavGroup[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#buildssg" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">buildSsg(options: ResolvedOptions, root: string): Promise&lt;SsgBuildResult&gt;</code></a><span class="ox-api-module__summary">Builds all markdown files to static HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;SsgBuildResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#buildthemenavitems" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">buildThemeNavItems(sidebar: SidebarItem[], base: string, extension: string): NavGroup[]</code></a><span class="ox-api-module__summary">Builds navigation items from an explicit theme sidebar tree while retaining locale-map…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns NavGroup[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#canonicalpageurl" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">canonicalPageUrl(context: BuildSsgContext, urlPath: string): string | undefined</code></a><span class="ox-api-module__summary">Absolute URL of a page, or undefined when ssg.siteUrl is not set. Built the same way ge…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#collectmarkdownfiles" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">collectMarkdownFiles(srcDir: string, extensions: readonly string[] = DEFAULT_MARKDOWN_EXTENSIONS): Promise&lt;string[]&gt;</code></a><span class="ox-api-module__summary">Collects all markdown files from the source directory.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string[]&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./ssg.md#default_html_template" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const DEFAULT_HTML_TEMPLATE = &quot;&lt;!-- ox-content default HTML template is Rust-backed --&gt;&quot;</code></a><span class="ox-api-module__summary">Deprecated compatibility export for consumers that imported the former TypeScript SSG t…</span><span class="ox-api-module__meta"><span class="ox-api-badge ox-api-badge--warning">deprecated</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#extracttitle" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">extractTitle(content: string, frontmatter: Record&lt;string, unknown&gt;): string</code></a><span class="ox-api-module__summary">Extracts title from content or frontmatter.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#formattitle" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">formatTitle(name: string): string</code></a><span class="ox-api-module__summary">Formats a file/dir name as a title.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#generatebarehtmlpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateBareHtmlPage(content: string, title: string): string</code></a><span class="ox-api-module__summary">Generates bare HTML page (no navigation, no styles).</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#generatebarepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateBarePage(page: SsgBarePage): string</code></a><span class="ox-api-module__summary">Generates a bare HTML page carrying head metadata and injected markup. Bare mode leaves…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#generatehtmlpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateHtmlPage(pageData: SsgPageData, navGroups: NavGroup[], siteName: string, base: string, ogImage?: string, theme?: ResolvedThemeConfig, locale?: string, availableLocales?: LocaleConfig[], pagination = false, readerChrome: ResolvedReaderChrome = false, breadcrumbs = false, localeSwitcher = false, localePaths?: SsgLocalePath[], a11y: ResolvedA11y = false, team: ResolvedTeamOptions = { enabled: false, members: [] }, pageChrome: boolean = false, breadcrumbRootHref?: string, jsonLd: ResolvedJsonLd = false, siteUrl?: string, headValidation: false | &quot;warn&quot; | &quot;strict&quot; = false, defaultLocale?: string, iconsEnabled = false): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Generates HTML page with navigation using Rust NAPI bindings.</span><span class="ox-api-module__meta"><span class="ox-api-badge">22 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#gethref" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getHref(inputPath: string, srcDir: string, base: string, extension: string, routePrefix?: string): string</code></a><span class="ox-api-module__summary">Converts a markdown file path to an href.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#getoutputpath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getOutputPath(inputPath: string, srcDir: string, outDir: string, extension: string, routePrefix?: string): string</code></a><span class="ox-api-module__summary">Converts a markdown file path to its corresponding HTML output path.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#geturlpath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getUrlPath(inputPath: string, srcDir: string, routePrefix?: string): string</code></a><span class="ox-api-module__summary">Converts a markdown file path to a relative URL path.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./ssg.md#localecodescache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const localeCodesCache = new WeakMap&lt;LocaleConfig[], string[]&gt;()</code></a><span class="ox-api-module__summary">Per-build cache for the locale-code list passed to getSsgPageLocale. The i18n.locales r…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#navgroup" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NavGroup</code></a><span class="ox-api-module__summary">Navigation group for hierarchical navigation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./ssg.md#navgroupsforrustcache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const navGroupsForRustCache = new WeakMap&lt;NavGroup[], RustNavGroup[]&gt;()</code></a><span class="ox-api-module__summary">Per-build cache for the Rust-facing nav conversion. navGroups is the same context.navIt…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#normalizerouteprefix" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">normalizeRoutePrefix(value?: string): string | undefined</code></a><span class="ox-api-module__summary">Normalizes blog / /blog / /blog/ to blog. Empty or unsafe values stay off.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#parsessgpageroverride" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">parseSsgPagerOverride(value: unknown): SsgPagerOverride | undefined</code></a><span class="ox-api-module__summary">Parses prev / next frontmatter into a pager override.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns SsgPagerOverride | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#resolvenavigationgroups" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveNavigationGroups(navigation: SsgNavigationGroup[] | undefined, base: string, extension: string): NavGroup[] | undefined</code></a><span class="ox-api-module__summary">Resolves manual navigation config to the format used by the built-in SSG renderer.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns NavGroup[] | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#resolvessgoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveSsgOptions(ssg: SsgOptions | boolean | undefined): ResolvedSsgOptions</code></a><span class="ox-api-module__summary">Resolves SSG options with defaults.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedSsgOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#rustlocale" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RustLocale</code></a><span class="ox-api-module__summary">Rust-facing locale shape.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./ssg.md#rustlocalescache" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const rustLocalesCache = new WeakMap&lt;LocaleConfig[], RustLocale[]&gt;()</code></a><span class="ox-api-module__summary">Per-build cache for the Rust-facing locale list. i18n.locales is the same reference for…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#rustnavgroup" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RustNavGroup</code></a><span class="ox-api-module__summary">NAPI-facing nav group shape produced from a NavGroup.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#shouldgenerateogimages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">shouldGenerateOgImages(options: ResolvedOptions): boolean</code></a><span class="ox-api-module__summary">Whether this build emits one Open Graph image per page. ssg.bare deliberately does not…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns boolean</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#sitepathfromurlpath" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">sitePathFromUrlPath(urlPath: string): string</code></a><span class="ox-api-module__summary">Turns an SSG urlPath (guide or /) into a same-origin dest (/guide).</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./ssg.md#ssg" class="ox-api-module__link"><code class="ox-api-module__name">ssg</code></a><span class="ox-api-module__summary">SSG (Static Site Generation) module for ox-content</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#ssgbarepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgBarePage</code></a><span class="ox-api-module__summary">Head metadata and injected markup for a bare page.</span><span class="ox-api-module__meta"><span class="ox-api-badge">11 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#ssgbuildresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgBuildResult</code></a><span class="ox-api-module__summary">Result of an SSG build.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#ssgentrypageconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgEntryPageConfig</code></a><span class="ox-api-module__summary">Entry page configuration for SSG (passed to Rust).</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#ssgnavitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgNavItem</code></a><span class="ox-api-module__summary">Navigation item for SSG.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#ssgpagedata" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgPageData</code></a><span class="ox-api-module__summary">Page data for SSG.</span><span class="ox-api-module__meta"><span class="ox-api-badge">15 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./ssg.md#ssgpageroverride" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgPagerOverride</code></a><span class="ox-api-module__summary">Frontmatter override for one previous/next pager side.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#torusttocentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">toRustTocEntry(entry: TocEntry): TocEntry</code></a><span class="ox-api-module__summary">Converts a TocEntry tree into the plain shape the Rust binding expects. Hoisted to modu…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns TocEntry</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./ssg.md#tothemepagedata" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">toThemePageData(pageResult: PageProcessResult, markdownSource?: string): ThemePageData</code></a><span class="ox-api-module__summary">Maps an internal page result onto the theme renderer&#39;s page shape.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns ThemePageData</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./tabs.md">tabs</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./tabs.md#generatetabscss" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateTabsCSS(groupCount: number): string</code></a><span class="ox-api-module__summary">Generate dynamic CSS for :has() based tab switching. This is needed because :has() sele…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./tabs.md#gettabgroupcounter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getTabGroupCounter(): number</code></a><span class="ox-api-module__summary">Read the shared tab group counter. Other tab-like transforms (such as the package-manag…</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns number</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./tabs.md#resettabgroupcounter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resetTabGroupCounter(): void</code></a><span class="ox-api-module__summary">Reset tab group counter (for testing and per dev-server request).</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns void</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./tabs.md#settabgroupcounter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">setTabGroupCounter(value: number): void</code></a><span class="ox-api-module__summary">Set the shared tab group counter (advanced by other tab-like transforms).</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns void</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./tabs.md#tabs" class="ox-api-module__link"><code class="ox-api-module__name">tabs</code></a><span class="ox-api-module__summary">Tabs Plugin - Pure CSS implementation Transforms &lt;Tabs&gt;/&lt;Tab&gt; components into accessibl…</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./tabs.md#transformtabs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformTabs(html: string): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Transform Tabs components in HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./taxonomies-html.md">taxonomies-html</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./taxonomies-html.md#taxonomies-html" class="ox-api-module__link"><code class="ox-api-module__name">taxonomies-html</code></a><span class="ox-api-module__summary">Escaped taxonomy HTML and confined output paths.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./taxonomies-html.md#taxonomysourcepage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TaxonomySourcePage</code></a><span class="ox-api-module__summary">One built page considered for terms and related lists.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./taxonomies.md">taxonomies</a></span>
    <span class="ox-api-module__count">7 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./taxonomies.md#appendtaxonomypages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">appendTaxonomyPages(input: { generatedPages: Array&lt;{ inputPath: string; outputPath: string; html: string }&gt;; listedPages: readonly TaxonomySourcePage[]; options?: ResolvedTaxonomiesOptions; outDir: string; base: string; render: (page: TaxonomyGeneratedPage) =&gt; Promise&lt;string&gt;; errors: string[]; }): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Renders themed list and per-term pages and appends them to the build.</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./taxonomies.md#injectrelatedpages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">injectRelatedPages(pages: TaxonomySourcePage[], listed: readonly TaxonomySourcePage[], options?: ResolvedTaxonomiesOptions): void</code></a><span class="ox-api-module__summary">Appends related-page HTML to source pages that share a listed term.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns void</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./taxonomies.md#resolvetaxonomiesoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveTaxonomiesOptions(value: boolean | TaxonomiesOptions | undefined): ResolvedTaxonomiesOptions</code></a><span class="ox-api-module__summary">Resolves taxonomies with defaults. false / omitted stays off. true enables tags and cat…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedTaxonomiesOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./taxonomies.md#taxonomies" class="ox-api-module__link"><code class="ox-api-module__name">taxonomies</code></a><span class="ox-api-module__summary">Opt-in taxonomy term pages and related-page lists. Resolution and HTML live here. The V…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./taxonomies.md#taxonomygeneratedpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TaxonomyGeneratedPage</code></a><span class="ox-api-module__summary">Synthetic page passed back to generateHtmlPage.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./taxonomies.md#termslug" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">termSlug(term: string): string | undefined</code></a><span class="ox-api-module__summary">Stable URL slug for a frontmatter term. Returns undefined when the value cannot become…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./taxonomies.md#totaxonomyprocessresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">toTaxonomyProcessResult(page: TaxonomyGeneratedPage): { inputPath: string; routePaths: { outputPath: string; urlPath: string; href: string; ogImagePath: string; ogImageUrl: string; }; transformedHtml: string; title: string; frontmatter: Record&lt;string, unknown&gt;; toc: []; }</code></a><span class="ox-api-module__summary">Maps a generated taxonomy page onto the SSG render shape.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns object</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./team.md">team</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./team.md#resolveteamoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveTeamOptions(value: boolean | TeamOptions | undefined): ResolvedTeamOptions</code></a><span class="ox-api-module__summary">Resolves ssg.team with defaults. false / omitted stays off. true enables an empty membe…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedTeamOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./team.md#team" class="ox-api-module__link"><code class="ox-api-module__name">team</code></a><span class="ox-api-module__summary">Opt-in team / members page helpers. Resolution lives here. Member cards are rendered in…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./template.md">template</a></span>
    <span class="ox-api-module__count">4 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./template.md#escapehtml" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">escapeHtml(str: string): string</code></a><span class="ox-api-module__summary">Escapes HTML special characters.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./template.md#getdefaultsatoritemplate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getDefaultSatoriTemplate(): OgImageTemplateFn</code></a><span class="ox-api-module__summary">Returns the built-in template for the Satori renderer. The Chromium template intentiona…</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns OgImageTemplateFn</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./template.md#getdefaulttemplate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">getDefaultTemplate(): OgImageTemplateFn</code></a><span class="ox-api-module__summary">Returns the built-in default template function.</span><span class="ox-api-module__meta"><span class="ox-api-badge">returns OgImageTemplateFn</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./template.md#template" class="ox-api-module__link"><code class="ox-api-module__name">template</code></a><span class="ox-api-module__summary">Default OG image template. Uses inline HTML/CSS for a flat, low-color brand card with t…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./theme-bootstrap.md">theme-bootstrap</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-bootstrap.md#applythemebootstrap" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">applyThemeBootstrap(options: ThemeBootstrapOptions = {}): ThemeBootstrapState</code></a><span class="ox-api-module__summary">Apply the resolved theme state to the configured root element. Hosts can reuse this ins…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ThemeBootstrapState</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-bootstrap.md#createthemebootstrapscript" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createThemeBootstrapScript(options: ThemeBootstrapOptions = {}): string</code></a><span class="ox-api-module__summary">Return the exact inline JavaScript body a static host can hash for CSP.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-bootstrap.md#renderthemebootstrapscript" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderThemeBootstrapScript(options: ThemeBootstrapOptions = {}, renderOptions: RenderThemeBootstrapScriptOptions = {}): string</code></a><span class="ox-api-module__summary">Render an inline first-paint bootstrap tag. Use createThemeBootstrapScript() when a dep…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-bootstrap.md#resolvethemebootstrapstate" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveThemeBootstrapState(storedPreference: string | null | undefined, prefersDark: boolean, options: ThemeBootstrapOptions = {}): ThemeBootstrapState</code></a><span class="ox-api-module__summary">Resolve a stored theme preference to the root state the bootstrap applies.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns ThemeBootstrapState</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-bootstrap.md#setthemebootstrappreference" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">setThemeBootstrapPreference(preference: ThemeBootstrapPreference, options: ThemeBootstrapOptions = {}): ThemeBootstrapState</code></a><span class="ox-api-module__summary">Persist a preference and apply it with the same root contract as the bootstrap.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns ThemeBootstrapState</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./theme-fonts-acquire.md">theme-fonts-acquire</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./theme-fonts-acquire.md#theme-fonts-acquire" class="ox-api-module__link"><code class="ox-api-module__name">theme-fonts-acquire</code></a><span class="ox-api-module__summary">Resolve self-hosted faces from a local file / @fontsource directory or Google Fonts. Do…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./theme-fonts.md">theme-fonts</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-fonts.md#cssfamilyname" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">cssFamilyName(family: string): string</code></a><span class="ox-api-module__summary">CSS font-family identifier; quotes names that are not a single ident.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-fonts.md#flattenthemefonts" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">flattenThemeFonts(fonts: ThemeFontsLike): { sans?: string; mono?: string } | undefined</code></a><span class="ox-api-module__summary">Flatten object fonts so JsThemeFonts stays { sans?: string; mono?: string }.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns { sans?: string; mono?: string } | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-fonts.md#namedfontvarscss" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">namedFontVarsCss(fonts: ThemeFontsLike): string</code></a><span class="ox-api-module__summary">Extra --octc-font-* variables for fonts.named. Roles stay in Rust theme CSS.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./theme-fonts.md#theme-fonts" class="ox-api-module__link"><code class="ox-api-module__name">theme-fonts</code></a><span class="ox-api-module__summary">Opt-in web-font objects for theme.fonts, plus SSG self-host emission. NAPI still receiv…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme-fonts.md#themewebfont" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeWebFont</code></a><span class="ox-api-module__summary">UnoCSS-inspired family descriptor. The string stack form remains valid.</span><span class="ox-api-module__meta"><span class="ox-api-badge">11 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-fonts.md#writeselfhostedthemefonts" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">writeSelfHostedThemeFonts(options: WriteThemeFontsOptions): Promise&lt;string[]&gt;</code></a><span class="ox-api-module__summary">Copy self-hosted faces into outDir and write @font-face CSS.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Promise&lt;string[]&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./theme-renderer.md">theme-renderer</a></span>
    <span class="ox-api-module__count">10 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-renderer.md#createtheme" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">createTheme(config: { layouts: Record&lt;string, ThemeComponent&gt;; defaultLayout?: string; }): ThemeComponent</code></a><span class="ox-api-module__summary">Creates a theme with layout switching support.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns ThemeComponent</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-renderer.md#defaulttheme" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DefaultTheme({ children }: ThemeProps): JSXNode</code></a><span class="ox-api-module__summary">Default theme component. A minimal theme that renders page content with basic styling.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns JSXNode</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-renderer.md#generatetypes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateTypes(pages: PageData[], outDir: string): Promise&lt;void&gt;</code></a><span class="ox-api-module__summary">Generates TypeScript type definitions from page frontmatter.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;void&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme-renderer.md#pagedata" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PageData</code></a><span class="ox-api-module__summary">Page data for rendering.</span><span class="ox-api-module__meta"><span class="ox-api-badge">11 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-renderer.md#renderallpages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderAllPages(pages: PageData[], options: ThemeRenderOptions): Promise&lt;Map&lt;string, string&gt;&gt;</code></a><span class="ox-api-module__summary">Renders all pages and generates type definitions.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;Map&lt;string, string&gt;&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-renderer.md#renderpage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderPage(page: PageData, options: ThemeRenderOptions): string</code></a><span class="ox-api-module__summary">Renders a page using the theme component.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./theme-renderer.md#theme-renderer" class="ox-api-module__link"><code class="ox-api-module__name">theme-renderer</code></a><span class="ox-api-module__summary">Theme Renderer for Static HTML Generation Renders JSX theme components to static HTML s…</span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./theme-renderer.md#themecomponent" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeComponent = (props: ThemeProps) =&gt; JSXNode</code></a><span class="ox-api-module__summary">Theme component type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns JSXNode</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme-renderer.md#themeprops" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeProps</code></a><span class="ox-api-module__summary">Props passed to the theme component.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme-renderer.md#themerenderoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeRenderOptions</code></a><span class="ox-api-module__summary">Theme render options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./theme-tokens.md">theme-tokens</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-tokens.md#expandextendschain" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">expandExtendsChain(theme: ThemeTokenSource): ThemeTokenSource[]</code></a><span class="ox-api-module__summary">Flattens one layer&#39;s extends chain into base-first order, mirroring the SSG&#39;s own resol…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ThemeTokenSource[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-tokens.md#renderthemetokencss" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">renderThemeTokenCss(theme: ThemeTokenSource | ThemeTokenSource[], options: RenderThemeTokenCssOptions = {}): string</code></a><span class="ox-api-module__summary">Renders a theme&#39;s --octc-* tokens as a standalone stylesheet. The built-in SSG emits th…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme-tokens.md#renderthemetokencssoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RenderThemeTokenCssOptions</code></a><span class="ox-api-module__summary">Options for renderThemeTokenCss.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./theme-tokens.md#themetokens" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeTokens = Record&lt;string, string&gt;</code></a><span class="ox-api-module__summary">Free-form --octc-* custom properties for themes that need more than the typed colors /…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme-tokens.md#themetokensource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeTokenSource</code></a><span class="ox-api-module__summary">The token-bearing shape of a theme. Declared structurally instead of importing ThemeCon…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme-tokens.md#tokenstocss" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">tokensToCss(light: ThemeTokens, dark: ThemeTokens): string</code></a><span class="ox-api-module__summary">Renders light and dark token records as the three selectors the SSG runtime switches be…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./theme.md">theme</a></span>
    <span class="ox-api-module__count">32 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme.md#deepmerge" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">deepMerge&lt;T extends Record&lt;string, unknown&gt;&gt;(target: T, source: Partial&lt;T&gt;): T</code></a><span class="ox-api-module__summary">Deep merge two objects.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns T</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./theme.md#defaulttheme" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const defaultTheme: ThemeConfig</code></a><span class="ox-api-module__summary">Default theme configuration. Based on the current ox-content SSG styles.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme.md#definetheme" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">defineTheme(config: ThemeConfig): ThemeConfig</code></a><span class="ox-api-module__summary">Defines a theme configuration with type checking.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ThemeConfig</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme.md#expandextendschain" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">expandExtendsChain(config: ThemeConfig): ThemeConfig[]</code></a><span class="ox-api-module__summary">Flattens one layer&#39;s extends chain into base-first order. The seen guard keeps a theme…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ThemeConfig[]</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#legacysociallinks" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">LegacySocialLinks</code></a><span class="ox-api-module__summary">Legacy social links configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme.md#mergethemes" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">mergeThemes(...themes: (ThemeConfig | ThemeConfig[])[]): ThemeConfig</code></a><span class="ox-api-module__summary">Merges multiple theme configurations. Later themes override earlier ones. Object fields…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ThemeConfig</span><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napisociallinks" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiSocialLinks</code></a><span class="ox-api-module__summary">NAPI-compatible social links type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemecolors" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeColors</code></a><span class="ox-api-module__summary">NAPI-compatible theme colors type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">10 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemeconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeConfig</code></a><span class="ox-api-module__summary">NAPI-compatible theme configuration type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">17 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemeembed" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeEmbed</code></a><span class="ox-api-module__summary">NAPI-compatible theme embed type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">9 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemeentrypage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeEntryPage</code></a><span class="ox-api-module__summary">NAPI-compatible entry page theme type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemefonts" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeFonts</code></a><span class="ox-api-module__summary">NAPI-compatible theme fonts type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemefooter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeFooter</code></a><span class="ox-api-module__summary">NAPI-compatible theme footer type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemeheader" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeHeader</code></a><span class="ox-api-module__summary">NAPI-compatible theme header type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#napithemelayout" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiThemeLayout</code></a><span class="ox-api-module__summary">NAPI-compatible theme layout type.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#resolvedthemeconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedThemeConfig</code></a><span class="ox-api-module__summary">Resolved theme configuration (after merging with defaults).</span><span class="ox-api-module__meta"><span class="ox-api-badge">22 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme.md#resolvetheme" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveTheme(config?: ThemeConfig | ThemeConfig[]): ResolvedThemeConfig</code></a><span class="ox-api-module__summary">Resolves a theme configuration by merging with its extends chain and defaults. An array…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedThemeConfig</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#sidebaritem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SidebarItem</code></a><span class="ox-api-module__summary">Sidebar group or link, including recursively nested localized labels.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#sociallink" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SocialLink</code></a><span class="ox-api-module__summary">Custom social link.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./theme.md#sociallinkicon" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SocialLinkIcon = string | { svg: string }</code></a><span class="ox-api-module__summary">Custom social link icon.</span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./theme.md#sociallinks" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SocialLinks = LegacySocialLinks | SocialLink[]</code></a><span class="ox-api-module__summary">Social links configuration.</span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./theme.md#theme" class="ox-api-module__link"><code class="ox-api-module__name">theme</code></a><span class="ox-api-module__summary">Theme API for ox-content SSG Provides VitePress-like theming with default theme + custo…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themecolors" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeColors</code></a><span class="ox-api-module__summary">Theme color configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">10 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themeconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeConfig</code></a><span class="ox-api-module__summary">Complete theme configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">23 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme.md#themecss" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">themeCss(theme: ResolvedThemeConfig): string</code></a><span class="ox-api-module__summary">Token blocks come first so a theme&#39;s own css stays the final word, and both land after…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themeembed" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeEmbed</code></a><span class="ox-api-module__summary">Embedded HTML content for specific positions in the page layout.</span><span class="ox-api-module__meta"><span class="ox-api-badge">9 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themeentrypage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeEntryPage</code></a><span class="ox-api-module__summary">Entry page theme configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themefonts" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeFonts</code></a><span class="ox-api-module__summary">Theme font configuration. sans and mono accept a CSS stack string or a web-font object.…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themefooter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeFooter</code></a><span class="ox-api-module__summary">Theme footer configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themeheader" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeHeader</code></a><span class="ox-api-module__summary">Theme header configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./theme.md#themelayout" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThemeLayout</code></a><span class="ox-api-module__summary">Theme layout configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./theme.md#themetonapi" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">themeToNapi(theme: ResolvedThemeConfig, locale?: string, base?: string, iconsEnabled = false): NapiThemeConfig</code></a><span class="ox-api-module__summary">Converts resolved theme to the format expected by Rust NAPI.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns NapiThemeConfig</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./github-transform.md">transform</a></span>
    <span class="ox-api-module__count">2 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./github-transform.md#rehypegithub" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">rehypeGitHub(repoDataMap: Map&lt;string, GitHubRepoData | null&gt;, sourceDataMap: Map&lt;string, GitHubSourceData | null&gt;, resourceDataMap: Map&lt;string, GitHubResourceData | null&gt;, options: Required&lt;GitHubOptions&gt;)</code></a><span class="ox-api-module__summary">Rehype plugin to transform GitHub components.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./github-transform.md#transformgithub" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformGitHub(html: string, repoDataMap?: Map&lt;string, GitHubRepoData | null&gt;, options?: GitHubOptions): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Transform GitHub components in HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./transform.md">transform</a></span>
    <span class="ox-api-module__count">12 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./transform.md#extractimports" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">extractImports(content: string): string[]</code></a><span class="ox-api-module__summary">Extracts imports from Markdown content. Supports importing components for interactive i…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./transform.md#generatemodulecode" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateModuleCode(html: string, frontmatter: Record&lt;string, unknown&gt;, toc: TocEntry[], imports: MdxImport[], exports: string[], components: string[], crossReferences: CrossReferenceEntry[], citations: CitationReference[], bibliography: BibliographyEntry[], filePath: string): string</code></a><span class="ox-api-module__summary">Generates the JavaScript module code. MDX metadata is serialized as JSON. User import /…</span><span class="ox-api-module__meta"><span class="ox-api-badge">10 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./transform.md#generateogimagesvg" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateOgImageSvg(data: OgImageData, config?: OgImageConfig): Promise&lt;string | null&gt;</code></a><span class="ox-api-module__summary">Generates an OG image SVG using the Rust-based generator. This function uses the Rust N…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string | null&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./transform.md#jstransformoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JsTransformOptions</code></a><span class="ox-api-module__summary">Options for Rust-based Markdown transformation. Controls which Markdown extensions and…</span><span class="ox-api-module__meta"><span class="ox-api-badge">45 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./transform.md#napitransformresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NapiTransformResult</code></a><span class="ox-api-module__summary">What the native transform entry points return.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./transform.md#ogimageconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageConfig</code></a><span class="ox-api-module__summary">OG image configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./transform.md#ogimagedata" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageData</code></a><span class="ox-api-module__summary">OG image data for generating social media preview images.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./transform.md#runtransformers" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">runTransformers(napi: NapiBindings, markdown: string, napiOptions: JsTransformOptions, filePath: string, options: ResolvedOptions, transformers: readonly MarkdownTransformer[]): Promise&lt;NapiTransformResult&gt;</code></a><span class="ox-api-module__summary">Runs the configured transformers over the parsed tree. Markdown never passes through Vi…</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 params</span><span class="ox-api-badge">returns Promise&lt;NapiTransformResult&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./transform.md#ssgtransformoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgTransformOptions</code></a><span class="ox-api-module__summary">SSG-specific transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./transform.md#transform" class="ox-api-module__link"><code class="ox-api-module__name">transform</code></a><span class="ox-api-module__summary">Markdown Transformation Engine This module handles the complete transformation pipeline…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 example</span></span></div></li>
      <li><span class="ox-api-module__kind">variable</span><div class="ox-api-module__item"><a href="./transform.md#unhighlighted_code_block" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">const UNHIGHLIGHTED_CODE_BLOCK = /&lt;pre(?![^&gt;]*ox-highlight)[^&gt;]*&gt;&lt;code class=&quot;language-/</code></a><span class="ox-api-module__summary">A &lt;pre&gt; that names a language but has not been highlighted yet.</span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./transform.md#warnmathfailures" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">warnMathFailures(failures: MathRenderFailure[], filePath: string): void</code></a><span class="ox-api-module__summary">Reports every $…$ run KaTeX refused. Under the default policy the page keeps its prose,…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns void</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./og-image-types.md">types</a></span>
    <span class="ox-api-module__count">9 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-types.md#ogimageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageOptions</code></a><span class="ox-api-module__summary">OG image generation options (user-facing).</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./og-image-types.md#ogimagerenderer" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageRenderer = &quot;chromium&quot; | &quot;satori&quot;</code></a><span class="ox-api-module__summary">OG image rendering backend.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-types.md#ogimagesatorifont" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageSatoriFont</code></a><span class="ox-api-module__summary">Font file loaded by the Satori renderer.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./og-image-types.md#ogimagesatorifontweight" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageSatoriFontWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900</code></a><span class="ox-api-module__summary">Font weight values supported by Satori.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-types.md#ogimagesatorioptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageSatoriOptions</code></a><span class="ox-api-module__summary">Satori renderer options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./og-image-types.md#ogimagetemplatefn" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageTemplateFn = (props: OgImageTemplateProps) =&gt; string | Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Template function that receives page metadata and returns an HTML string.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-types.md#ogimagetemplateprops" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageTemplateProps</code></a><span class="ox-api-module__summary">Props passed to OG image template functions.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./og-image-types.md#resolvedogimageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedOgImageOptions</code></a><span class="ox-api-module__summary">Resolved OG image options with all defaults applied.</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 members</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./og-image-types.md#types" class="ox-api-module__link"><code class="ox-api-module__name">types</code></a><span class="ox-api-module__summary">Type definitions for OG image generation.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./twitter-types.md">types</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./twitter-types.md#tweetbodydata" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TweetBodyData</code></a><span class="ox-api-module__summary">Root or quoted post body. Nested quoted_tweet is stripped during normalize.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./types.md">types</a></span>
    <span class="ox-api-module__count">193 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#a11yoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">A11yOptions</code></a><span class="ox-api-module__summary">Per-control flags for ssg.a11y. Omitted fields keep the defaults when the feature itsel…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#abbreviationsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">AbbreviationsOptions</code></a><span class="ox-api-module__summary">Options for opt-in abbreviation and glossary expansion.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#attrsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">AttrsOptions</code></a><span class="ox-api-module__summary">Options for markdown-it-attrs style attribute blocks. Attribute blocks let authors atta…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#badgeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BadgeOptions</code></a><span class="ox-api-module__summary">Options for opt-in {badge:variant} inline badges.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#blogauthor" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BlogAuthor</code></a><span class="ox-api-module__summary">One person in the blog.authors map.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#blogfeedfailurepolicy" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BlogFeedFailurePolicy = &quot;warn&quot; | &quot;error&quot;</code></a><span class="ox-api-module__summary">How a failed external feed source is reported.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#blogfeedsource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BlogFeedSource</code></a><span class="ox-api-module__summary">One configured external blog feed.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#blogoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BlogOptions</code></a><span class="ox-api-module__summary">Opt-in blog index, authors, tags, reading time, and archive.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#builtinembedoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BuiltinEmbedOptions</code></a><span class="ox-api-module__summary">Built-in embed configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">30 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#builtinpmoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">BuiltinPmOptions</code></a><span class="ox-api-module__summary">Options for the package-manager install-tab transform.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#cardoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CardOptions</code></a><span class="ox-api-module__summary">Options for opt-in ::: card / ::: link-card / ::: card-grid blocks.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#cascadeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CascadeOptions</code></a><span class="ox-api-module__summary">Opt-in _index directory frontmatter cascade. false or omitted stays off. true or {} ena…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#codeannotationkind" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CodeAnnotationKind = &quot;highlight&quot; | &quot;warning&quot; | &quot;error&quot;</code></a><span class="ox-api-module__summary">Supported line annotation kinds for code blocks.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#codeannotationsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CodeAnnotationsOptions</code></a><span class="ox-api-module__summary">Opt-in code annotation configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#codeannotationsyntax" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CodeAnnotationSyntax = &quot;attribute&quot; | &quot;vitepress&quot; | &quot;both&quot;</code></a><span class="ox-api-module__summary">Supported code annotation syntaxes.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#codeblocklintoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CodeBlockLintOptions</code></a><span class="ox-api-module__summary">Options for linting fenced code blocks during Markdown transforms. These checks are int…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#codeblocktypecheckoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CodeBlockTypecheckOptions</code></a><span class="ox-api-module__summary">Options for type-checking TypeScript and TSX fenced code blocks. Type-checking writes m…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#codegroupoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CodeGroupOptions</code></a><span class="ox-api-module__summary">Options for opt-in ::: code-group fence groups.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#codeimportoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CodeImportOptions</code></a><span class="ox-api-module__summary">Options for importing source snippets into code fences. The transform resolves &lt;&lt;&lt; impo…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#collectionentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionEntry</code></a><span class="ox-api-module__summary">Queryable Markdown collection entry.</span><span class="ox-api-module__meta"><span class="ox-api-badge">13 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#collectionincludefield" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionIncludeField = &quot;body&quot; | &quot;html&quot; | &quot;toc&quot;</code></a><span class="ox-api-module__summary">Extra payload fields embedded into collection entries. Keep this list small for large s…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#collectionmanifest" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionManifest</code></a><span class="ox-api-module__summary">Generated collection manifest.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#collectionoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionOptions</code></a><span class="ox-api-module__summary">Collection source configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#collectionsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">CollectionsOptions = Record&lt;string, CollectionOptions | string | readonly string[]&gt;</code></a><span class="ox-api-module__summary">Top-level collection definitions.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#conditionalblockoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ConditionalBlockOptions</code></a><span class="ox-api-module__summary">Options for opt-in static conditional blocks.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#containeroptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ContainerOptions</code></a><span class="ox-api-module__summary">Options for opt-in ::: type custom containers.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#containertypeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ContainerTypeOptions</code></a><span class="ox-api-module__summary">Per-type container presentation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#contributorsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ContributorsOptions</code></a><span class="ox-api-module__summary">Opt-in git contributor list.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#datatableoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DataTableOptions</code></a><span class="ox-api-module__summary">Options for opt-in csv-table / json-table fences.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#definitionlistoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DefinitionListOptions</code></a><span class="ox-api-module__summary">Options for opt-in PHP Markdown Extra / mdBook-style definition lists.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#docentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DocEntry</code></a><span class="ox-api-module__summary">A single documentation entry extracted from source. Entries represent top-level declara…</span><span class="ox-api-module__meta"><span class="ox-api-badge">14 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#docmember" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DocMember</code></a><span class="ox-api-module__summary">A member belonging to a class, interface, type alias, or enum entry.</span><span class="ox-api-module__meta"><span class="ox-api-badge">16 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#docsentrypoint" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DocsEntryPoint = string | { path: string; name?: string }</code></a><span class="ox-api-module__summary">Public API entry point for grouped documentation.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#docsnavigationitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DocsNavigationItem</code></a><span class="ox-api-module__summary">Navigation item emitted for generated docs sidebars.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#docsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DocsOptions</code></a><span class="ox-api-module__summary">Options for source documentation generation. The generator extracts JSDoc/TSDoc comment…</span><span class="ox-api-module__meta"><span class="ox-api-badge">34 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#docssummary" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DocsSummary</code></a><span class="ox-api-module__summary">Summary counts emitted with generated documentation data.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#docstestoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">DocsTestOptions</code></a><span class="ox-api-module__summary">Options for extracting fenced examples into docs-as-tests fixtures. The extractor colle…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#editthispageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">EditThisPageOptions</code></a><span class="ox-api-module__summary">Options for appending an &quot;edit this page&quot; link. The generated link points at the source…</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#editthispageprovider" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">EditThisPageProvider = &quot;github&quot; | &quot;gitlab&quot; | &quot;bitbucket&quot; | &quot;gitea&quot;</code></a><span class="ox-api-module__summary">Forges with a known edit-URL shape. &#39;gitea&#39; covers Forgejo, which kept the same path.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#emojishortcodeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">EmojiShortcodeOptions</code></a><span class="ox-api-module__summary">Options for expanding :shortcode: emoji aliases. The transform replaces recognized shor…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#entrypageconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">EntryPageConfig</code></a><span class="ox-api-module__summary">Entry page frontmatter configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#extracteddocs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ExtractedDocs</code></a><span class="ox-api-module__summary">Extracted documentation for a single file.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#featureconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeatureConfig</code></a><span class="ox-api-module__summary">Feature card for entry page.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#feedchanneloptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedChannelOptions</code></a><span class="ox-api-module__summary">One feed&#39;s formats, source, output path, and channel metadata.</span><span class="ox-api-module__meta"><span class="ox-api-badge">11 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#feedformat" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedFormat = &quot;rss&quot; | &quot;atom&quot; | &quot;json&quot;</code></a><span class="ox-api-module__summary">Feed file formats written during SSG.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#feeditemattachment" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedItemAttachment</code></a><span class="ox-api-module__summary">One JSON Feed / enclosure attachment accepted by programmatic feeds.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#feeditemauthor" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedItemAuthor</code></a><span class="ox-api-module__summary">One feed item author accepted by programmatic feeds.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#feediteminput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedItemInput</code></a><span class="ox-api-module__summary">One collection or programmatic item considered for a generated feed.</span><span class="ox-api-module__meta"><span class="ox-api-badge">17 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#feedsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FeedsOptions = FeedChannelOptions | readonly FeedChannelOptions[] | { [name: string]: FeedChannelOptions }</code></a><span class="ox-api-module__summary">Opt-in RSS / Atom / JSON Feed files written during SSG. A single object is one default…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#filetreeiconoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FileTreeIconOptions</code></a><span class="ox-api-module__summary">Replaceable file-tree icons. Values are trusted site-config SVG markup or CSS class tok…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#filetreeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">FileTreeOptions</code></a><span class="ox-api-module__summary">Options for opt-in file-tree fences.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#generateddocsdata" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">GeneratedDocsData</code></a><span class="ox-api-module__summary">Machine-readable payload emitted alongside generated docs.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#generatedopenapidocs" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">GeneratedOpenApiDocs</code></a><span class="ox-api-module__summary">Generated OpenAPI Markdown pages and sidebar metadata.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#headingpermalinksoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeadingPermalinksOptions</code></a><span class="ox-api-module__summary">Opt-in visible heading permalinks. Headings already have stable ids. Enabling this appe…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#heroaction" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeroAction</code></a><span class="ox-api-module__summary">Hero section action button.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#heroconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeroConfig</code></a><span class="ox-api-module__summary">Hero section configuration for entry page.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#heroimage" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeroImage</code></a><span class="ox-api-module__summary">Hero section image configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#heronotice" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">HeroNotice</code></a><span class="ox-api-module__summary">Hero notice configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#i18noptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">I18nOptions</code></a><span class="ox-api-module__summary">i18n (internationalization) options. i18n is opt-in because it changes routing and buil…</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#iconsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">IconsOptions</code></a><span class="ox-api-module__summary">Opt-in self-hosted Iconify CSS for used icons. Off by default. When enabled, the SSG bu…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#imagegalleryoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ImageGalleryOptions</code></a><span class="ox-api-module__summary">Options for opt-in static image galleries.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#imageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ImageOptions</code></a><span class="ox-api-module__summary">Options for opt-in figures, captions, and lazy images.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#includeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">IncludeOptions</code></a><span class="ox-api-module__summary">Options for inlining Markdown files with &lt;!-- @include: PATH --&gt;. Relative paths resolv…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#jsonldoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JsonLdOptions</code></a><span class="ox-api-module__summary">Per-control flags for ssg.jsonLd. Omitted fields keep the defaults when the feature its…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#jsonldpagetype" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JsonLdPageType = &quot;TechArticle&quot; | &quot;BlogPosting&quot; | &quot;WebPage&quot;</code></a><span class="ox-api-module__summary">JSON-LD page node @type. Unknown values fall back to TechArticle.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#jsonldpublisheroptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">JsonLdPublisherOptions</code></a><span class="ox-api-module__summary">Optional JSON-LD publisher. Empty or omitted fields are left out.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#katexfontformats" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">KatexFontFormats = &quot;woff2&quot; | &quot;all&quot;</code></a><span class="ox-api-module__summary">Which of KaTeX&#39;s font formats to emit.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#keyboardkeysoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">KeyboardKeysOptions</code></a><span class="ox-api-module__summary">Options for opt-in {kbd:...} inline keyboard keys.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#localeconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">LocaleConfig</code></a><span class="ox-api-module__summary">Locale configuration. Locales define the routing and display metadata used by the i18n…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#magiclinkalias" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MagicLinkAlias</code></a><span class="ox-api-module__summary">One configured magic-link target.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#magiclinkimageoverride" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MagicLinkImageOverride</code></a><span class="ox-api-module__summary">Replace the image for an exact href or prefix.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#magiclinkoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MagicLinkOptions</code></a><span class="ox-api-module__summary">Options for opt-in {link:...} rich magic links.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#markdownnode" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownNode</code></a><span class="ox-api-module__summary">Markdown AST node (simplified for TypeScript).</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#markdownsourceoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownSourceOptions</code></a><span class="ox-api-module__summary">Opt-in Markdown source companions written beside generated HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#markdowntransformer" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MarkdownTransformer</code></a><span class="ox-api-module__summary">Custom AST transformer.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#matherrorpolicy" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MathErrorPolicy = &quot;literal&quot; | &quot;error&quot; | &quot;render&quot;</code></a><span class="ox-api-module__summary">What to do with a $…$ run KaTeX cannot parse.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#mathoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MathOptions</code></a><span class="ox-api-module__summary">Options for opt-in $…$ / $$…$$ math. Delimiter parsing lives in the native transform. T…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#mdximport" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MdxImport</code></a><span class="ox-api-module__summary">One MDX import statement collected from the AST.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#mdximportspecifier" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MdxImportSpecifier</code></a><span class="ox-api-module__summary">One binding created by an MDX import statement.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#mdximportspecifierkind" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">MdxImportSpecifierKind = &quot;default&quot; | &quot;named&quot; | &quot;namespace&quot;</code></a><span class="ox-api-module__summary">How a specifier was imported from an MDX import statement.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#navitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NavItem</code></a><span class="ox-api-module__summary">Navigation item for sidebar navigation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#notbyaioptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NotByAiOptions</code></a><span class="ox-api-module__summary">Options for the opt-in &lt;NotByAI /&gt; authorship badge.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#notfoundoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">NotFoundOptions</code></a><span class="ox-api-module__summary">Opt-in custom 404 page written during SSG.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#ogimageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageOptions</code></a><span class="ox-api-module__summary">OG image generation options. Uses Chromium or Satori rendering with customizable templa…</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#ogimagerenderer" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageRenderer = &quot;chromium&quot; | &quot;satori&quot;</code></a><span class="ox-api-module__summary">OG image rendering backend.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#ogimagesatorifont" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageSatoriFont</code></a><span class="ox-api-module__summary">Font file loaded by the Satori renderer.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#ogimagesatorifontweight" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageSatoriFontWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900</code></a><span class="ox-api-module__summary">Font weight values supported by Satori.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#ogimagesatorioptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OgImageSatoriOptions</code></a><span class="ox-api-module__summary">Satori renderer options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#openapidocsinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OpenApiDocsInput</code></a><span class="ox-api-module__summary">One local OpenAPI file consumed by generated REST API docs.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#openapidocsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OpenApiDocsOptions</code></a><span class="ox-api-module__summary">Object form for configuring generated OpenAPI docs.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#openapidocssource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OpenApiDocsSource = string | OpenApiDocsInput</code></a><span class="ox-api-module__summary">OpenAPI docs shorthand accepted by docs.openapi.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#oxcontentoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">OxContentOptions</code></a><span class="ox-api-module__summary">Options for the core oxContent() Vite plugin. The top-level options describe where cont…</span><span class="ox-api-module__meta"><span class="ox-api-badge">76 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#paramdoc" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ParamDoc</code></a><span class="ox-api-module__summary">Parameter documentation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#partialsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PartialsOptions</code></a><span class="ox-api-module__summary">Options for parameterized Markdown partials with &lt;!-- @partial: PATH k=&quot;v&quot; --&gt;. Bare na…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#permalinksoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PermalinksOptions</code></a><span class="ox-api-module__summary">Opt-in frontmatter permalink / slug routing. false or omitted stays off. true or {} ena…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#publishstateoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PublishStateOptions</code></a><span class="ox-api-module__summary">Opt-in draft / unlisted / scheduled page filtering.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#pwaoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">PwaOptions</code></a><span class="ox-api-module__summary">Opt-in web app manifest and service worker written during SSG. Enabling offline (the de…</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#redirectprovider" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RedirectProvider = &quot;netlify&quot; | &quot;cloudflare&quot;</code></a><span class="ox-api-module__summary">Host that consumes the generated <em>redirects file. Both values write the same </em>redirects…</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#redirectsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">RedirectsOptions</code></a><span class="ox-api-module__summary">Opt-in static redirects, aliases, and path rewrites. A path map such as { &quot;/old-guide&quot;:…</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#resolveda11y" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedA11y = false | { skipLinkLabel: string }</code></a><span class="ox-api-module__summary">Resolved skip-link / print styles. false means no extra markup or CSS.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedabbreviationsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedAbbreviationsOptions</code></a><span class="ox-api-module__summary">Resolved abbreviation / glossary transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedattrsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedAttrsOptions</code></a><span class="ox-api-module__summary">Resolved attrs transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedbadgeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedBadgeOptions</code></a><span class="ox-api-module__summary">Resolved inline-badge transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedblogfeedsource" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedBlogFeedSource</code></a><span class="ox-api-module__summary">Resolved external blog feed source.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedblogoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedBlogOptions</code></a><span class="ox-api-module__summary">Resolved blog options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedbuiltinembedoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedBuiltinEmbedOptions</code></a><span class="ox-api-module__summary">Resolved built-in embed configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">30 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcardoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCardOptions</code></a><span class="ox-api-module__summary">Resolved card transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcascadeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCascadeOptions</code></a><span class="ox-api-module__summary">Resolved cascade options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcodeannotationsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCodeAnnotationsOptions</code></a><span class="ox-api-module__summary">Resolved code annotation configuration.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcodeblocklintoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCodeBlockLintOptions</code></a><span class="ox-api-module__summary">Resolved code-block lint options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcodeblocktypecheckoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCodeBlockTypecheckOptions</code></a><span class="ox-api-module__summary">Resolved code-block type-check options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcodegroupoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCodeGroupOptions</code></a><span class="ox-api-module__summary">Resolved code-group transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcodeimportoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCodeImportOptions</code></a><span class="ox-api-module__summary">Resolved code-import transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcollectionoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCollectionOptions</code></a><span class="ox-api-module__summary">Resolved collection definition.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcollectionsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedCollectionsOptions</code></a><span class="ox-api-module__summary">Resolved collection options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedconditionalblockoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedConditionalBlockOptions</code></a><span class="ox-api-module__summary">Resolved conditional-block transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedcontaineroptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedContainerOptions</code></a><span class="ox-api-module__summary">Resolved custom-container transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#resolvedcontributors" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedContributors = false | { ignore: string[]; avatars: boolean }</code></a><span class="ox-api-module__summary">Resolved git contributor list. false means the feature is off.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolveddatatableoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedDataTableOptions</code></a><span class="ox-api-module__summary">Resolved data-table transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolveddefinitionlistoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedDefinitionListOptions</code></a><span class="ox-api-module__summary">Resolved definition-list transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolveddocsentrypoint" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedDocsEntryPoint</code></a><span class="ox-api-module__summary">Resolved public API entry point.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolveddocsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedDocsOptions</code></a><span class="ox-api-module__summary">Resolved docs options with all defaults applied.</span><span class="ox-api-module__meta"><span class="ox-api-badge">34 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolveddocstestoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedDocsTestOptions</code></a><span class="ox-api-module__summary">Resolved docs-as-tests extraction options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvededitthispageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedEditThisPageOptions</code></a><span class="ox-api-module__summary">Resolved edit-link transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedemojishortcodeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedEmojiShortcodeOptions</code></a><span class="ox-api-module__summary">Resolved emoji-shortcode transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedfeedchannel" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedFeedChannel</code></a><span class="ox-api-module__summary">One resolved feed channel.</span><span class="ox-api-module__meta"><span class="ox-api-badge">12 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedfeedsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedFeedsOptions extends ResolvedFeedChannel</code></a><span class="ox-api-module__summary">Resolved feed options. Legacy true / single-object configs keep one channel on the top-…</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedfiletreeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedFileTreeOptions</code></a><span class="ox-api-module__summary">Resolved file-tree transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedheadingpermalinksoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedHeadingPermalinksOptions</code></a><span class="ox-api-module__summary">Resolved heading permalink options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedi18noptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedI18nOptions</code></a><span class="ox-api-module__summary">Resolved i18n options with all defaults applied.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvediconsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedIconsOptions</code></a><span class="ox-api-module__summary">Resolved icon asset options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedimagegalleryoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedImageGalleryOptions</code></a><span class="ox-api-module__summary">Resolved image gallery transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedimageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedImageOptions</code></a><span class="ox-api-module__summary">Resolved image transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedincludeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedIncludeOptions</code></a><span class="ox-api-module__summary">Resolved Markdown-include transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#resolvedjsonld" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedJsonLd = false | { breadcrumbs: boolean; publisher?: { name?: string; url?: string }; type?: JsonLdPageType; graph?: Record&lt;string, unknown&gt;[] }</code></a><span class="ox-api-module__summary">Resolved JSON-LD options. false means no &lt;script type=&quot;application/ld+json&quot;&gt;.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedkeyboardkeysoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedKeyboardKeysOptions</code></a><span class="ox-api-module__summary">Resolved inline keyboard-key transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedmagiclinkoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedMagicLinkOptions</code></a><span class="ox-api-module__summary">Resolved magic-link transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedmarkdownsourceoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedMarkdownSourceOptions</code></a><span class="ox-api-module__summary">Resolved Markdown source-companion options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedmathoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedMathOptions</code></a><span class="ox-api-module__summary">Resolved math transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvednotbyaioptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedNotByAiOptions</code></a><span class="ox-api-module__summary">Resolved NotByAI authorship-badge options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvednotfoundoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedNotFoundOptions</code></a><span class="ox-api-module__summary">Resolved custom 404 options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedogimageoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedOgImageOptions</code></a><span class="ox-api-module__summary">Resolved OG image options with all defaults applied.</span><span class="ox-api-module__meta"><span class="ox-api-badge">8 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedopenapidocsinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedOpenApiDocsInput</code></a><span class="ox-api-module__summary">Resolved local OpenAPI file input.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedopenapidocsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedOpenApiDocsOptions</code></a><span class="ox-api-module__summary">Resolved generated OpenAPI docs options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedOptions</code></a><span class="ox-api-module__summary">Resolved options with all defaults applied.</span><span class="ox-api-module__meta"><span class="ox-api-badge">75 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedpartialsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedPartialsOptions</code></a><span class="ox-api-module__summary">Resolved parameterized-partial transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedpermalinksoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedPermalinksOptions</code></a><span class="ox-api-module__summary">Resolved permalink options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedpublishstateoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedPublishStateOptions</code></a><span class="ox-api-module__summary">Resolved publish-state options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedpwaoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedPwaOptions</code></a><span class="ox-api-module__summary">Resolved PWA options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedredirectsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedRedirectsOptions</code></a><span class="ox-api-module__summary">Resolved redirect options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedresourcesoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedResourcesOptions</code></a><span class="ox-api-module__summary">Resolved page-resource options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedsanitizeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedSanitizeOptions</code></a><span class="ox-api-module__summary">Resolved sanitize transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedsearchoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedSearchOptions</code></a><span class="ox-api-module__summary">Resolved search options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">12 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedsectionindexoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedSectionIndexOptions</code></a><span class="ox-api-module__summary">Resolved generated section index options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedsitemapsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedSiteMapsOptions</code></a><span class="ox-api-module__summary">Resolved crawl-manifest options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedssgoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedSsgOptions</code></a><span class="ox-api-module__summary">Resolved SSG options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">32 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedstepsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedStepsOptions</code></a><span class="ox-api-module__summary">Resolved step-list transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedtaxonomiesoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedTaxonomiesOptions</code></a><span class="ox-api-module__summary">Resolved taxonomy options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedteamoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedTeamOptions</code></a><span class="ox-api-module__summary">Resolved team page options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedtimelineoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedTimelineOptions</code></a><span class="ox-api-module__summary">Resolved timeline transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedtypedhoveroptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedTypedHoverOptions</code></a><span class="ox-api-module__summary">Resolved typed-hover options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedversionentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedVersionEntry</code></a><span class="ox-api-module__summary">One resolved version after prefix and banner sanitization.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedversionsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedVersionsOptions</code></a><span class="ox-api-module__summary">Resolved documentation versioning.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resolvedwikilinkoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResolvedWikiLinkOptions</code></a><span class="ox-api-module__summary">Resolved wiki-link transform options.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#resourcesoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ResourcesOptions</code></a><span class="ox-api-module__summary">Options for opt-in page-bundle resources and image processing.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#returndoc" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ReturnDoc</code></a><span class="ox-api-module__summary">Return type documentation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#sanitizeoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SanitizeOptions</code></a><span class="ox-api-module__summary">Options for sanitizing rendered HTML. Sanitization happens after Markdown is rendered t…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#scopedsearchquery" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ScopedSearchQuery</code></a><span class="ox-api-module__summary">Parsed search query with optional scope prefixes.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#searchdocument" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SearchDocument</code></a><span class="ox-api-module__summary">Search document structure.</span><span class="ox-api-module__meta"><span class="ox-api-badge">6 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#searchoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SearchOptions</code></a><span class="ox-api-module__summary">Options for full-text search. Search indexes are built from Markdown content at build t…</span><span class="ox-api-module__meta"><span class="ox-api-badge">12 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#searchresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SearchResult</code></a><span class="ox-api-module__summary">Search result structure.</span><span class="ox-api-module__meta"><span class="ox-api-badge">7 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#sectionindexoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SectionIndexOptions</code></a><span class="ox-api-module__summary">Opt-in generated section index pages.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#sectionindexstyle" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SectionIndexStyle = &quot;list&quot; | &quot;cards&quot;</code></a><span class="ox-api-module__summary">Listing style for a generated section index.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#sitemapsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SiteMapsOptions</code></a><span class="ox-api-module__summary">Opt-in crawl manifests written during SSG.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#ssgnavigationgroup" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgNavigationGroup</code></a><span class="ox-api-module__summary">Navigation group for SSG sidebar rendering.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#ssgnavigationitem" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgNavigationItem</code></a><span class="ox-api-module__summary">Navigation item for SSG sidebar rendering.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#ssgoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgOptions</code></a><span class="ox-api-module__summary">Static Site Generation options. These options control the HTML files emitted at build t…</span><span class="ox-api-module__meta"><span class="ox-api-badge">32 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#ssgoutputpageinput" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">SsgOutputPageInput</code></a><span class="ox-api-module__summary">One host-owned page for composable SSG outputs (ssg: false). The host renders HTML. Ox…</span><span class="ox-api-module__meta"><span class="ox-api-badge">12 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#stepsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">StepsOptions</code></a><span class="ox-api-module__summary">Options for opt-in ::: steps ordered lists.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#taxonomiesoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TaxonomiesOptions</code></a><span class="ox-api-module__summary">Opt-in term list pages, per-term pages, and related-page lists.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#teamlink" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TeamLink</code></a><span class="ox-api-module__summary">One link on a team member card.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#teammember" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TeamMember</code></a><span class="ox-api-module__summary">One person on the team page.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#throwsdoc" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">ThrowsDoc</code></a><span class="ox-api-module__summary">Exception/error documentation.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#timelineoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TimelineOptions</code></a><span class="ox-api-module__summary">Options for opt-in static timelines.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#tocentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TocEntry</code></a><span class="ox-api-module__summary">Table of contents entry.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#transformcontext" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TransformContext</code></a><span class="ox-api-module__summary">Transform context passed to transformers.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#transformresult" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TransformResult</code></a><span class="ox-api-module__summary">Transform result.</span><span class="ox-api-module__meta"><span class="ox-api-badge">11 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#typedhoveroptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">TypedHoverOptions</code></a><span class="ox-api-module__summary">Options for opt-in typed hover overlays on TypeScript fences. Hover strings are compute…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 members</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./types.md#types" class="ox-api-module__link"><code class="ox-api-module__name">types</code></a><span class="ox-api-module__summary">Type definitions for @ox-content/vite-plugin</span></div></li>
      <li><span class="ox-api-module__kind">type</span><div class="ox-api-module__item"><a href="./types.md#versionbannerkind" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">VersionBannerKind = &quot;unreleased&quot; | &quot;unmaintained&quot;</code></a><span class="ox-api-module__summary">Banner shown on pages that belong to one documented version.</span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#versionentry" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">VersionEntry</code></a><span class="ox-api-module__summary">One published or snapshot version of a docs tree.</span><span class="ox-api-module__meta"><span class="ox-api-badge">5 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#versionsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">VersionsOptions</code></a><span class="ox-api-module__summary">Opt-in documentation versioning. Off by default. true enables a single current entry. A…</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 members</span></span></div></li>
      <li><span class="ox-api-module__kind">interface</span><div class="ox-api-module__item"><a href="./types.md#wikilinkoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">WikiLinkOptions</code></a><span class="ox-api-module__summary">Options for expanding Obsidian-style wiki links. The transform accepts [target] and [ta…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 member</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./url.md">url</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./url.md#normalizeogpurl" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">normalizeOgpUrl(url: string): string</code></a><span class="ox-api-module__summary">Normalize a URL for cache keys: lowercase host, drop default ports and fragments, and s…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./version-navigation.md">version-navigation</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./version-navigation.md#version-navigation" class="ox-api-module__link"><code class="ox-api-module__name">version-navigation</code></a><span class="ox-api-module__summary">Keeps navigation inside a frozen documentation-version tree. Locale resolution runs bef…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./versions-html.md">versions-html</a></span>
    <span class="ox-api-module__count">1 symbol</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./versions-html.md#versions-html" class="ox-api-module__link"><code class="ox-api-module__name">versions-html</code></a><span class="ox-api-module__summary">Escaped version switcher, banner, and badge markup.</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./versions.md">versions</a></span>
    <span class="ox-api-module__count">6 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./versions.md#currentversionprefix" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">currentVersionPrefix(options?: ResolvedVersionsOptions): string</code></a><span class="ox-api-module__summary">Prefix used for the active version (empty string = site root).</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./versions.md#decorateversionedpages" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">decorateVersionedPages(pages: Array&lt;{ outputPath: string; html: string }&gt;, options: ResolvedVersionsOptions, outDir: string, base: string): void</code></a><span class="ox-api-module__summary">Applies switcher / banner / search rewrite after every version tree is generated.</span><span class="ox-api-module__meta"><span class="ox-api-badge">4 params</span><span class="ox-api-badge">returns void</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./versions.md#resolvesnapshotdir" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveSnapshotDir(root: string, dir: string): string | undefined</code></a><span class="ox-api-module__summary">Confines a snapshot dir to root.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns string | undefined</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./versions.md#resolveversionsoptions" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">resolveVersionsOptions(value: boolean | VersionsOptions | undefined): ResolvedVersionsOptions</code></a><span class="ox-api-module__summary">Resolves versions. Omitted / false stay off. true enables a single current entry. An ob…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns ResolvedVersionsOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./versions.md#versionlocation" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">versionLocation(outputPath: string, outDir: string, options: ResolvedVersionsOptions): { id: string; sibling: string }</code></a><span class="ox-api-module__summary">Version id and same-path remainder for a generated HTML file.</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns object</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./versions.md#versions" class="ox-api-module__link"><code class="ox-api-module__name">versions</code></a><span class="ox-api-module__summary">Opt-in documentation versioning: prefixes, snapshots, and header chrome. Historical sna…</span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./vitepress.md">vitepress</a></span>
    <span class="ox-api-module__count">5 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./vitepress.md#convertvitepressnav" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">convertVitePressNav(nav: VitePressNavItem[]): SsgNavigationGroup[]</code></a><span class="ox-api-module__summary">Converts VitePress top navigation into ox-content sidebar groups. This is used as a fal…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns SsgNavigationGroup[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./vitepress.md#convertvitepresssidebar" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">convertVitePressSidebar(sidebar: VitePressSidebar): SsgNavigationGroup[]</code></a><span class="ox-api-module__summary">Converts a VitePress sidebar config into ox-content navigation groups. Nested VitePress…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns SsgNavigationGroup[]</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./vitepress.md#fromvitepressconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">fromVitePressConfig(config: VitePressConfig, overrides: OxContentOptions = {}): OxContentOptions</code></a><span class="ox-api-module__summary">Creates ox-content plugin options from an existing VitePress config.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns OxContentOptions</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./vitepress.md#generatevitepressmigrationconfig" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">generateVitePressMigrationConfig(config: VitePressConfig, overrides: OxContentOptions = {}, options: GenerateVitePressMigrationConfigOptions = {}): string</code></a><span class="ox-api-module__summary">Generates a TypeScript module exporting migrated ox-content options. This is used by th…</span><span class="ox-api-module__meta"><span class="ox-api-badge">3 params</span><span class="ox-api-badge">returns string</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./vitepress.md#normalizevitepressfrontmatter" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">normalizeVitePressFrontmatter(frontmatter: Record&lt;string, unknown&gt;): Record&lt;string, unknown&gt;</code></a><span class="ox-api-module__summary">Normalizes VitePress-specific frontmatter into ox-content&#39;s entry-page shape.</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns Record&lt;string, unknown&gt;</span></span></div></li>
    </ul>
  </div>
</details>

<details class="ox-api-module">
  <summary>
    <span class="ox-api-module__title"><a href="./youtube.md">youtube</a></span>
    <span class="ox-api-module__count">3 symbols</span>
  </summary>
  <div class="ox-api-module__body">
    <ul class="ox-api-module__list">
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./youtube.md#extractvideoid" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">extractVideoId(input: string): string | null</code></a><span class="ox-api-module__summary">Extract a YouTube video ID from a bare ID or a watch / share / embed / shorts URL. The…</span><span class="ox-api-module__meta"><span class="ox-api-badge">1 param</span><span class="ox-api-badge">returns string | null</span></span></div></li>
      <li><span class="ox-api-module__kind">fn</span><div class="ox-api-module__item"><a href="./youtube.md#transformyoutube" class="ox-api-module__link"><code class="ox-api-module__signature ox-api-module__signature--highlighted language-typescript">transformYouTube(html: string, options?: YouTubeOptions): Promise&lt;string&gt;</code></a><span class="ox-api-module__summary">Transform YouTube components in HTML.</span><span class="ox-api-module__meta"><span class="ox-api-badge">2 params</span><span class="ox-api-badge">returns Promise&lt;string&gt;</span></span></div></li>
      <li><span class="ox-api-module__kind">module</span><div class="ox-api-module__item"><a href="./youtube.md#youtube" class="ox-api-module__link"><code class="ox-api-module__name">youtube</code></a><span class="ox-api-module__summary">YouTube Plugin - Privacy-enhanced iframe embedding Transforms &lt;YouTube&gt; components into…</span></div></li>
    </ul>
  </div>
</details>
