Skip to content

types.ts#

View Markdown

Source

193 documented symbols. Read the signatures first, then expand each item for parameters, return types, and examples.

193 symbols 170 interfaces 22 types 1 modules 953 members

Reference#

interfaceA11yOptionsPer-control flags for ssg.a11y. Omitted fields keep the defaults when the featu…

Per-control flags for ssg.a11y.

Omitted fields keep the defaults when the feature itself is enabled.

Signature

export interface A11yOptions

View source

Members

Properties
NameTypeDescription
skipLinkLabeloptional string
Visible label for the skip link. Escaped in HTML.
Default "Skip to content"
interfaceAbbreviationsOptionsOptions for opt-in abbreviation and glossary expansion.

Options for opt-in abbreviation and glossary expansion.

Signature

export interface AbbreviationsOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the transform when an options object is supplied.
Default true
firstUseOnlyoptional boolean
Wrap only the first occurrence of each term.
Default false
termsoptional Record<string, string>
Central glossary. Keys are matched with Unicode word boundaries.
interfaceAttrsOptionsOptions for markdown-it-attrs style attribute blocks. Attribute blocks let auth…

Options for markdown-it-attrs style attribute blocks.

Attribute blocks let authors attach IDs, classes, and key/value attributes to nearby Markdown nodes with syntax such as {#install .lead}.

Signature

export interface AttrsOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the attrs transform when an options object is supplied.

Set to false to keep the object shape while disabling the transform.
This is mainly useful for config merging where callers want to preserve a
stable object structure.
Default true
interfaceBadgeOptionsOptions for opt-in {badge:variant} inline badges.

Options for opt-in {badge:variant} inline badges.

Signature

export interface BadgeOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the badge transform when an options object is supplied.
Default true
interfaceBlogAuthorOne person in the blog.authors map.

One person in the blog.authors map.

Signature

export interface BlogAuthor

View source

Members

Properties
NameTypeDescription
biooptional string
Optional short bio. Escaped in HTML.
name string
Display name. Escaped in HTML.
urloptional string
Profile URL. Only https: or a site-relative / path is emitted.
typeBlogFeedFailurePolicy = "warn" | "error"How a failed external feed source is reported.

How a failed external feed source is reported.

Signature

export type BlogFeedFailurePolicy = "warn" | "error"

View source

interfaceBlogFeedSourceOne configured external blog feed.

One configured external blog feed.

Signature

export interface BlogFeedSource

View source

Members

Properties
NameTypeDescription
authoroptional string
Default author applied when an item omits one.
languageoptional string
Default language applied when an item omits one.
onErroroptional BlogFeedFailurePolicy
Failed fetch / parse handling for this source.
warn skips the source. error fails the build after other sources run.
Default "warn"
url string
Absolute https: feed URL.
interfaceBlogOptionsOpt-in blog index, authors, tags, reading time, and archive.

Opt-in blog index, authors, tags, reading time, and archive.

Signature

export interface BlogOptions

View source

Members

Properties
NameTypeDescription
authorsoptional Record<string, BlogAuthor>
Author records keyed by the frontmatter author / authors value.
Default {}
collectionoptional string
Named collection of posts. Defaults to a collection named blog, or
the only configured collection. Required when several collections exist
and none is named blog.
feedsoptional Array<string | BlogFeedSource>
External RSS / Atom sources merged into the blog index at build time.
Empty / omitted fetches nothing. Only these URLs are requested.
Default []
pageSizeoptional number
Posts per index page, newest first.
Default 10
interfaceBuiltinEmbedOptionsBuilt-in embed configuration.

Built-in embed configuration.

Signature

export interface BuiltinEmbedOptions

View source

Members

Properties
NameTypeDescription
appleMusicoptional boolean
Render <AppleMusic url="https://music.apple.com/..."> iframes.
Default false
asciinemaoptional boolean
Render <Asciinema> terminal-recording cards.
Default false
audiooptional boolean
Render <Audio src="https://..."> native audio players.
Default false
blueskyoptional boolean
Render <Bluesky> as static cards.
Default false
discordoptional boolean
Render <Discord> as static invite/message cards.
Default false
facebookoptional boolean
Render <Facebook> as static post cards.
Default false
fediverseoptional boolean
Render <Fediverse>, <Mastodon>, <Misskey>, and <Mixi2> as static cards.
Default false
figmaoptional boolean
Render <Figma> file, design, board, and prototype cards.
Default false
githuboptional boolean | GitHubOptions
Render <GitHub repo="owner/name" /> repository cards.
Pass an options object to configure fetching.
Default true
googleMapsoptional boolean
Render <GoogleMaps> as static place cards.
Default false
googleSlidesoptional boolean
Render <GoogleSlides> deck cards.
Default false
instagramoptional boolean
Render <Instagram> as static post cards.
Default false
loomoptional boolean
Render <Loom> recording cards.
Default false
noteoptional boolean
Render <Note> note.com article cards.
Default false
openGraphoptional boolean | OgpOptions
Render <OgCard url="https://example.com" /> Open Graph link cards.
Pass an options object to configure fetching.
Default true
packageRegistryoptional boolean | ProviderPackageEmbedOptions
Render <NpmPackage>, <CratesIo>, <PyPI>, and <DockerHub> as static cards.
Pass { fetch: false } to skip metadata fetching and render link-only cards.
Default false
playgroundsoptional boolean | ProviderPlaygroundEmbedOptions
Render <CodePen>, <JSFiddle>, and <Observable> as static playground cards.
Pass { iframe: true } to include lazy iframe URLs where supported.
Default false
pmoptional boolean | BuiltinPmOptions
Expand <pm>npm install …</pm> blocks into vp/pnpm/bun/npm/yarn install tabs.

Accepts a boolean to toggle the feature, or an options object to opt in to
synced tab groups. Synced groups are OFF by default; when enabled with
{ sync: true }, selecting a package manager in one block selects it in
every other package-manager block on the page (persisted in localStorage).
Default false
qiitaoptional boolean | ProviderArticleEmbedOptions
Render <Qiita> as static article cards.
Pass { fetch: false } to skip metadata fetching and render a link-only card.
Default false
redditoptional boolean | RedditEmbedOptions
Render <Reddit> as a static post card.
Pass { fetch: false } to skip metadata fetching and render a link-only card.
Default false
speakerDeckoptional boolean
Render <SpeakerDeck url="https://speakerdeck.com/..."> cards.
Player URLs and oEmbed-resolved share URLs render a lazy iframe plus
title/author metadata. Fetch or parse failures become a link card.
Default false
spotifyoptional boolean
Render <Spotify url="https://open.spotify.com/track/..."> iframes.
Default false
stackBlitzoptional boolean
Render <StackBlitz url="https://stackblitz.com/edit/..."> iframes.
Default false
threadsoptional boolean
Render <Threads> as static post cards.
Default false
twitchoptional boolean | ProviderVideoEmbedOptions
Render <Twitch> as static video, clip, and channel cards.
Pass { iframe: true, parent: "example.com" } to include Twitch iframes.
Default false
twitteroptional boolean | TwitterEmbedOptions
Render <Tweet> / <XPost> as static privacy-conscious cards.
Pass { fetch: true } to fetch the post body, author, and self-hosted
media at build time. Fetch failures fall back to the link-only card.
Default false
videooptional boolean
Render <Video src="https://..."> native video players.
Default false
vimeooptional boolean | ProviderVideoEmbedOptions
Render <Vimeo> as static video cards.
Pass { iframe: true } to include lazy player iframe URLs.
Default false
webContaineroptional boolean
Render <WebContainer> lazy placeholders with isolation metadata.
Default false
zennoptional boolean | ProviderArticleEmbedOptions
Render <Zenn> as static article cards.
Pass { fetch: false } to skip metadata fetching and render a link-only card.
Default false
interfaceBuiltinPmOptionsOptions for the package-manager install-tab transform.

Options for the package-manager install-tab transform.

Signature

export interface BuiltinPmOptions

View source

Members

Properties
NameTypeDescription
syncoptional boolean
Enable opt-in synced package-manager tab groups.
Default false
interfaceCardOptionsOptions for opt-in ::: card / ::: link-card / ::: card-grid blocks.

Options for opt-in ::: card / ::: link-card / ::: card-grid blocks.

Signature

export interface CardOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the card transform when an options object is supplied.
Default true
interfaceCascadeOptionsOpt-in _index directory frontmatter cascade. false or omitted stays off. true o…

Opt-in _index directory frontmatter cascade.

false or omitted stays off. true or {} enables defaults. Set enabled: false on the object to turn the feature back off.

Signature

export interface CascadeOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable directory-level frontmatter inheritance.
Default true
typeCodeAnnotationKind = "highlight" | "warning" | "error"Supported line annotation kinds for code blocks.

Supported line annotation kinds for code blocks.

Signature

export type CodeAnnotationKind = "highlight" | "warning" | "error"

View source

interfaceCodeAnnotationsOptionsOpt-in code annotation configuration.

Opt-in code annotation configuration.

Signature

export interface CodeAnnotationsOptions

View source

Members

Properties
NameTypeDescription
defaultLineNumbersoptional boolean
Enable line numbers for all code blocks by default.

In vitepress or both mode, fenced code blocks can override this with
:line-numbers, :line-numbers=<start>, or :no-line-numbers.
Default false
metaKeyoptional string
Attribute name read from the code fence meta string.

Example: annotate="highlight:1,3-4;warning:6"
Default "annotate"
notationoptional CodeAnnotationSyntax
Annotation syntax to enable.

- attribute: custom attribute syntax like annotate="highlight:1,3-4"
- vitepress: VitePress-compatible syntax like {1,3-4} and [!code warning]
- both: enables both syntaxes
Default "attribute"
typeCodeAnnotationSyntax = "attribute" | "vitepress" | "both"Supported code annotation syntaxes.

Supported code annotation syntaxes.

Signature

export type CodeAnnotationSyntax = "attribute" | "vitepress" | "both"

View source

interfaceCodeBlockLintOptionsOptions for linting fenced code blocks during Markdown transforms. These checks…

Options for linting fenced code blocks during Markdown transforms.

These checks are intentionally local to each fence. They do not execute code or parse a project graph, so they are safe to run during normal Markdown transformation.

Signature

export interface CodeBlockLintOptions

View source

Members

Properties
NameTypeDescription
languagesoptional string[]
Languages to lint. Omit to lint every fenced block language.

Language names are compared case-insensitively.
Default undefined
modeoptional "warn" | "error"
Diagnostic severity for lint failures.

Use 'error' when code-block lint failures should fail the build.
Default 'warn'
requireLanguageoptional boolean
Require every fenced code block to declare a language.

This is helpful for documentation sites where every example should be
highlighted and searchable by language.
Default false
trailingSpacesoptional boolean
Report trailing whitespace inside fenced code blocks.

The check reports the exact line and column range inside the fence content.
Default true
interfaceCodeBlockTypecheckOptionsOptions for type-checking TypeScript and TSX fenced code blocks. Type-checking…

Options for type-checking TypeScript and TSX fenced code blocks.

Type-checking writes matching snippets to a temporary directory and invokes tsgo. It is best suited for concise examples that should stay synchronized with the public TypeScript API.

Signature

export interface CodeBlockTypecheckOptions

View source

Members

Properties
NameTypeDescription
languagesoptional string[]
Fence languages to type-check.

Language names are compared case-insensitively.
Default ['ts', 'tsx']
modeoptional "warn" | "error"
Diagnostic severity for type-check failures.

Use 'error' to fail the Markdown transform on broken snippets.
Default 'warn'
requireMetaoptional boolean
Require an opt-in fence meta marker before type-checking.

When enabled, only fences with metadata such as typecheck or twoslash
are checked.
Default true
tsgoCommandoptional string
Command used to run the TypeScript checker.

Override this for package-manager scripts or workspace-local binaries.
Default 'tsgo'
interfaceCodeGroupOptionsOptions for opt-in ::: code-group fence groups.

Options for opt-in ::: code-group fence groups.

Signature

export interface CodeGroupOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the code-group transform when an options object is supplied.
Default true
interfaceCodeImportOptionsOptions for importing source snippets into code fences. The transform resolves…

Options for importing source snippets into code fences.

The transform resolves <<< imports before code highlighting and other code-block features run. Imported snippets therefore behave like ordinary fenced code in later stages.

Signature

export interface CodeImportOptions

View source

Members

Properties
NameTypeDescription
rootDiroptional string
Directory used to resolve <<< imports.

When omitted, imports resolve from the Vite project root and configured aliases.
Default undefined
interfaceCollectionEntryQueryable Markdown collection entry.

Queryable Markdown collection entry.

Signature

export interface CollectionEntry

View source

Members

Indexable
[key: string]: unknown
Properties
NameTypeDescription
bodyoptional string
collection string
descriptionoptional string
extension string
frontmatter Record<string, unknown>
htmloptional string
id string
path string
source string
stem string
title string
tocoptional TocEntry[]
typeCollectionIncludeField = "body" | "html" | "toc"Extra payload fields embedded into collection entries. Keep this list small for…

Extra payload fields embedded into collection entries.

Keep this list small for large sites. By default collection entries contain only route metadata and frontmatter. body, html, and toc increase the virtual module size, and html/toc require a native Markdown transform.

Signature

export type CollectionIncludeField = "body" | "html" | "toc"

View source

interfaceCollectionManifestGenerated collection manifest.

Generated collection manifest.

Signature

export interface CollectionManifest

View source

Members

Properties
NameTypeDescription
collections Record<string, CollectionEntry[]>
interfaceCollectionOptionsCollection source configuration.

Collection source configuration.

Signature

export interface CollectionOptions

View source

Members

Properties
NameTypeDescription
includeoptional readonly CollectionIncludeField[]
Optional fields to include in each entry.

The default is metadata-only for performance. Use body for stripped raw
Markdown, html for native rendered HTML, and toc for the parsed table
of contents.
Default []
sourceoptional string | readonly string[]
Glob pattern(s) resolved from srcDir.

Patterns are filtered by the configured Markdown extensions. Numeric route
prefixes such as 1.guide/2.install.md are stripped from generated path.
Default all Markdown files
typeCollectionsOptions = Record<string, CollectionOptions | string | readonly string[]>Top-level collection definitions.

Top-level collection definitions.

Signature

export type CollectionsOptions = Record<string, CollectionOptions | string | readonly string[]>

View source

interfaceConditionalBlockOptionsOptions for opt-in static conditional blocks.

Options for opt-in static conditional blocks.

Signature

export interface ConditionalBlockOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable ::: if / ::: else blocks.
Default true when the options object is supplied.
valuesoptional Record<string, unknown>
Build-time values available as config.* or bare identifiers. Page
frontmatter wins for bare identifiers; use config.name to force config.
interfaceContainerOptionsOptions for opt-in ::: type custom containers.

Options for opt-in ::: type custom containers.

Signature

export interface ContainerOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the container transform when an options object is supplied.
Default true
typesoptional Record<string, ContainerTypeOptions>
Extra or overriding container types.

Keys must be ASCII identifiers ([A-Za-z0-9_-]+). Unknown hostile names
are ignored.
interfaceContainerTypeOptionsPer-type container presentation.

Per-type container presentation.

Signature

export interface ContainerTypeOptions

View source

Members

Properties
NameTypeDescription
tagoptional "div" | "details"
"details" renders <details>/<summary>; anything else is a <div>.
titleoptional string
Title used when the opener does not set one.
interfaceContributorsOptionsOpt-in git contributor list.

Opt-in git contributor list.

Signature

export interface ContributorsOptions

View source

Members

Properties
NameTypeDescription
avatarsoptional boolean
When true and a git author email is present, render a Gravatar
image from the MD5 of that email. The raw email is never written
into HTML. Default is names only.
ignoreoptional string[]
Author names or emails to omit. Comparison is case-insensitive and
matches the full name or the full email.
interfaceDataTableOptionsOptions for opt-in csv-table / json-table fences.

Options for opt-in csv-table / json-table fences.

Signature

export interface DataTableOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the data-table transform when an options object is supplied.
Default true
missingoptional "error" | "warn"
What to do when an imported CSV/JSON file is missing.
Default "error"
rootDiroptional string
Directory used to resolve @/ and absolute import paths.

When omitted, imports resolve from the Vite project root.
Default undefined
interfaceDefinitionListOptionsOptions for opt-in PHP Markdown Extra / mdBook-style definition lists.

Options for opt-in PHP Markdown Extra / mdBook-style definition lists.

Signature

export interface DefinitionListOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the definition-list transform when an options object is supplied.
Default true
interfaceDocEntryA single documentation entry extracted from source. Entries represent top-level…

A single documentation entry extracted from source.

Entries represent top-level declarations such as functions, classes, interfaces, type aliases, enums, variables, and modules. Members of compound declarations are stored in members.

Signature

export interface DocEntry

View source

Members

Properties
NameTypeDescription
description string
Main prose extracted from the leading JSDoc/TSDoc block.
endLine number
1-based end line of the declaration in the source file.
examplesoptional string[]
Code examples collected from @example tags.
file string
Source file path relative to the extraction root when available.
kind "function" | "class" | "interface" | "type" | "enum" | "variable" | "module"
Normalized declaration kind used for grouping and rendering.
line number
1-based start line of the declaration in the source file.
membersoptional DocMember[]
Members belonging to classes, interfaces, object types, and enums.
name string
Exported or declared symbol name.
paramsoptional ParamDoc[]
Function, method, or constructor parameter documentation.
privateoptional boolean
True when the entry is marked private or matched by private filtering.
returnsoptional ReturnDoc
Return value documentation for callable declarations.
signatureoptional string
Full declaration signature, when the renderer can extract one.
tagsoptional Record<string, string>
Additional tags preserved by tag name after known tags are normalized.
throwsoptional ThrowsDoc[]
Exceptions/errors documented with @throws / @exception.
interfaceDocMemberA member belonging to a class, interface, type alias, or enum entry.

A member belonging to a class, interface, type alias, or enum entry.

Signature

export interface DocMember

View source

Members

Properties
NameTypeDescription
defaultoptional string
Default value extracted from syntax or @default tags.
description string
Main prose extracted from the member's documentation comment.
endLine number
1-based end line of the member declaration.
kind "property" | "method" | "constructor" | "getter" | "setter" | "enumMember"
Normalized member kind used for rendering and sorting.
line number
1-based start line of the member declaration.
name string
Member name as it appears in the containing declaration.
optionaloptional boolean
True when the member is optional in the source declaration.
paramsoptional ParamDoc[]
Parameter documentation for methods and constructors.
privateoptional boolean
True when the member is marked private or matched by private filtering.
readonlyoptional boolean
True when the member is declared readonly.
returnsoptional ReturnDoc
Return value documentation for methods and accessors.
signatureoptional string
Full member signature, when available.
staticoptional boolean
True when the member is static.
tagsoptional Record<string, string>
Additional tags preserved by tag name after known tags are normalized.
throwsoptional ThrowsDoc[]
Exceptions/errors documented with @throws / @exception.
typeoptional string
Rendered TypeScript type text for properties and enum members.
typeDocsEntryPoint = string | { path: string; name?: string }Public API entry point for grouped documentation.

Public API entry point for grouped documentation.

Signature

export type DocsEntryPoint = string | { path: string; name?: string }

View source

interfaceDocsNavigationItemNavigation item emitted for generated docs sidebars.

Navigation item emitted for generated docs sidebars.

Signature

export interface DocsNavigationItem

View source

Members

Properties
NameTypeDescription
childrenoptional DocsNavigationItem[]
path string
title string
interfaceDocsOptionsOptions for source documentation generation. The generator extracts JSDoc/TSDoc…

Options for source documentation generation.

The generator extracts JSDoc/TSDoc comments from JavaScript and TypeScript source files, normalizes the declarations, and writes Markdown plus optional navigation metadata. The defaults are optimized for documenting a package's public src tree without exposing private implementation details.

Signature

export interface DocsOptions

View source

Members

Properties
NameTypeDescription
basePathoptional string
Route prefix used by generated documentation links and nav metadata.

Nav metadata falls back to /api when this is not set.
Default undefined
classPropertiesFormatoptional MarkdownDisplayFormat
Display format for class property groups.
Default 'none'
enabledoptional boolean
Enable source documentation generation.

The top-level docs option is opt-out: omitting it enables docs generation
with defaults, while docs: false disables the docs plugin entirely.
Default true
entryPointsoptional DocsEntryPoint[]
Public API entry points used to group re-exported docs.

When omitted, docs are generated from the discovered source files without
entry-point grouping.

Use entry points when a package exposes a smaller public surface than its
source tree. Re-exported declarations are grouped under the entry point that
exposes them.
Default undefined
enumMembersFormatoptional MarkdownDisplayFormat
Display format for enum member groups.
Default 'none'
excludeoptional string[]
Glob patterns for files to exclude.

Excludes run after include matching and should cover tests, generated
files, and implementation-only entry points.
Default ['**\/*.test.*', '**\/*.spec.*', 'node_modules']
formatoptional "markdown" | "json" | "html"
Output format.

markdown is the primary supported format. json and html are reserved
for consumers that want to post-process extracted documentation data.
Default 'markdown'
generateNavoptional boolean
Generate navigation metadata file.
Default true
githubUrloptional string
GitHub repository URL for source code links.

When provided, generated documentation includes links back to the source
declaration lines.
Default undefined
groupByoptional "file" | "category"
Group documentation by file or category.
Default 'file'
groupOrderoptional string[]
TypeDoc-style group order for module index sections and nav groups.
Use * as the insertion point for unlisted groups.
Default undefined
includeoptional string[]
Glob patterns for files to include.

Patterns are evaluated inside each src directory.
Default ['**\/*.ts', '**\/*.tsx', '**\/*.js', '**\/*.jsx', '**\/*.mts', '**\/*.mjs', '**\/*.cts', '**\/*.cjs']
indexFormatoptional MarkdownDisplayFormat
Display format for index items.
Default 'none'
interfacePropertiesFormatoptional MarkdownDisplayFormat
Display format for interface property groups.
Default 'none'
internaloptional boolean
Include internal members in documentation.
Default false
kindSortOrderoptional string[]
TypeDoc-style declaration kind ranking for module sections and nav groups.
Default undefined
linkStyleoptional "markdown" | "clean"
Internal documentation link style.

Use markdown for generated .md targets and clean for route-style links
consumed by static-site frameworks.
Default 'markdown'
openapioptional OpenApiDocsSource | OpenApiDocsSource[] | OpenApiDocsOptions | false
Local OpenAPI 3.0/3.1 JSON or YAML files to render as static REST API docs.

Generated pages are written under out/openapi/<spec>/ and use the same
Markdown, stale-file cleanup, SSG, and search pipeline as source docs.
Default false
outoptional string
Output directory for generated documentation.

The path is resolved from the Vite project root. Markdown pages, docs.json,
and generated navigation metadata are written under this directory.
Default 'docs/api'
parametersFormatoptional MarkdownDisplayFormat
Display format for value and type parameters.
Default 'none'
pathStrategyoptional "flat" | "typedoc"
Generated Markdown output path strategy.

flat emits one page per source module or category. typedoc emits
TypeDoc-like module, kind, and symbol pages for larger API references.
Default 'flat'
privateoptional boolean
Include private members in documentation.
Default false
propertyMembersFormatoptional MarkdownDisplayFormat
Display format for property-owned object literal members.
Default 'none'
renderGeneratedByoptional boolean
Emit the generated-by attribution on generated root index pages.
Default true
renderStatsoptional boolean
Emit the stats summary line on generated index pages.
Default true
renderStyleoptional "html" | "markdown"
Rendering style for generated API Markdown.

- 'html' (default): HTML-laced Markdown with collapsible entries, stat
blocks and member tables (ox-content theme).
- 'markdown': pure Markdown (headings, tables, fenced code) with no raw
HTML scaffolding, suitable for plain Markdown hosts such as VitePress.
Default 'html'
singleEntryRootoptional "preserve" | "flatten"
Single-entry root handling for TypeDoc-style generated docs.

When set to 'flatten', a single TypeDoc entry point uses the root
index.md as its landing page and omits the extra module level from
generated nav metadata. Symbol page paths stay under the entry point.
Default 'preserve'
sortoptional DocsSortStrategy[]
TypeDoc-style sort strategies applied to entries and members.
Strategies run in order; later strategies break ties from earlier ones.
Default undefined
sortEntryPointsoptional boolean
Preserve caller-provided entry point order when false.
Default true
srcoptional string[]
Source directories to scan for documentation.

Paths are resolved from the Vite project root before applying include and
exclude patterns.
Default ['./src']
tocoptional boolean
Generate table of contents for each file.
Reserved for future use; current generated API pages do not emit this TOC.
Default false
typeAliasPropertiesFormatoptional MarkdownDisplayFormat
Display format for type alias property groups.
Default 'none'
typeDeclarationFormatoptional MarkdownDisplayFormat
Display format for return type declaration members.
Default 'none'
typeParametersoptional boolean
Opt in to TSDoc-style type-parameter documentation.

When enabled, declaration type parameters (<T extends C = D>) are
extracted into a structured "Type Parameters" section and @typeParam /
@template tags are merged in (and removed from the generic tag list).
@typeParam is a TSDoc feature, so this is off by default (JSDoc semantics).
Default false
interfaceDocsSummarySummary counts emitted with generated documentation data.

Summary counts emitted with generated documentation data.

Signature

export interface DocsSummary

View source

Members

Properties
NameTypeDescription
byKind Record<string, number>
Entry counts grouped by normalized declaration kind.
deprecated number
Number of entries or members marked with @deprecated.
entries number
Number of top-level entries across all modules.
examples number
Number of collected examples.
modules number
Number of modules included in the generated payload.
params number
Number of documented parameters.
returns number
Number of documented return values.
interfaceDocsTestOptionsOptions for extracting fenced examples into docs-as-tests fixtures. The extract…

Options for extracting fenced examples into docs-as-tests fixtures.

The extractor collects code fences that can be written into test files and executed by the exported docs test harness helpers.

Signature

export interface DocsTestOptions

View source

Members

Properties
NameTypeDescription
languagesoptional string[]
Fence languages to collect as runnable examples.

Language names are compared case-insensitively.
Default ['js', 'jsx', 'ts', 'tsx']
requireMetaoptional boolean
Require an opt-in fence meta marker before collecting an example.

When enabled, only fences marked with metadata such as test, runnable,
vitest, or docs-test are collected.
Default true
interfaceEditThisPageOptionsOptions for appending an "edit this page" link. The generated link points at th…

Options for appending an "edit this page" link.

The generated link points at the source Markdown file rather than the emitted HTML route. Configure branch and rootDir to match the repository layout users should edit.

Signature

export interface EditThisPageOptions

View source

Members

Properties
NameTypeDescription
branchoptional string
Branch used in generated edit links.

Use the branch that accepts documentation changes, not necessarily the
branch that produced the deployed site.
Default 'main'
labeloptional string
Link text rendered in the page footer.

Keep this short; the default theme renders it as a compact footer action.
Default 'Edit this page'
provideroptional EditThisPageProvider
Forge whose edit-URL shape to use.

Every forge exposes a web editor at a different path — GitLab puts a
/-/ scope separator in front of it, Bitbucket edits through its source
view, Gitea and Forgejo use _edit — so a site on the wrong shape links
to a 404.

Inferred from the repoUrl host when omitted (gitlab.com,
bitbucket.org, codeberg.org, gitea.com), falling back to
'github'. Set it explicitly for a self-hosted instance, whose hostname
says nothing about the software behind it.
Default inferred from `repoUrl`
repoUrl string
Repository URL used to build edit links.

The transform is enabled only when this value is provided.
rootDiroptional string
Source root inside the repository, used before the page path.

Set this when srcDir is nested in a package or docs workspace: the
value says where srcDir lives inside the repository, and the page
path is measured from srcDir rather than from the directory the build
runs in.
Default undefined
urlPatternoptional string
Edit-URL template, for a forge or an instance the shapes above miss.

Understands {repoUrl}, {branch}, and {path}; other braces are
left as written. Takes precedence over provider.
Default the pattern for the resolved `provider`
typeEditThisPageProvider = "github" | "gitlab" | "bitbucket" | "gitea"Forges with a known edit-URL shape. 'gitea' covers Forgejo, which kept the same…

Forges with a known edit-URL shape.

'gitea' covers Forgejo, which kept the same path.

Signature

export type EditThisPageProvider = "github" | "gitlab" | "bitbucket" | "gitea"

View source

interfaceEmojiShortcodeOptionsOptions for expanding :shortcode: emoji aliases. The transform replaces recogni…

Options for expanding :shortcode: emoji aliases.

The transform replaces recognized shortcode tokens with their Unicode emoji equivalents during Markdown transformation. Unknown shortcodes are left untouched so colon-delimited text can still be used by other tools.

Signature

export interface EmojiShortcodeOptions

View source

Members

Properties
NameTypeDescription
customoptional Record<string, string>
Custom shortcode map merged with the built-in emoji aliases.

Keys should omit the surrounding colons.
Default {}
interfaceEntryPageConfigEntry page frontmatter configuration.

Entry page frontmatter configuration.

Signature

export interface EntryPageConfig

View source

Members

Properties
NameTypeDescription
featuresoptional FeatureConfig[]
Feature cards
herooptional HeroConfig
Hero section
layout "entry"
Layout type - set to 'entry' for entry page
interfaceExtractedDocsExtracted documentation for a single file.

Extracted documentation for a single file.

Signature

export interface ExtractedDocs

View source

Members

Properties
NameTypeDescription
descriptionoptional string
Optional module-level description extracted from a file header comment.
entries DocEntry[]
Top-level documented declarations found in this module.
examplesoptional string[]
Module-level examples collected from a file header comment.
file string
Source module or file identifier used by generated output.
sourcePathoptional string
Absolute source path, when available for source links and diagnostics.
tagsoptional Record<string, string>
Module-level tags preserved by tag name.
interfaceFeatureConfigFeature card for entry page.

Feature card for entry page.

Signature

export interface FeatureConfig

View source

Members

Properties
NameTypeDescription
detailsoptional string
Feature description
iconoptional string
Icon - supports: "mdi:icon-name" (Iconify), image URL, or emoji
linkTextoptional string
Link text
title string
Feature title
interfaceFeedChannelOptionsOne feed's formats, source, output path, and channel metadata.

One feed's formats, source, output path, and channel metadata.

Signature

export interface FeedChannelOptions

View source

Members

Properties
NameTypeDescription
collectionoptional string
Named collection to publish. Defaults to content, or the first
configured collection when content is absent.
descriptionoptional string
Channel description. Defaults to the SSG site description.
faviconoptional string
Favicon URL (Atom icon / JSON Feed favicon).
formatsoptional readonly FeedFormat[]
Feed formats to write.
Default ["rss", "atom", "json"]
imageoptional string
Channel image URL (RSS image / Atom logo / JSON Feed icon).
itemsoptional FeedItemsSource
Programmatic items for this channel. A channel may set either
collection or items, not both.
languageoptional string
Channel language (en, ja, …). Omitted when unset.
limitoptional number
Maximum number of published items, newest first.
Default 20
pathoptional string
Site-relative directory for the generated files.
Default "/"
titleoptional string
Channel title. Defaults to the SSG site name.
typeFeedFormat = "rss" | "atom" | "json"Feed file formats written during SSG.

Feed file formats written during SSG.

Signature

export type FeedFormat = "rss" | "atom" | "json"

View source

interfaceFeedItemAttachmentOne JSON Feed / enclosure attachment accepted by programmatic feeds.

One JSON Feed / enclosure attachment accepted by programmatic feeds.

Signature

export interface FeedItemAttachment

View source

Members

Properties
NameTypeDescription
durationInSecondsoptional number
mimeTypeoptional string
sizeInBytesoptional number
titleoptional string
url string
interfaceFeedItemAuthorOne feed item author accepted by programmatic feeds.

One feed item author accepted by programmatic feeds.

Signature

export interface FeedItemAuthor

View source

Members

Properties
NameTypeDescription
name string
urloptional string
interfaceFeedItemInputOne collection or programmatic item considered for a generated feed.

One collection or programmatic item considered for a generated feed.

Signature

export interface FeedItemInput

View source

Members

Properties
NameTypeDescription
attachmentsoptional readonly FeedItemAttachment[]
authoroptional FeedItemAuthorInput
authorsoptional readonly FeedItemAuthorInput[]
contentoptional string
dateoptional unknown
descriptionoptional string
draftoptional unknown
frontmatteroptional Record<string, unknown>
idoptional string
imageoptional string
languageoptional string
lastUpdatedoptional unknown
locoptional string
pathoptional string
titleoptional string
unlistedoptional unknown
urloptional string
typeFeedsOptions = FeedChannelOptions | readonly FeedChannelOptions[] | { [name: string]: FeedChannelOptions }Opt-in RSS / Atom / JSON Feed files written during SSG. A single object is one…

Opt-in RSS / Atom / JSON Feed files written during SSG.

A single object is one default feed. A named record or array writes multiple feeds with their own paths and channel metadata.

Signature

export type FeedsOptions = FeedChannelOptions | readonly FeedChannelOptions[] | { [name: string]: FeedChannelOptions }

View source

interfaceFileTreeIconOptionsReplaceable file-tree icons. Values are trusted site-config SVG markup or CSS c…

Replaceable file-tree icons. Values are trusted site-config SVG markup or CSS class tokens, never fence content.

Signature

export interface FileTreeIconOptions

View source

Members

Properties
NameTypeDescription
fileoptional string
Default file icon.
filesoptional Record<string, string>
File icons keyed by extension (ts, .json).
folderoptional string
Collapsed folder icon.
folderOpenoptional string
Open folder icon.
interfaceFileTreeOptionsOptions for opt-in file-tree fences.

Options for opt-in file-tree fences.

Signature

export interface FileTreeOptions

View source

Members

Properties
NameTypeDescription
defaultOpenoptional boolean
Open directory <details> by default.
Default true
enabledoptional boolean
Enable the file-tree transform when an options object is supplied.
Default true
iconsoptional boolean | FileTreeIconOptions
Render folder and file icons. Pass an object to replace the defaults.
Default true
interfaceGeneratedDocsDataMachine-readable payload emitted alongside generated docs.

Machine-readable payload emitted alongside generated docs.

Signature

export interface GeneratedDocsData

View source

Members

Properties
NameTypeDescription
generatedAt string
ISO timestamp for the generation run.
modules ExtractedDocs[]
Extracted documentation modules in render order.
summary DocsSummary
Aggregate counts useful for dashboards and generated index pages.
version 1
Payload schema version. Increment when the JSON shape changes incompatibly.
interfaceGeneratedOpenApiDocsGenerated OpenAPI Markdown pages and sidebar metadata.

Generated OpenAPI Markdown pages and sidebar metadata.

Signature

export interface GeneratedOpenApiDocs

View source

Members

Properties
NameTypeDescription
nav DocsNavigationItem[]
pages Record<string, string>
interfaceHeadingPermalinksOptionsOpt-in visible heading permalinks. Headings already have stable ids. Enabling t…

Opt-in visible heading permalinks.

Headings already have stable ids. Enabling this appends a real <a class="header-anchor" href="#id"> using that exact id. Off by default so existing HTML stays byte-stable.

Signature

export interface HeadingPermalinksOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Emit the permalink control.
Default true
interfaceHeroActionHero section action button.

Hero section action button.

Signature

export interface HeroAction

View source

Members

Properties
NameTypeDescription
text string
Button text
themeoptional "brand" | "alt"
Button theme: 'brand' (primary) or 'alt' (secondary)
interfaceHeroConfigHero section configuration for entry page.

Hero section configuration for entry page.

Signature

export interface HeroConfig

View source

Members

Properties
NameTypeDescription
actionsoptional HeroAction[]
Action buttons
imageoptional HeroImage
Hero image
nameoptional string
Main title (large, gradient text)
noticeoptional HeroNotice
Notice shown near the top of the hero
taglineoptional string
Tagline (smaller, muted)
textoptional string
Secondary text (medium size)
interfaceHeroImageHero section image configuration.

Hero section image configuration.

Signature

export interface HeroImage

View source

Members

Properties
NameTypeDescription
altoptional string
Alt text
darkSrcoptional string
Dark mode image source URL
heightoptional number
Image height
lightSrcoptional string
Light mode image source URL
src string
Image source URL
widthoptional number
Image width
interfaceHeroNoticeHero notice configuration.

Hero notice configuration.

Signature

export interface HeroNotice

View source

Members

Properties
NameTypeDescription
bodyoptional string[]
Notice paragraphs
titleoptional string
Notice title
interfaceI18nOptionsi18n (internationalization) options. i18n is opt-in because it changes routing…

i18n (internationalization) options.

i18n is opt-in because it changes routing and build-time validation. Set enabled: true and configure at least defaultLocale / locales when the same content tree should serve multiple languages.

Signature

export interface I18nOptions

View source

Members

Properties
NameTypeDescription
checkoptional boolean
Run i18n checks during build.

Checks validate dictionary coverage and translation function usage when the
native i18n checker is available.
Default true
defaultLocaleoptional string
Default locale tag.

The default locale is added to locales automatically when omitted from the
list.
Default 'en'
diroptional string
Path to i18n dictionary directory (relative to project root).

Dictionary files are watched in development and checked during builds when
check is enabled.
Default 'content/i18n'
enabledoptional boolean
Enable i18n.

The resolver returns false unless this is explicitly set to true.
Default false
functionNamesoptional string[]
Translation function names to detect in source code.

Add framework-specific wrappers here so build-time checks can find all
translation keys.
Default ['t', '$t']
hideDefaultLocaleoptional boolean
Hide default locale prefix in URLs.

When true, /page serves the default locale and /ja/page serves Japanese.
When false, all locales get prefixed: /en/page, /ja/page.
Default true
localesoptional LocaleConfig[]
Available locales.

When omitted, ox-content creates a single locale from defaultLocale.
Default [{ code: defaultLocale, name: defaultLocale }]
interfaceIconsOptionsOpt-in self-hosted Iconify CSS for used icons. Off by default. When enabled, th…

Opt-in self-hosted Iconify CSS for used icons.

Off by default. When enabled, the SSG build resolves Iconify names from installed @iconify/json or @iconify-json/* packages and emits CSS masks so the published site does not request api.iconify.design.

Signature

export interface IconsOptions

View source

Members

Properties
NameTypeDescription
includeoptional string[]
Glob patterns to scan, or explicit prefix:name icons.
Entries that look like Iconify names are used as-is (no scan).
modeoptional "css-mask"
CSS emission mode.
Default "css-mask"
safelistoptional string[]
Iconify names that are always emitted, even when no source mentions them.
syntaxoptional "unocss"
Class syntax. "unocss" emits icon-[prefix--name].
Default "unocss"
interfaceImageGalleryOptionsOptions for opt-in static image galleries.

Options for opt-in static image galleries.

Signature

export interface ImageGalleryOptions

View source

Members

Properties
NameTypeDescription
emptyoptional "error" | "warn" | "ignore"
Diagnostics for galleries without image items.
Default "error"
enabledoptional boolean
Enable ::: gallery blocks.
Default true when the options object is supplied.
lazyoptional boolean
Add loading="lazy" to gallery images.
Default follows `images.lazy`, or true when `images` is disabled.
missingAltoptional "error" | "warn" | "ignore"
Diagnostics for image items without alt text.
Default "error"
interfaceImageOptionsOptions for opt-in figures, captions, and lazy images.

Options for opt-in figures, captions, and lazy images.

Signature

export interface ImageOptions

View source

Members

Properties
NameTypeDescription
lazyoptional boolean
Add loading="lazy" to transformed images.
Default true
interfaceIncludeOptionsOptions for inlining Markdown files with <!-- @include: PATH -->. Relative path…

Options for inlining Markdown files with <!-- @include: PATH -->.

Relative paths resolve from the current file. @/ and leading / resolve from rootDir. After canonicalize, paths outside rootDir are rejected.

Signature

export interface IncludeOptions

View source

Members

Properties
NameTypeDescription
rootDiroptional string
Directory used to resolve @/ and absolute include paths.

When omitted, includes resolve from the Vite project root.
Default undefined
interfaceJsonLdOptionsPer-control flags for ssg.jsonLd. Omitted fields keep the defaults when the fea…

Per-control flags for ssg.jsonLd.

Omitted fields keep the defaults when the feature itself is enabled.

Signature

export interface JsonLdOptions

View source

Members

Properties
NameTypeDescription
breadcrumbsoptional boolean
Emit BreadcrumbList when a visible breadcrumb trail exists.
Default true
graphoptional Record<string, unknown>[]
Extra @graph nodes. Only objects are kept. The build does not invent
fields inside them.
publisheroptional JsonLdPublisherOptions
Optional publisher. Only configured name / url are written.
Logo and other Organization fields are never invented.
typeoptional JsonLdPageType
Page @type. Defaults to TechArticle.
typeJsonLdPageType = "TechArticle" | "BlogPosting" | "WebPage"JSON-LD page node @type. Unknown values fall back to TechArticle.

JSON-LD page node @type. Unknown values fall back to TechArticle.

Signature

export type JsonLdPageType = "TechArticle" | "BlogPosting" | "WebPage"

View source

interfaceJsonLdPublisherOptionsOptional JSON-LD publisher. Empty or omitted fields are left out.

Optional JSON-LD publisher. Empty or omitted fields are left out.

Signature

export interface JsonLdPublisherOptions

View source

Members

Properties
NameTypeDescription
nameoptional string
Organization name.
urloptional string
Organization URL. javascript: and other unsafe schemes are dropped.
typeKatexFontFormats = "woff2" | "all"Which of KaTeX's font formats to emit.

Which of KaTeX's font formats to emit.

Signature

export type KatexFontFormats = "woff2" | "all"

View source

interfaceKeyboardKeysOptionsOptions for opt-in ... inline keyboard keys.

Options for opt-in {kbd:...} inline keyboard keys.

Signature

export interface KeyboardKeysOptions

View source

Members

Properties
NameTypeDescription
aliasesoptional Record<string, string>
Build-time aliases. Keys are matched case-insensitively and override
the built-in cmd / ctrl table.
enabledoptional boolean
Enable the keyboard-key transform when an options object is supplied.
Default true
styleoptional "words" | "symbols"
Built-in alias labels. "words" emits Command; "symbols" emits .
Default "words"
interfaceLocaleConfigLocale configuration. Locales define the routing and display metadata used by t…

Locale configuration.

Locales define the routing and display metadata used by the i18n plugin.

Signature

export interface LocaleConfig

View source

Members

Properties
NameTypeDescription
code string
BCP 47 locale tag (e.g., 'en', 'ja', 'zh-Hans').
diroptional "ltr" | "rtl"
Text direction for rendered pages.
Default 'ltr'
name string
Display name for this locale (e.g., 'English', '日本語').
interfaceMagicLinkAliasOne configured magic-link target.

One configured magic-link target.

Signature

export interface MagicLinkAlias

View source

Members

Properties
NameTypeDescription
href string
imageoptional string
labeloptional string
interfaceMagicLinkImageOverrideReplace the image for an exact href or prefix.

Replace the image for an exact href or prefix.

Signature

export interface MagicLinkImageOverride

View source

Members

Properties
NameTypeDescription
hrefoptional string
image string
prefixoptional string
interfaceMagicLinkOptionsOptions for opt-in {link:...} rich magic links.

Options for opt-in {link:...} rich magic links.

Signature

export interface MagicLinkOptions

View source

Members

Properties
NameTypeDescription
aliasesoptional Record<string, string | MagicLinkAlias>
Named aliases. A string value is treated as { href }.
enabledoptional boolean
Enable the magic-link transform when an options object is supplied.
Default true
faviconoptional boolean | { template?: string }
Emit a favicon URL when a link has no image.

true uses https://{host}/favicon.ico. Pass { template } to override.
The transform never fetches; the browser may load the URL later.
Default false
imageOverridesoptional MagicLinkImageOverride[]
Replace the resolved image for matching hrefs.
interfaceMarkdownNodeMarkdown AST node (simplified for TypeScript).

Markdown AST node (simplified for TypeScript).

Signature

export interface MarkdownNode

View source

Members

Indexable
[key: string]: unknown
Properties
NameTypeDescription
childrenoptional MarkdownNode[]
type string
valueoptional string
interfaceMarkdownSourceOptionsOpt-in Markdown source companions written beside generated HTML.

Opt-in Markdown source companions written beside generated HTML.

Signature

export interface MarkdownSourceOptions

View source

Members

Properties
NameTypeDescription
alternateoptional boolean
Add <link rel="alternate" type="text/markdown"> to generated HTML.
Default true
copyoptional boolean
Show a page-level Copy as Markdown control in the default theme.
The control copies or opens the published companion bytes, including
frontmatter. Off unless set, even when companions are enabled.
Default false
interfaceMarkdownTransformerCustom AST transformer.

Custom AST transformer.

Signature

export interface MarkdownTransformer

View source

Members

Properties
NameTypeDescription
name string
Transformer name.
transform (ast: MarkdownNode, context: TransformContext) => MarkdownNode | Promise<MarkdownNode>
Transform function.
  • ast
  • context
typeMathErrorPolicy = "literal" | "error" | "render"What to do with a run KaTeX cannot parse.

What to do with a run KaTeX cannot parse.

Signature

export type MathErrorPolicy = "literal" | "error" | "render"

View source

interfaceMathOptionsOptions for opt-in / math. Delimiter parsing lives in the native tran…

Options for opt-in / math.

Delimiter parsing lives in the native transform. Typesetting uses KaTeX at build time when the optional katex peer is installed. Sites that omit math do not need that package.

Signature

export interface MathOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the math transform when an options object is supplied.
Default true
fontFormatsoptional KatexFontFormats
Which KaTeX font formats to emit into the output directory.

.ttf and .woff are three quarters of KaTeX's font bytes, and no
browser that can run the rest of the site needs them — @font-face
lists woff2 first and stops at the first format it supports. Set
'all' for a target that genuinely needs the older formats.

Either way the fonts are emitted only when a page actually rendered
math.
Default 'woff2'
onErroroptional MathErrorPolicy
What to do with a run KaTeX cannot parse.

The heuristics are good but not perfect, and a page about math
syntax is exactly the page that trips them. This decides whether such a
page ships readable prose, red error text, or no build at all.

- 'literal' puts the source back the way it was written, delimiters
included, and warns.
- 'error' fails the build.
- 'render' emits KaTeX's own red error markup, which is what the
feature did before this option existed.
Default 'literal'
interfaceMdxImportOne MDX import statement collected from the AST.

One MDX import statement collected from the AST.

Signature

export interface MdxImport

View source

Members

Properties
NameTypeDescription
source string
Module specifier string.
specifiers MdxImportSpecifier[]
Bindings created by the import.
interfaceMdxImportSpecifierOne binding created by an MDX import statement.

One binding created by an MDX import statement.

Signature

export interface MdxImportSpecifier

View source

Members

Properties
NameTypeDescription
imported string
Imported name (default, *, or the named export).
kind MdxImportSpecifierKind
Specifier kind.
local string
Local binding name.
typeMdxImportSpecifierKind = "default" | "named" | "namespace"How a specifier was imported from an MDX import statement.

How a specifier was imported from an MDX import statement.

Signature

export type MdxImportSpecifierKind = "default" | "named" | "namespace"

View source

interfaceNavItemNavigation item for sidebar navigation.

Navigation item for sidebar navigation.

Signature

export interface NavItem

View source

Members

Properties
NameTypeDescription
interfaceNotByAiOptionsOptions for the opt-in <NotByAI /> authorship badge.

Options for the opt-in <NotByAI /> authorship badge.

Signature

export interface NotByAiOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the badge transform when an options object is supplied.
Default true
hrefoptional string
Destination URL. Unsafe values fall back to https://notbyai.fyi.
Default "https://notbyai.fyi"
labeloptional string
Accessible label for the badge link.
Default "Written by human, not by AI"
interfaceNotFoundOptionsOpt-in custom 404 page written during SSG.

Opt-in custom 404 page written during SSG.

Signature

export interface NotFoundOptions

View source

Members

Properties
NameTypeDescription
outputoptional string
Output file relative to outDir.
Default "404.html"
sourceoptional string
Markdown source relative to srcDir.
Default "404.md"
interfaceOgImageOptionsOG image generation options. Uses Chromium or Satori rendering with customizabl…

OG image generation options. Uses Chromium or Satori rendering with customizable templates.

Signature

export interface OgImageOptions

View source

Members

Properties
NameTypeDescription
cacheoptional boolean
Enable content-hash based caching.
Skips rendering when content hasn't changed.
Default true
concurrencyoptional number
Number of concurrent page instances for parallel rendering.
Default 1
heightoptional number
Image height in pixels.
Default 630
rendereroptional OgImageRenderer
Rendering backend.
- "chromium": full browser rendering, best template compatibility
- "satori": fast HTML-to-SVG-to-PNG rendering, limited CSS subset
Default "chromium"
satorioptional OgImageSatoriOptions
Options for the Satori renderer.
templateoptional string
Path to a custom template file (.ts, .vue, .svelte, .tsx/.jsx).
- .ts: default-export a function (props) => string
- .vue: Vue SFC, rendered via SSR
- .svelte: Svelte SFC, rendered via SSR
- .tsx/.jsx: React Server Component, rendered via SSR
If not specified, the built-in default template is used.
vuePluginoptional "vitejs" | "vizejs"
Vue plugin to use for compiling .vue templates.
- 'vitejs': Use @vue/compiler-sfc (official, default)
- 'vizejs': Use @vizejs/vite-plugin (Rust-based)
Default 'vitejs'
widthoptional number
Image width in pixels.
Default 1200
typeOgImageRenderer = "chromium" | "satori"OG image rendering backend.

OG image rendering backend.

Signature

export type OgImageRenderer = "chromium" | "satori"

View source

interfaceOgImageSatoriFontFont file loaded by the Satori renderer.

Font file loaded by the Satori renderer.

Signature

export interface OgImageSatoriFont

View source

Members

Properties
NameTypeDescription
nameoptional string
Font family name used by template CSS.
path string
Absolute path, or a path relative to the project root.
styleoptional "normal" | "italic"
Font style.
Default "normal"
weightoptional OgImageSatoriFontWeight
Font weight.
Default 400
typeOgImageSatoriFontWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900Font weight values supported by Satori.

Font weight values supported by Satori.

Signature

export type OgImageSatoriFontWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900

View source

interfaceOgImageSatoriOptionsSatori renderer options.

Satori renderer options.

Signature

export interface OgImageSatoriOptions

View source

Members

Properties
NameTypeDescription
fontsoptional OgImageSatoriFont[]
Font files passed to Satori.

Satori cannot render text without at least one font. When omitted,
Ox Content tries a small set of system font paths unless
systemFontFallback is disabled.
systemFontFallbackoptional boolean
Try known OS font paths when fonts is empty.
Default true
interfaceOpenApiDocsInputOne local OpenAPI file consumed by generated REST API docs.

One local OpenAPI file consumed by generated REST API docs.

Signature

export interface OpenApiDocsInput

View source

Members

Properties
NameTypeDescription
failOnUnresolvedRefsoptional boolean
Fail on unresolved or remote $ref values. Defaults to true.
nameoptional string
Optional display name. Defaults to info.title or the file name.
path string
JSON or YAML file path, resolved from the Vite project root.
interfaceOpenApiDocsOptionsObject form for configuring generated OpenAPI docs.

Object form for configuring generated OpenAPI docs.

Signature

export interface OpenApiDocsOptions

View source

Members

Properties
NameTypeDescription
basePathoptional string
Route prefix used by generated OpenAPI nav metadata. Defaults to basePath or /api.
failOnUnresolvedRefsoptional boolean
Default unresolved $ref policy for sources. Defaults to true.
srcoptional OpenApiDocsSource | OpenApiDocsSource[]
Local OpenAPI files to render.
typeOpenApiDocsSource = string | OpenApiDocsInputOpenAPI docs shorthand accepted by docs.openapi.

OpenAPI docs shorthand accepted by docs.openapi.

Signature

export type OpenApiDocsSource = string | OpenApiDocsInput

View source

interfaceOxContentOptionsOptions for the core oxContent() Vite plugin. The top-level options describe wh…

Options for the core oxContent() Vite plugin.

The top-level options describe where content lives, which Markdown features are enabled, and which build-time features should run. Feature toggles that accept boolean | Options follow the same convention:

  • false disables the feature.
  • true enables the feature with its documented defaults.
  • an object enables the feature and overrides only the provided fields.

Signature

export interface OxContentOptions

View source

Members

Properties
NameTypeDescription
abbreviationsoptional boolean | AbbreviationsOptions
Opt-in abbreviation and glossary expansion.

Passing true or an options object expands *[LSP]: Language Server Protocol
and config terms into <abbr class="ox-abbr">. Matching uses Unicode word
boundaries. Fenced, indented, inline, and raw code, HTML comments, and
existing links are skipped. There is no client JavaScript.
Default false
attrsoptional boolean | AttrsOptions
Enable markdown-it-attrs style {#id .class key=value} attributes.

Attribute blocks can be attached to headings, paragraphs, links, images, and
other supported Markdown nodes depending on parser context.
Default false
badgesoptional boolean | BadgeOptions
Opt-in {badge:variant} inline badges.

Passing true or an options object enables the built-in variants.
Badge text is HTML-escaped. Fenced, indented, and inline code are skipped.
Default false
baseoptional string
Base path prepended to generated internal URLs.

Use this when the site is deployed below a sub-path, such as GitHub Pages or
a documentation route inside a larger application.
Default '/'
blogoptional boolean | BlogOptions
Write a paginated blog index, tag pages, and yearly/monthly archive,
and inject author / reading-time chrome on posts.

Off by default. true uses the blog collection when it exists,
otherwise the only configured collection, with pageSize 10.
An object enables the feature and overrides only the fields you set.
Also accepted as ssg.blog; the top-level option wins when both are set.
Default false
budouxoptional boolean | BudouxOptions
Opt-in build-time BudouX phrase segmentation.

Inserts zero-width spaces into visible prose so Japanese text gets better
line-break opportunities without shipping the BudouX parser to the browser.
Install budoux when enabling the default parser, or pass a custom parser.
Default false
cardsoptional boolean | CardOptions
Opt-in ::: card / ::: link-card / ::: card-grid blocks.

Passing true enables the defaults. Pass an object to keep the option
shape while overriding enabled.
Default false
cascadeoptional boolean | CascadeOptions
Inherit missing frontmatter keys from ancestor _index files.

Off by default. true or {} fills keys a child does not set.
permalink and slug are never inherited.
Default false
citationsoptional boolean | CitationsOptions
Opt-in bibliography-backed citation references.

References such as [@rfc9110] and [@smith2024; @doe2023] become
links to generated bibliography entries loaded from local CSL JSON files.
Default false
cjkEmphasisoptional boolean
Recognize emphasis adjacent to CJK text. The native parser already supports
this behavior; the option documents the compatibility contract.
Default false
codeAnnotationsoptional boolean | CodeAnnotationsOptions
Code block line annotations for fenced code blocks.

This feature is opt-in because it changes rendered code-block markup. Pass
true to enable ox-content's attribute syntax, or pass an options object to
change the meta key or enable VitePress-compatible notation.
Default false
codeBlockLintoptional boolean | CodeBlockLintOptions
Lint fenced code blocks during Markdown transforms.

Use this as a lightweight authoring check for missing languages or trailing
whitespace inside fences. For project-wide linting, prefer the exported
lintCodeBlocks() helper or the Markdown lint APIs.
Default false
codeBlockTypecheckoptional boolean | CodeBlockTypecheckOptions
Type-check TypeScript/TSX code fences via tsgo.

By default only fences with explicit opt-in metadata are checked. This keeps
incidental examples cheap while allowing docs-as-code snippets to fail the
build when configured with mode: 'error'.
Default false
codeGroupsoptional boolean | CodeGroupOptions
Opt-in VitePress-style ::: code-group fence groups.

Passing true or {} enables rewriting labeled fences into the
existing no-JS tab widget. Omitted or false leaves the source on
the normal Markdown/container path.
Default false
codeImportsoptional boolean | CodeImportOptions
Import source snippets into fences with <<< @/path/to/file.ts{region}.

This is useful for documentation that must stay synchronized with examples
in the repository. Use rootDir when snippets should resolve from a
directory other than the Vite project root.
Default false
collectionsoptional CollectionsOptions | boolean
Markdown collection query options.

Collections are exposed through virtual:ox-content/collections. The
default collection is metadata-only and is built by the native Rust
manifest builder without rendering every document; add include fields
only for routes that need raw or rendered content in the query payload.
Default content collection for all Markdown files
conditionalBlocksoptional boolean | ConditionalBlockOptions
Opt-in static ::: if / ::: else blocks.

Conditions are evaluated from conditionalBlocks.values and page
frontmatter before Markdown is parsed. Non-selected branches are excluded
from rendered HTML, TOC, and generated search payloads. The expression
language supports ==, !=, in, and, or, parentheses, string /
number / boolean / null literals, and array literals. No JavaScript is
executed.
Default false
containersoptional boolean | ContainerOptions
Opt-in ::: tip custom containers.

GitHub-style > [!NOTE] callouts stay available without this option.
Passing true enables the built-in types. Pass an object to register extra
types or override titles.
Default false
crossReferencesoptional boolean | CrossReferencesOptions
Opt-in labeled cross-references for headings, figures/images, and tables.

References such as @sec-install, @fig-pipeline, and @tbl-options
become links to matching id attributes generated by attrs or native
Markdown rendering. Missing labels, duplicate labels, and prefix/type
mismatches fail by default and can be downgraded to warnings.
Default false
dataTablesoptional boolean | DataTableOptions
Opt-in static tables from csv-table / json-table fences.

Passing true or {} enables the transform. Inline CSV/JSON becomes a
semantic <table> with a responsive wrapper. src or a single path body
can import @/data/options.csv or ./options.json. Paths cannot escape
the content/project root with ... Missing imports use missing.
Default false
definitionListsoptional boolean | DefinitionListOptions
Opt-in PHP Markdown Extra / mdBook-style definition lists.

Passing true or an options object turns
Term / : definition source into semantic <dl> markup.
Disabled when omitted. Fenced, indented, and inline code are skipped.
Invalid or ambiguous forms stay ordinary paragraphs or lists.
Default false
docsoptional DocsOptions | false
Source documentation generation options.
Set to false to disable (opt-out).
Default { enabled: true }
docsTestsoptional boolean | DocsTestOptions
Extract runnable fenced examples for Vitest docs-as-tests harnesses.

Collected examples can be written by the docs test helpers and executed as
part of a normal Vitest suite.
Default false
editThisPageoptional boolean | EditThisPageOptions
Append an "edit this page" link to rendered Markdown.

The feature is enabled only when repoUrl is provided in the options object.
Passing true keeps the feature disabled because there is not enough
repository information to generate valid links.
Default false
embedsoptional BuiltinEmbedOptions | false
Built-in static embeds rendered during Markdown transformation.
Set to false to disable all built-in embeds.
Default { github: true, openGraph: true }
emojiShortcodesoptional boolean | EmojiShortcodeOptions
Expand :shortcode: emoji aliases to Unicode.

Built-in aliases cover common emoji names. Provide custom entries for
project-specific aliases or to override a built-in mapping.
Default false
extensionsoptional string[]
Markdown-like file extensions to process.

Extensions are normalized with a leading dot and matched case-insensitively.
Add custom extensions when another authoring format is compiled to Markdown
before ox-content sees it.
Default ['.md', '.markdown', '.mdx']
feedsoptional boolean | FeedsOptions
Write RSS, Atom, and/or JSON Feed files from a named collection.

Off by default. true writes all three formats from the content
collection (or the first configured collection) with a 20-item limit.
An object enables the feature and overrides only the fields you set.
Requires ssg.siteUrl. When that is missing the build continues and a
warning is emitted instead of writing files.
Default false
fileTreeoptional boolean | FileTreeOptions
Opt-in static directory trees from file-tree fences.

Passing true or {} enables the transform. Names are escaped and never
read from the filesystem. Directories with children open and close with
<details>. Icons are on by default and can be replaced from site config.
Default false
footnotesoptional boolean
Enable footnotes.
Default true
frontmatteroptional boolean
Parse YAML frontmatter.
Default true
gfmoptional boolean
Enable GitHub Flavored Markdown extensions.
Default true
graphvizoptional boolean | GraphvizOptions
Render dot / graphviz fenced blocks to static SVG with Graphviz.
Pass an object to configure the renderer command and failure policy.
Default false
highlightoptional boolean
Enable syntax highlighting for code blocks.

When true, fenced and language-tagged inline code is highlighted with the
native tree-sitter engine. Token colors are --octc-syntax-* custom
properties so theme-color packages resolve highlighting. Languages with no
native grammar stay unhighlighted.
Default false
i18noptional I18nOptions | false
i18n (internationalization) options.
Set to false to disable i18n.
Default false
iconsoptional boolean | IconsOptions
Generate self-hosted Iconify CSS for used and safelisted icons.

Off by default. true or {} enables CSS-mask emission. Install
@iconify/json or individual @iconify-json/* packages so the build
can resolve collections without a network request.
Default false
imageGalleriesoptional boolean | ImageGalleryOptions
Opt-in static ::: gallery image groups.

Each non-empty line inside the block must be a Markdown image, optionally
as a list item. Image titles become item captions, and the block title or
caption metadata becomes the gallery caption. Passing true or {}
enables strict empty-gallery and missing-alt diagnostics.
Default false
imagesoptional boolean | ImageOptions
Opt-in figures, captions, and lazy-loaded images.

Title text becomes a <figcaption>. Optional {width=N height=M} on the
image is consumed by this feature and does not require attrs. Passing
true or {} enables defaults (lazy: true).
Default false
includesoptional boolean | IncludeOptions
Inline another Markdown file with <!-- @include: ./path.md -->.

Expansion happens before Markdown is parsed, so included headings and
lists become part of the host document. Relative paths resolve from the
current file. @/ and / resolve from rootDir. Paths outside
rootDir are rejected and reported as transform errors.
Default false
keyboardKeysoptional boolean | KeyboardKeysOptions
Opt-in {kbd:...} inline keyboard keys.

Passing true or an options object enables {kbd:Ctrl+K} and
{kbd:Cmd Shift P}. Key labels are HTML-escaped. Fenced, indented,
inline, and raw code, plus HTML comments, are skipped. Aliases come
from build config, not the runtime user agent.
Default false
mathoptional boolean | MathOptions
Enable $…$ inline and $$…$$ block math.

Currency-like $ runs, fenced code, indented code, and inline code stay
literal. TeX is HTML-escaped into accessible MathML mtext.
Default false
mdxoptional boolean
Enable MDX JSX, ESM, and expressions.

When omitted, MDX is enabled for .mdx files only. Set true to enable
it for every configured extension or false to keep .mdx on the plain
Markdown path.
Default inferred from the source extension
mermaidoptional boolean
Enable mermaid diagram rendering.
Default false
notByAioptional boolean | NotByAiOptions
Opt-in <NotByAI /> authorship disclosure badge.

Passing true or an options object emits the official Not By AI light/dark
artwork as static HTML. This is not a status badge — see badges for
{badge:tip} labels. Disabled when omitted. Fenced, indented, and inline
code plus HTML comments are skipped.
Default false
ogImageoptional boolean
Enable OG image generation.
Default false
ogImageOptionsoptional OgImageOptions
OG image generation options.
Ignored unless ogImage or ssg.generateOgImage is enabled.
Default { vuePlugin: 'vitejs', width: 1200, height: 630, cache: true, concurrency: 1 }
ogVieweroptional boolean
Enable OG Viewer dev tool.
Accessible at /__og-viewer during development.
Default true
outDiroptional string
Directory where generated files are written.

SSG HTML, search indexes, and generated assets are emitted under this
directory during production builds.
Default 'dist'
partialsoptional boolean | PartialsOptions
Inline a parameterized Markdown partial with
<!-- @partial: ./_partials/install.md package="ox-content" -->.

Disabled when omitted. {{ name }} substitutions are HTML-escaped.
Missing parameters stay literal unless missing is "error". Existing
<!-- @include: --> behavior is unchanged.
Default false
publishStateoptional boolean | PublishStateOptions
Honor frontmatter draft / unlisted / scheduled publish states.

Off by default. true omits drafts and future-scheduled pages from
production HTML, search, and sitemaps. Unlisted pages still build and
remain reachable by URL. An object enables the feature and can inject
now for a deterministic build-time clock.
Default false
pwaoptional boolean | PwaOptions
Write a web app manifest and an optional service worker.

Off by default. true writes manifest.webmanifest and sw.js, and
injects a tiny client script that registers the worker on themed pages.
An object enables the feature and can set offline: false to keep the
manifest without caching or that script. This adds client JavaScript
when offline is on. Requires ssg.siteUrl. When that is missing the
build continues and a warning is emitted instead of writing files.
Default false
redirectsoptional boolean | RedirectsOptions | Record<string, string>
Write static HTML redirect pages for frontmatter aliases and a config map.

Off by default. true or {} enables empty defaults. A path map such as
{ "/old-guide": "/guide" } enables the feature with that map. Destinations
must be same-origin paths (/ but not //) unless allowExternal is set.
javascript:, data:, and protocol-relative URLs are ignored.
Overlapping sources last-win after trailing slashes are folded.
Default false
resourcesoptional boolean | ResourcesOptions
Opt-in page-bundle resources and build-time image processing.

Off by default. true or {} treats each page directory as a bundle:
sibling images are addressable with relative URLs. Query-string
resize/crop/format transforms run at build time and are cached by
source mtime plus transform params. Paths that leave the page
directory or srcDir are rejected. Missing sources fail the build
when missing is "error" (the default when enabled).
dedupe is off unless set; it does not turn on with true / {}.

This is separate from images, which only adds figures, captions,
and lazy-loading.
Default false
sanitizeoptional boolean | SanitizeOptions
Sanitize rendered HTML with safe defaults or explicit allow lists.

Enable this for untrusted Markdown. The default allow lists are conservative;
pass an options object only when the content model intentionally needs extra
tags, attributes, or URL schemes.
Default false
semanticFootnotesoptional boolean
Render footnotes as a semantic ordered section with numeric markers.

Source identifiers are used only for lookup and slugs. Visible markers
are 1, 2, … in document order, and definitions emit as
<section class="footnotes"><ol><li>….

Off by default so current alpha HTML stays stable.
Default false
siteMapsoptional boolean | SiteMapsOptions
Write crawl manifests next to generated HTML.

Off by default. true writes sitemap.xml, robots.txt, and llms.txt.
An object enables the feature and overrides only the fields you set.
Requires ssg.siteUrl. When that is missing the build continues and a
warning is emitted instead of writing files.
Default false
srcDiroptional string
Directory containing Markdown source files.

The path is resolved from the Vite project root. SSG, search indexing, and
dev-server routing all use this directory as the content root.
Default 'content'
ssgoptional SsgOptions | boolean
Static Site Generation options.

Passing true or omitting this option enables SSG with defaults. Passing
false disables the SSG plugin while still allowing Markdown module
transforms to run.
Default { enabled: true }
stepsoptional boolean | StepsOptions
Restyle a ::: steps wrapper around an ordered list.

Disabled when omitted or false. true and {} enable the default
step-list markup. Ordinary ordered lists outside ::: steps are unchanged.
Default false
strikethroughoptional boolean
Enable strikethrough.
Default true
tablesoptional boolean
Enable tables.
Default true
taskListsoptional boolean
Enable task lists.
Default true
taxonomiesoptional boolean | TaxonomiesOptions
Write tag/category term pages and inject related-page lists.

Off by default. true reads frontmatter tags and categories and
writes list pages, per-term pages, and up to 5 related links on pages
that share a term. An object enables the feature and overrides only
the fields you set. Term slugs are [a-z0-9-] and every label is
HTML-escaped.
Default false
timelinesoptional boolean | TimelineOptions
Opt-in static ::: timeline milestone lists.

Timeline blocks render dated or undated milestones from Markdown-only
::: timeline blocks. Items can carry status, label, and href
metadata while nested Markdown stays searchable and static.
Default false
tocoptional boolean
Generate table of contents.
Default true
tocMaxDepthoptional number
Maximum heading depth for TOC.
Default 3
transformersoptional MarkdownTransformer[]
Custom AST transformers.
Transformers run after parsing and before the final JavaScript module is emitted.
Default []
typedHoveroptional boolean | TypedHoverOptions
Attach build-time TypeScript hover overlays to opted-in fences.

Off by default. true or {} enables the feature. Only ts / tsx
fences tagged twoslash receive payloads. Types are generated during
the Markdown transform; no TypeScript compiler is shipped to the browser.
Default false
versionsoptional boolean | VersionsOptions
Prefix live docs, emit frozen snapshot trees, and render a header
version dropdown.

Off by default. true enables a single current entry. An object
enables the feature and lists additional versions. Historical
snapshot directories are read, never rewritten.
Default false
xrefsoptional boolean | CrossReferencesOptions
Alias for crossReferences.
Default false
interfaceParamDocParameter documentation.

Parameter documentation.

Signature

export interface ParamDoc

View source

Members

Properties
NameTypeDescription
defaultoptional string
Default value extracted from syntax or @default tags.
description string
Prose extracted from @param / @arg documentation.
name string
Parameter name, including dotted names for destructured properties.
optionaloptional boolean
True when the parameter is optional.
type string
Rendered TypeScript type text.
interfacePartialsOptionsOptions for parameterized Markdown partials with <!-- @partial: PATH k="v" -->.…

Options for parameterized Markdown partials with <!-- @partial: PATH k="v" -->.

Bare names resolve under root (_partials by default). Relative ./ and ../ paths resolve from the current file. @/ and leading / resolve from rootDir. After canonicalize, paths outside rootDir are rejected.

Signature

export interface PartialsOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the transform when an options object is supplied.
Default true
missingoptional "literal" | "error"
Missing {{ name }} substitutions stay literal, or report a diagnostic.
Default "literal"
rootoptional string
Directory used for bare names such as install.md.
Default "_partials"
rootDiroptional string
Directory used to resolve @/ and absolute partial paths.
Default undefined
interfacePermalinksOptionsOpt-in frontmatter permalink / slug routing. false or omitted stays off. true o…

Opt-in frontmatter permalink / slug routing.

false or omitted stays off. true or {} enables defaults. Set enabled: false on the object to turn the feature back off.

Signature

export interface PermalinksOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable permalink / slug routing.
Default true
interfacePublishStateOptionsOpt-in draft / unlisted / scheduled page filtering.

Opt-in draft / unlisted / scheduled page filtering.

Signature

export interface PublishStateOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
When false, frontmatter publish fields are ignored.
Default true when the option is an object
includeDraftsoptional boolean
Keep draft and not-yet-scheduled pages in output. The dev server sets this.
Default false
nowoptional string
Injected ISO-8601 clock compared against scheduled, date, and expiry.
Invalid values fall back to the system clock.
interfacePwaOptionsOpt-in web app manifest and service worker written during SSG. Enabling offline…

Opt-in web app manifest and service worker written during SSG.

Enabling offline (the default when the feature is on) injects a tiny client script that registers sw.js. Set offline: false to keep the manifest without that script.

Signature

export interface PwaOptions

View source

Members

Properties
NameTypeDescription
backgroundColoroptional string
Manifest background color. Hex or a CSS color name.
Default "#ffffff"
nameoptional string
Manifest name. Falls back to ssg.siteName when omitted.
offlineoptional boolean
Write sw.js and register it from themed pages.
Default true
shortNameoptional string
Manifest short_name. Falls back to name when omitted.
startUrloptional string
Manifest start_url. Same-origin site paths only (/, /docs/).
Defaults to the Vite base.
themeColoroptional string
Manifest / meta theme color. Hex (#rgb / #rrggbb) or a CSS color name.
Default "#000000"
typeRedirectProvider = "netlify" | "cloudflare"Host that consumes the generated redirects file. Both values write the same r…

Host that consumes the generated _redirects file.

Both values write the same _redirects body today. The distinct names leave room for provider-specific limits and diagnostics later.

Signature

export type RedirectProvider = "netlify" | "cloudflare"

View source

interfaceRedirectsOptionsOpt-in static redirects, aliases, and path rewrites. A path map such as { "/old…

Opt-in static redirects, aliases, and path rewrites.

A path map such as { "/old-guide": "/guide" } is also accepted in place of this object and enables the feature with that map.

Signature

export interface RedirectsOptions

View source

Members

Properties
NameTypeDescription
allowExternaloptional boolean
Allow http:// and https:// destinations. javascript:, data:, and
protocol-relative // targets stay rejected.
Default false
headersoptional boolean
Write a _headers Location map next to the HTML pages.
Default false
htmloptional boolean
Write static HTML fallback pages for ordinary redirect sources.

Set false when the selected host should consume _redirects directly.
Wildcard sources never write HTML pages because they are host-rule syntax.
Default true
jsonoptional boolean
Write a machine-readable redirects.json map.
Default false
mapoptional Record<string, string>
Old path to new path. Destinations must be same-origin (/ but not //)
unless allowExternal is set.
Default {}
provideroptional RedirectProvider
Host that should receive a _redirects file.

Omit the field to detect CF_PAGES=1, WORKERS_CI=1, or NETLIFY=true.
Local builds and GitHub Actions should set this explicitly. HTML redirect
pages are independent of this selector.
typeResolvedA11y = false | { skipLinkLabel: string }Resolved skip-link / print styles. false means no extra markup or CSS.

Resolved skip-link / print styles. false means no extra markup or CSS.

Signature

export type ResolvedA11y = false | { skipLinkLabel: string }

View source

interfaceResolvedAbbreviationsOptionsResolved abbreviation / glossary transform options.

Resolved abbreviation / glossary transform options.

Signature

export interface ResolvedAbbreviationsOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
firstUseOnly boolean
terms Record<string, string>
interfaceResolvedAttrsOptionsResolved attrs transform options.

Resolved attrs transform options.

Signature

export interface ResolvedAttrsOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedBadgeOptionsResolved inline-badge transform options.

Resolved inline-badge transform options.

Signature

export interface ResolvedBadgeOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedBlogFeedSourceResolved external blog feed source.

Resolved external blog feed source.

Signature

export interface ResolvedBlogFeedSource

View source

Members

Properties
NameTypeDescription
authoroptional string
languageoptional string
onError BlogFeedFailurePolicy
url string
interfaceResolvedBlogOptionsResolved blog options.

Resolved blog options.

Signature

export interface ResolvedBlogOptions

View source

Members

Properties
NameTypeDescription
authors Record<string, BlogAuthor>
collectionoptional string
enabled boolean
feeds ResolvedBlogFeedSource[]
pageSize number
interfaceResolvedBuiltinEmbedOptionsResolved built-in embed configuration.

Resolved built-in embed configuration.

Signature

export interface ResolvedBuiltinEmbedOptions

View source

Members

Properties
NameTypeDescription
appleMusic boolean
asciinemaoptional boolean
audiooptional boolean
bluesky boolean
discordoptional boolean
facebookoptional boolean
fediverseoptional boolean
figmaoptional boolean
github GitHubOptions | false
googleMapsoptional boolean
googleSlidesoptional boolean
instagramoptional boolean
loomoptional boolean
noteoptional boolean
openGraph OgpOptions | false
packageRegistryoptional ProviderPackageEmbedOptions | false
playgroundsoptional ProviderPlaygroundEmbedOptions | false
pm BuiltinPmOptions | false
qiitaoptional ProviderArticleEmbedOptions | false
redditoptional RedditEmbedOptions | false
speakerDeck boolean
spotify boolean
stackBlitz boolean
threadsoptional boolean
twitchoptional ProviderVideoEmbedOptions | false
twitter TwitterEmbedOptions | false
videooptional boolean
vimeooptional ProviderVideoEmbedOptions | false
webContainer boolean
zennoptional ProviderArticleEmbedOptions | false
interfaceResolvedCardOptionsResolved card transform options.

Resolved card transform options.

Signature

export interface ResolvedCardOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedCascadeOptionsResolved cascade options.

Resolved cascade options.

Signature

export interface ResolvedCascadeOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedCodeAnnotationsOptionsResolved code annotation configuration.

Resolved code annotation configuration.

Signature

export interface ResolvedCodeAnnotationsOptions

View source

Members

Properties
NameTypeDescription
defaultLineNumbers boolean
enabled boolean
metaKey string
notation CodeAnnotationSyntax
interfaceResolvedCodeBlockLintOptionsResolved code-block lint options.

Resolved code-block lint options.

Signature

export interface ResolvedCodeBlockLintOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
languagesoptional string[]
mode "warn" | "error"
requireLanguage boolean
trailingSpaces boolean
interfaceResolvedCodeBlockTypecheckOptionsResolved code-block type-check options.

Resolved code-block type-check options.

Signature

export interface ResolvedCodeBlockTypecheckOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
languages string[]
mode "warn" | "error"
requireMeta boolean
tsgoCommand string
interfaceResolvedCodeGroupOptionsResolved code-group transform options.

Resolved code-group transform options.

Signature

export interface ResolvedCodeGroupOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedCodeImportOptionsResolved code-import transform options.

Resolved code-import transform options.

Signature

export interface ResolvedCodeImportOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
rootDiroptional string
interfaceResolvedCollectionOptionsResolved collection definition.

Resolved collection definition.

Signature

export interface ResolvedCollectionOptions

View source

Members

Properties
NameTypeDescription
include CollectionIncludeField[]
name string
source string[]
interfaceResolvedCollectionsOptionsResolved collection options.

Resolved collection options.

Signature

export interface ResolvedCollectionsOptions

View source

Members

Properties
NameTypeDescription
collections Record<string, ResolvedCollectionOptions>
enabled boolean
interfaceResolvedConditionalBlockOptionsResolved conditional-block transform options.

Resolved conditional-block transform options.

Signature

export interface ResolvedConditionalBlockOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
values Record<string, unknown>
interfaceResolvedContainerOptionsResolved custom-container transform options.

Resolved custom-container transform options.

Signature

export interface ResolvedContainerOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
types Record<string, ContainerTypeOptions>
typeResolvedContributors = false | { ignore: string[]; avatars: boolean }Resolved git contributor list. false means the feature is off.

Resolved git contributor list. false means the feature is off.

Signature

export type ResolvedContributors = false | { ignore: string[]; avatars: boolean }

View source

interfaceResolvedDataTableOptionsResolved data-table transform options.

Resolved data-table transform options.

Signature

export interface ResolvedDataTableOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
missing "error" | "warn"
rootDiroptional string
interfaceResolvedDefinitionListOptionsResolved definition-list transform options.

Resolved definition-list transform options.

Signature

export interface ResolvedDefinitionListOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedDocsEntryPointResolved public API entry point.

Resolved public API entry point.

Signature

export interface ResolvedDocsEntryPoint

View source

Members

Properties
NameTypeDescription
nameoptional string
path string
interfaceResolvedDocsOptionsResolved docs options with all defaults applied.

Resolved docs options with all defaults applied.

Signature

export interface ResolvedDocsOptions

View source

Members

Properties
NameTypeDescription
basePathoptional string
classPropertiesFormat MarkdownDisplayFormat
enabled boolean
entryPointsoptional ResolvedDocsEntryPoint[]
enumMembersFormat MarkdownDisplayFormat
exclude string[]
format "markdown" | "json" | "html"
generateNav boolean
githubUrloptional string
groupBy "file" | "category"
groupOrderoptional string[]
include string[]
indexFormat MarkdownDisplayFormat
interfacePropertiesFormat MarkdownDisplayFormat
internal boolean
kindSortOrderoptional string[]
linkStyle "markdown" | "clean"
openapi ResolvedOpenApiDocsOptions | false
out string
parametersFormat MarkdownDisplayFormat
pathStrategy "flat" | "typedoc"
private boolean
propertyMembersFormat MarkdownDisplayFormat
renderGeneratedBy boolean
renderStats boolean
renderStyle "html" | "markdown"
singleEntryRoot "preserve" | "flatten"
sortoptional DocsSortStrategy[]
sortEntryPoints boolean
src string[]
toc boolean
typeAliasPropertiesFormat MarkdownDisplayFormat
typeDeclarationFormat MarkdownDisplayFormat
typeParameters boolean
interfaceResolvedDocsTestOptionsResolved docs-as-tests extraction options.

Resolved docs-as-tests extraction options.

Signature

export interface ResolvedDocsTestOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
languages string[]
requireMeta boolean
interfaceResolvedEditThisPageOptionsResolved edit-link transform options.

Resolved edit-link transform options.

Signature

export interface ResolvedEditThisPageOptions

View source

Members

Properties
NameTypeDescription
branch string
enabled boolean
label string
provideroptional EditThisPageProvider
repoUrloptional string
rootDiroptional string
urlPatternoptional string
interfaceResolvedEmojiShortcodeOptionsResolved emoji-shortcode transform options.

Resolved emoji-shortcode transform options.

Signature

export interface ResolvedEmojiShortcodeOptions

View source

Members

Properties
NameTypeDescription
custom Record<string, string>
enabled boolean
interfaceResolvedFeedChannelOne resolved feed channel.

One resolved feed channel.

Signature

export interface ResolvedFeedChannel

View source

Members

Properties
NameTypeDescription
collectionoptional string
descriptionoptional string
faviconoptional string
formats readonly FeedFormat[]
imageoptional string
itemsoptional FeedItemsSource
languageoptional string
limit number
nameoptional string
path string
titleoptional string
interfaceResolvedFeedsOptions extends ResolvedFeedChannelResolved feed options. Legacy true / single-object configs keep one channel on…

Resolved feed options.

Legacy true / single-object configs keep one channel on the top-level fields. A named record or array also sets feeds to every channel.

Signature

export interface ResolvedFeedsOptions extends ResolvedFeedChannel

View source

Members

Properties
NameTypeDescription
enabled boolean
feedsoptional ResolvedFeedChannel[]
interfaceResolvedFileTreeOptionsResolved file-tree transform options.

Resolved file-tree transform options.

Signature

export interface ResolvedFileTreeOptions

View source

Members

Properties
NameTypeDescription
defaultOpen boolean
enabled boolean
iconFileoptional string
iconFilesoptional Record<string, string>
iconFolderoptional string
iconFolderOpenoptional string
icons boolean
interfaceResolvedHeadingPermalinksOptionsResolved heading permalink options.

Resolved heading permalink options.

Signature

export interface ResolvedHeadingPermalinksOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedI18nOptionsResolved i18n options with all defaults applied.

Resolved i18n options with all defaults applied.

Signature

export interface ResolvedI18nOptions

View source

Members

Properties
NameTypeDescription
check boolean
defaultLocale string
dir string
enabled boolean
functionNames string[]
hideDefaultLocale boolean
locales LocaleConfig[]
interfaceResolvedIconsOptionsResolved icon asset options.

Resolved icon asset options.

Signature

export interface ResolvedIconsOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
include string[]
mode "css-mask"
safelist string[]
syntax "unocss"
interfaceResolvedImageGalleryOptionsResolved image gallery transform options.

Resolved image gallery transform options.

Signature

export interface ResolvedImageGalleryOptions

View source

Members

Properties
NameTypeDescription
empty "error" | "warn" | "ignore"
enabled boolean
lazyoptional boolean
missingAlt "error" | "warn" | "ignore"
interfaceResolvedImageOptionsResolved image transform options.

Resolved image transform options.

Signature

export interface ResolvedImageOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
lazy boolean
interfaceResolvedIncludeOptionsResolved Markdown-include transform options.

Resolved Markdown-include transform options.

Signature

export interface ResolvedIncludeOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
rootDiroptional string
typeResolvedJsonLd = false | { breadcrumbs: boolean; publisher?: { name?: string; url?: string }; type?: JsonLdPageType; graph?: Record<string, unknown>[] }Resolved JSON-LD options. false means no <script type="application/ld+json">.

Resolved JSON-LD options. false means no <script type="application/ld+json">.

Signature

export type ResolvedJsonLd = false | { breadcrumbs: boolean; publisher?: { name?: string; url?: string }; type?: JsonLdPageType; graph?: Record<string, unknown>[] }

View source

interfaceResolvedKeyboardKeysOptionsResolved inline keyboard-key transform options.

Resolved inline keyboard-key transform options.

Signature

export interface ResolvedKeyboardKeysOptions

View source

Members

Properties
NameTypeDescription
aliases Record<string, string>
enabled boolean
style "words" | "symbols"
interfaceResolvedMagicLinkOptionsResolved magic-link transform options.

Resolved magic-link transform options.

Signature

export interface ResolvedMagicLinkOptions

View source

Members

Properties
NameTypeDescription
aliases Record<string, MagicLinkAlias>
enabled boolean
favicon boolean
faviconTemplateoptional string
imageOverrides MagicLinkImageOverride[]
interfaceResolvedMarkdownSourceOptionsResolved Markdown source-companion options.

Resolved Markdown source-companion options.

Signature

export interface ResolvedMarkdownSourceOptions

View source

Members

Properties
NameTypeDescription
alternate boolean
copy boolean
enabled boolean
interfaceResolvedMathOptionsResolved math transform options.

Resolved math transform options.

Signature

export interface ResolvedMathOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
fontFormats KatexFontFormats
onError MathErrorPolicy
interfaceResolvedNotByAiOptionsResolved NotByAI authorship-badge options.

Resolved NotByAI authorship-badge options.

Signature

export interface ResolvedNotByAiOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
href string
label string
interfaceResolvedNotFoundOptionsResolved custom 404 options.

Resolved custom 404 options.

Signature

export interface ResolvedNotFoundOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
output string
source string
interfaceResolvedOgImageOptionsResolved OG image options with all defaults applied.

Resolved OG image options with all defaults applied.

Signature

export interface ResolvedOgImageOptions

View source

Members

Properties
NameTypeDescription
cache boolean
concurrency number
height number
renderer OgImageRenderer
satori { fonts: OgImageSatoriFont[]; systemFontFallback: boolean }
templateoptional string
vuePlugin "vitejs" | "vizejs"
width number
interfaceResolvedOpenApiDocsInputResolved local OpenAPI file input.

Resolved local OpenAPI file input.

Signature

export interface ResolvedOpenApiDocsInput

View source

Members

Properties
NameTypeDescription
failOnUnresolvedRefs boolean
nameoptional string
path string
interfaceResolvedOpenApiDocsOptionsResolved generated OpenAPI docs options.

Resolved generated OpenAPI docs options.

Signature

export interface ResolvedOpenApiDocsOptions

View source

Members

Properties
NameTypeDescription
basePathoptional string
src ResolvedOpenApiDocsInput[]
interfaceResolvedOptionsResolved options with all defaults applied.

Resolved options with all defaults applied.

Signature

export interface ResolvedOptions

View source

Members

Properties
NameTypeDescription
abbreviationsoptional ResolvedAbbreviationsOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
attrs ResolvedAttrsOptions
badges ResolvedBadgeOptions
base string
blogoptional ResolvedBlogOptions
budouxoptional ResolvedBudouxOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
cards ResolvedCardOptions
cascadeoptional ResolvedCascadeOptions
citations ResolvedCitationsOptions
cjkEmphasis boolean
codeAnnotations ResolvedCodeAnnotationsOptions
codeBlockLint ResolvedCodeBlockLintOptions
codeBlockTypecheck ResolvedCodeBlockTypecheckOptions
codeGroupsoptional ResolvedCodeGroupOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
codeImports ResolvedCodeImportOptions
collections ResolvedCollectionsOptions
conditionalBlocksoptional ResolvedConditionalBlockOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
containers ResolvedContainerOptions
crossReferences ResolvedCrossReferencesOptions
dataTables ResolvedDataTableOptions
definitionListsoptional ResolvedDefinitionListOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
docs ResolvedDocsOptions | false
docsTests ResolvedDocsTestOptions
editThisPage ResolvedEditThisPageOptions
embeds ResolvedBuiltinEmbedOptions
emojiShortcodes ResolvedEmojiShortcodeOptions
extensions string[]
feedsoptional ResolvedFeedsOptions
fileTree ResolvedFileTreeOptions
footnotes boolean
frontmatter boolean
gfm boolean
graphviz ResolvedGraphvizOptions | false
highlight boolean
i18n ResolvedI18nOptions | false
iconsoptional ResolvedIconsOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
imageGalleriesoptional ResolvedImageGalleryOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
images ResolvedImageOptions
includes ResolvedIncludeOptions
keyboardKeysoptional ResolvedKeyboardKeysOptions
math ResolvedMathOptions
mdxoptional boolean
mermaid boolean
notByAioptional ResolvedNotByAiOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
ogImage boolean
ogImageOptions ResolvedOgImageOptions
ogViewer boolean
outDir string
partialsoptional ResolvedPartialsOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
publishStateoptional ResolvedPublishStateOptions
pwaoptional ResolvedPwaOptions
redirectsoptional ResolvedRedirectsOptions
resourcesoptional ResolvedResourcesOptions
sanitize ResolvedSanitizeOptions
semanticFootnotesoptional boolean
Present after resolveOptions. Omitted in hand-built fixtures means off.
siteMapsoptional ResolvedSiteMapsOptions
srcDir string
ssg ResolvedSsgOptions
steps ResolvedStepsOptions
strikethrough boolean
tables boolean
taskLists boolean
taxonomiesoptional ResolvedTaxonomiesOptions
timelinesoptional ResolvedTimelineOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
toc boolean
tocMaxDepth number
transformers MarkdownTransformer[]
typedHoveroptional ResolvedTypedHoverOptions
Present after resolveOptions. Omitted in hand-built fixtures means off.
versionsoptional ResolvedVersionsOptions
interfaceResolvedPartialsOptionsResolved parameterized-partial transform options.

Resolved parameterized-partial transform options.

Signature

export interface ResolvedPartialsOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
missing "literal" | "error"
root string
rootDiroptional string
interfaceResolvedPermalinksOptionsResolved permalink options.

Resolved permalink options.

Signature

export interface ResolvedPermalinksOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedPublishStateOptionsResolved publish-state options.

Resolved publish-state options.

Signature

export interface ResolvedPublishStateOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
includeDrafts boolean
nowoptional string
interfaceResolvedPwaOptionsResolved PWA options.

Resolved PWA options.

Signature

export interface ResolvedPwaOptions

View source

Members

Properties
NameTypeDescription
backgroundColoroptional string
enabled boolean
nameoptional string
offline boolean
shortNameoptional string
startUrloptional string
themeColoroptional string
interfaceResolvedRedirectsOptionsResolved redirect options.

Resolved redirect options.

Signature

export interface ResolvedRedirectsOptions

View source

Members

Properties
NameTypeDescription
allowExternal boolean
enabled boolean
headers boolean
html boolean
json boolean
map Record<string, string>
provideroptional RedirectProvider
interfaceResolvedResourcesOptionsResolved page-resource options.

Resolved page-resource options.

Signature

export interface ResolvedResourcesOptions

View source

Members

Properties
NameTypeDescription
dedupe boolean
enabled boolean
formats string[]
missing "error" | "warn"
widths number[]
interfaceResolvedSanitizeOptionsResolved sanitize transform options.

Resolved sanitize transform options.

Signature

export interface ResolvedSanitizeOptions

View source

Members

Properties
NameTypeDescription
allowedAttributesoptional string[]
allowedTagsoptional string[]
allowedUrlSchemesoptional string[]
enabled boolean
interfaceResolvedSearchOptionsResolved search options.

Resolved search options.

Signature

export interface ResolvedSearchOptions

View source

Members

Properties
NameTypeDescription
appIdoptional string
enabled boolean
endpointoptional string
fuzzy boolean
hotkey string
indexNameoptional string
limit number
placeholder string
prefix boolean
provideroptional "local" | "hosted"
publicKeyoptional string
searchKeyoptional string
interfaceResolvedSectionIndexOptionsResolved generated section index options.

Resolved generated section index options.

Signature

export interface ResolvedSectionIndexOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
style SectionIndexStyle
interfaceResolvedSiteMapsOptionsResolved crawl-manifest options.

Resolved crawl-manifest options.

Signature

export interface ResolvedSiteMapsOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
llms boolean
robots boolean
interfaceResolvedSsgOptionsResolved SSG options.

Resolved SSG options.

Signature

export interface ResolvedSsgOptions

View source

Members

Properties
NameTypeDescription
a11y ResolvedA11y
bare boolean
blogoptional ResolvedBlogOptions
Present after resolveSsgOptions. Omitted in hand-built fixtures means off.
bodyEndoptional string
bodyStartoptional string
breadcrumbs boolean
clean boolean
contributorsoptional ResolvedContributors
Present after resolveSsgOptions. Omitted in hand-built fixtures means off.
enabled boolean
extension string
generateOgImage boolean
headoptional string
headValidationoptional false | "warn" | "strict"
Present after resolveSsgOptions. Omitted / false means off.
jsonLd ResolvedJsonLd
langoptional string
lastUpdated boolean
localeSwitcher boolean
markdownSourceoptional ResolvedMarkdownSourceOptions
Present after resolveSsgOptions. Omitted in hand-built fixtures means off.
navigationoptional SsgNavigationGroup[]
notFoundoptional ResolvedNotFoundOptions
Present after resolveSsgOptions. Omitted in hand-built fixtures means off.
ogImageoptional string
pageChrome boolean
pagination boolean
readerChrome ResolvedReaderChrome
renderoptional ThemeComponent
routePrefixoptional string
Present after resolveSsgOptions. Omitted / empty means off.
sectionIndexoptional ResolvedSectionIndexOptions
siteNameoptional string
siteUrloptional string
teamoptional ResolvedTeamOptions
Present after resolveSsgOptions. Omitted in hand-built fixtures means off.
themeoptional ResolvedThemeConfig
transformConcurrencyoptional number
interfaceResolvedStepsOptionsResolved step-list transform options.

Resolved step-list transform options.

Signature

export interface ResolvedStepsOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
interfaceResolvedTaxonomiesOptionsResolved taxonomy options.

Resolved taxonomy options.

Signature

export interface ResolvedTaxonomiesOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
relatedLimit number
taxonomies string[]
interfaceResolvedTeamOptionsResolved team page options.

Resolved team page options.

Signature

export interface ResolvedTeamOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
members TeamMember[]
interfaceResolvedTimelineOptionsResolved timeline transform options.

Resolved timeline transform options.

Signature

export interface ResolvedTimelineOptions

View source

Members

Properties
NameTypeDescription
empty "error" | "warn" | "ignore"
enabled boolean
invalidDate "error" | "warn" | "ignore"
ordered boolean
unknownMeta "error" | "warn" | "ignore"
interfaceResolvedTypedHoverOptionsResolved typed-hover options.

Resolved typed-hover options.

Signature

export interface ResolvedTypedHoverOptions

View source

Members

Properties
NameTypeDescription
enabled boolean
languages string[]
tsgoCommandoptional string
interfaceResolvedVersionEntryOne resolved version after prefix and banner sanitization.

One resolved version after prefix and banner sanitization.

Signature

export interface ResolvedVersionEntry

View source

Members

Properties
NameTypeDescription
banner VersionBannerKind | false
diroptional string
id string
label string
prefix string
interfaceResolvedVersionsOptionsResolved documentation versioning.

Resolved documentation versioning.

Signature

export interface ResolvedVersionsOptions

View source

Members

Properties
NameTypeDescription
badge boolean
current string
enabled boolean
entries ResolvedVersionEntry[]
switcher boolean
interfaceResolvedWikiLinkOptionsResolved wiki-link transform options.

Resolved wiki-link transform options.

Signature

export interface ResolvedWikiLinkOptions

View source

Members

Properties
NameTypeDescription
baseUrl string
enabled boolean
interfaceResourcesOptionsOptions for opt-in page-bundle resources and image processing.

Options for opt-in page-bundle resources and image processing.

Signature

export interface ResourcesOptions

View source

Members

Properties
NameTypeDescription
dedupeoptional boolean
Emit identical bytes once as /assets/content/<sha256>.<ext> and
rewrite src, poster, and relevant href to that URL.

Off unless this is true. resources: true and {} leave it off.
Default false
formatsoptional string[]
Allowed output formats for ?format=.

jpg is treated as jpeg. Pixel transforms encode png and jpeg.
webp is copied when the source is already webp and no pixel
transform is requested.
Default ["png", "jpeg", "webp"]
missingoptional "error" | "warn"
What to do when a relative resource is missing.
Default "error"
widthsoptional number[]
Allowed ?width= / ?w= values. An empty list allows any positive
width.
Default []
interfaceReturnDocReturn type documentation.

Return type documentation.

Signature

export interface ReturnDoc

View source

Members

Properties
NameTypeDescription
description string
Prose extracted from @returns / @return documentation.
type string
Rendered TypeScript type text for the return value.
interfaceSanitizeOptionsOptions for sanitizing rendered HTML. Sanitization happens after Markdown is re…

Options for sanitizing rendered HTML.

Sanitization happens after Markdown is rendered to HTML. This makes it useful for user-authored content, but consumers should avoid enabling extra tags or schemes unless the rendered output explicitly requires them.

Signature

export interface SanitizeOptions

View source

Members

Properties
NameTypeDescription
allowedAttributesoptional string[]
Allowed HTML attribute names. Omit to use the built-in safe attribute allow list.

Provide a full replacement list, not a list of additions.
Default undefined
allowedTagsoptional string[]
Allowed HTML tag names. Omit to use the built-in safe tag allow list.

Provide a full replacement list, not a list of additions.
Default undefined
allowedUrlSchemesoptional string[]
Allowed URL schemes for link-like attributes.

Omit to use the built-in safe scheme allow list.
Default undefined
interfaceScopedSearchQueryParsed search query with optional scope prefixes.

Parsed search query with optional scope prefixes.

Signature

export interface ScopedSearchQuery

View source

Members

Properties
NameTypeDescription
scopes string[]
Deduplicated lowercase scope prefixes requested by the query.
text string
Query text after @scope prefixes have been removed.
interfaceSearchDocumentSearch document structure.

Search document structure.

Signature

export interface SearchDocument

View source

Members

Properties
NameTypeDescription
body string
Plain-text body content used for scoring and snippets.
code string[]
Code block text extracted from the document.
headings string[]
Headings extracted from the document.
id string
Stable document identifier used by the search index.
title string
Human-readable document title.
url string
URL returned to search consumers.
interfaceSearchOptionsOptions for full-text search. Search indexes are built from Markdown content at…

Options for full-text search.

Search indexes are built from Markdown content at build time and loaded by the client runtime from search-index.json. Pass false to the top-level search option to disable both index generation and the virtual search module.

Signature

export interface SearchOptions

View source

Members

Properties
NameTypeDescription
appIdoptional string
Hosted search application id.

Required when provider is "hosted". Also read from
OX_CONTENT_SEARCH_APP_ID when omitted here.
enabledoptional boolean
Enable search functionality.

Set this to false when config merging requires an object shape but search
should be disabled.
Default true
endpointoptional string
HTTP endpoint that receives hosted search queries.

Also read from OX_CONTENT_SEARCH_ENDPOINT. Defaults to /search when
hosted credentials are present.
fuzzyoptional boolean
Enable fuzzy typo-tolerant matching.

Fuzzy matching is off by default so large static indexes keep the fastest
exact/prefix path. When enabled, local BM25 also considers near matches
for tokens with at least three characters.
Default false
hotkeyoptional string
Keyboard shortcut to focus search (without modifier).

Use an empty string to let the UI opt out of registering a shortcut.
Default '/'
indexNameoptional string
Hosted search index name.

Required when provider is "hosted". Also read from
OX_CONTENT_SEARCH_INDEX_NAME when omitted here.
limitoptional number
Maximum number of search results.

This controls client-side result truncation, not the number of documents in
the generated index.
Default 10
placeholderoptional string
Placeholder text for the search input.

This value is embedded in the virtual search module for UI consumers.
Default 'Search documentation...'
prefixoptional boolean
Enable prefix matching for autocomplete.

Prefix matching applies to the final query token, which keeps normal terms
precise while still supporting typeahead-style interactions.
Default true
provideroptional "local" | "hosted"
Search backend used by virtual:ox-content/search.

"local" (the default) keeps the static BM25 search-index.json client.
"hosted" sends queries to a remote index with a public search-only key.
Hosted search is used only when this is set to "hosted".
Default 'local'
publicKeyoptional string
Alias for searchKey.

Also read from OX_CONTENT_SEARCH_PUBLIC_KEY when omitted here.
searchKeyoptional string
Public search-only key for the hosted provider.

Write and admin keys are rejected. Also read from OX_CONTENT_SEARCH_KEY
when omitted here.
interfaceSearchResultSearch result structure.

Search result structure.

Signature

export interface SearchResult

View source

Members

Properties
NameTypeDescription
id string
Matching document identifier.
matches string[]
Query terms that matched the document.
scopesoptional string[]
Hierarchical scopes derived from the result URL or document id.
score number
Relevance score returned by the BM25 search engine.
snippet string
Context snippet with highlighted terms when available.
title string
Matching document title.
url string
URL to open when the result is selected.
interfaceSectionIndexOptionsOpt-in generated section index pages.

Opt-in generated section index pages.

Signature

export interface SectionIndexOptions

View source

Members

Properties
NameTypeDescription
styleoptional SectionIndexStyle
How children are rendered. cards is the default when the feature is on.
Default "cards"
typeSectionIndexStyle = "list" | "cards"Listing style for a generated section index.

Listing style for a generated section index.

Signature

export type SectionIndexStyle = "list" | "cards"

View source

interfaceSiteMapsOptionsOpt-in crawl manifests written during SSG.

Opt-in crawl manifests written during SSG.

Signature

export interface SiteMapsOptions

View source

Members

Properties
NameTypeDescription
llmsoptional boolean
Write llms.txt with the site title, description, and page URLs.
Default true
robotsoptional boolean
Write robots.txt with a Sitemap line.
Default true
interfaceSsgNavigationGroupNavigation group for SSG sidebar rendering.

Navigation group for SSG sidebar rendering.

Signature

export interface SsgNavigationGroup

View source

Members

Properties
NameTypeDescription
items SsgNavigationItem[]
Navigation items within this group
title string
Group heading
interfaceSsgNavigationItemNavigation item for SSG sidebar rendering.

Navigation item for SSG sidebar rendering.

Signature

export interface SsgNavigationItem

View source

Members

Properties
NameTypeDescription
hrefoptional string
Final href used in the rendered HTML.
When omitted for internal links, ox-content derives it from path.
pathoptional string
Route path used for active-state matching.
Internal links should use site-relative paths such as /getting-started.
title string
Display title
interfaceSsgOptionsStatic Site Generation options. These options control the HTML files emitted at…

Static Site Generation options.

These options control the HTML files emitted at build time and the matching dev-server preview behavior. Pass false to the top-level ssg option to disable the whole SSG pipeline, or pass an object to customize the defaults.

Signature

export interface SsgOptions

View source

Members

Properties
NameTypeDescription
a11yoptional boolean | A11yOptions
Opt-in skip link and print styles.

Disabled when omitted or false. true enables the default skip link
and print CSS. An object enables the feature and can override the label.
Default false
bareoptional boolean
Emit bare HTML with only the rendered Markdown body.

This skips the default navigation, layout shell, and theme styles. It is
mainly useful for benchmarking, fixture generation, or projects that wrap
the output in their own shell.
Default false
blogoptional boolean | BlogOptions
Opt-in blog index, authors, tags, reading time, and archive.

Off by default. true enables defaults. An object enables the feature
and overrides only the fields you set. Top-level blog wins when both
are set.
Default false
bodyEndoptional string
Raw markup inserted directly before </body>.

Bare mode only. Use it for a site footer, or scripts you inject yourself.
Default undefined
bodyStartoptional string
Raw markup inserted directly after <body>.

Bare mode only. Use it for a site header that wraps the rendered page.
Default undefined
breadcrumbsoptional boolean | Record<string, unknown>
Show a breadcrumb trail from the site root through sidebar ancestors.

Disabled when omitted or false. true enables the default trail.
An object also enables the feature. Frontmatter breadcrumbs: false
hides the trail on that page.
Default false
cleanoptional boolean
Remove previously generated files from the output directory before writing
the new SSG result.

Leave this disabled when the output directory also contains assets produced
by other Vite plugins or external build steps.
Default false
contributorsoptional boolean | ContributorsOptions
List unique git authors for each page.

Off by default. true enables names only. An object enables the
feature and can set ignore and avatars. Missing .git (for
example a published tarball) yields an empty list and does not
fail the build.
Default false
enabledoptional boolean
Enable the SSG pipeline.

Keep this enabled when ox-content owns page rendering. Disable it only when
another framework integration will consume the Markdown modules directly.
Default true
extensionoptional string
File extension used for generated routes.

The value should include the leading dot. For example, .html emits
guide.html, while an empty string can be used by custom deployments that
map extensionless output themselves.
Default '.html'
generateOgImageoptional boolean
Generate one Open Graph image per page.

Generated images are written alongside the SSG output and referenced from
each page's metadata. Configure rendering details with the top-level
ogImageOptions option.

Under bare, the images are still written but nothing references them,
because bare output has no <head> to put the <meta> tags in — inject
them from your own shell.
Default false
headoptional string
Raw markup appended to <head>.

Bare mode only — themed pages own their head. Use it for the stylesheet
your own build emits, or any tag the plugin does not generate.
Default undefined
headValidationoptional false | "warn" | "strict"
Validate custom page-head descriptors during SSG.

false / omitted drops invalid values silently. warn logs them.
strict fails the build on unsafe URLs or invalid hreflang.
Default false
jsonLdoptional boolean | JsonLdOptions
Emit JSON-LD structured data (TechArticle, WebSite, and optional
BreadcrumbList) in the page <head>.

Disabled when omitted or false. true enables the defaults. An object
enables the feature and can hide BreadcrumbList or supply a publisher.
Publisher fields the site does not set are not invented.
Default false
langoptional string
lang attribute for the generated <html> element.

Bare mode uses this verbatim; themed pages derive it from i18n instead.
Default "en"
lastUpdatedoptional boolean
Add each page's last git commit timestamp to the default theme.
Default false
localeSwitcheroptional boolean | Record<string, unknown>
Show a header locale switcher in the default theme.

Disabled when omitted or false, even if i18n.locales is set.
true or an object enables the control when available locales are
non-empty. Links use the sibling page when it exists, otherwise the
locale root (/{locale}/ or a configured root).
Default false
markdownSourceoptional boolean | MarkdownSourceOptions
Publish the original Markdown beside each generated HTML page.

Off by default. true writes a .md companion using the published URL
(permalink, locale, base, and output directory) and adds
<link rel="alternate" type="text/markdown">. An object enables the
feature and can turn the alternate link off, or opt in to the default
theme's Copy as Markdown control.

The companion is a byte-for-byte copy of the source file, including
frontmatter. Draft and unlisted pages are never written.
Default false
navigationoptional SsgNavigationGroup[]
Sidebar navigation override.

When omitted, ox-content derives navigation from the Markdown file tree.
Provide this when migrating from systems such as VitePress where navigation
is intentionally hand-authored.
Default undefined
notFoundoptional boolean | NotFoundOptions
Write a themed 404 page during SSG.

Off by default. true reads 404.md from srcDir and writes 404.html.
An object enables the feature and overrides only the fields you set.
When the source file is missing, a built-in "Page not found" page is
written instead. The page is omitted from the search index and sitemap.
Default false
ogImageoptional string
Static Open Graph image URL used for social sharing.

When generateOgImage is enabled, this value is still useful as a fallback
for pages that cannot produce a generated image.
Default undefined
pageChromeoptional boolean | Record<string, unknown>
Honor per-page frontmatter chrome flags (sidebar, outline / aside,
footer, navbar, lastUpdated, editLink).

Disabled when omitted or false. true or {} enables the defaults:
omitted flags keep current chrome, and false hides that region.
Default false
paginationoptional boolean | Record<string, unknown>
Show previous/next page links after the article.

Disabled when omitted or false. true enables the default pager.
An object also enables the feature.
Default false
readerChromeoptional boolean | ReaderChromeOptions
Opt-in copy buttons, outbound-link icons, and a back-to-top control.

Disabled when omitted or false. true enables all three with defaults.
An object enables the feature and can turn one control off, for example
{ copy: false }. Bare pages and ssg.render custom themes can use the
same copy and outbound-link transform without adopting the built-in theme.
Default false
renderoptional ThemeComponent
Render each page with a JSX theme component instead of the built-in
renderer.

The component owns the whole document, so theme, bare and the head
metadata options do not apply — everything from <html> down is yours.
ssg.readerChrome, when enabled, still post-processes the rendered
document so custom themes share the built-in code-copy and outbound-link
implementation. Compose one per layout with createTheme(), and read the
current page through usePageProps() / useSiteConfig().

``ts
ssg: { render: createTheme({ layouts: { default: DefaultLayout } }) }
``
Default undefined
routePrefixoptional string
Mount generated page routes under this path, independent from base and
outDir.

blog, /blog, and /blog/ all mount under /blog. Page HTML and
page-level assets follow the prefix. Root host files (_redirects,
_headers, root feeds, sitemap index) stay at outDir. base remains
the public deployment prefix and is not used as an output mount.
Frontmatter permalink still wins when permalinks are enabled.

Off when omitted.
Default undefined
sectionIndexoptional boolean | SectionIndexOptions
Generate a static index for directories that have child pages but no
index.md / index.mdx.

Off by default. true enables card listings. An object enables the
feature and can switch the listing to list. Existing content indexes
are never overwritten.
Default false
siteNameoptional string
Site name shown in the default theme header and title suffix.

When omitted, the renderer falls back to project metadata where available.
Default undefined
siteUrloptional string
Absolute site URL used when generating social metadata.

Set this when pages need absolute Open Graph image URLs. Include the origin
and any deployment base path, without a trailing page path.
Default undefined
teamoptional boolean | TeamOptions
Render a static members card grid on pages with layout: team.

Off by default. true enables an empty list. An object enables the
feature and supplies members. When the option is off, layout: team
is ignored and the page stays ordinary.
Default false
themeoptional ThemeConfig | ThemeConfig[]
Theme configuration for generated pages.

Use defineTheme() to build this object so custom theme modules and the
default theme extension points keep their expected shape.

An array composes layers left to right, which is how a skin package and a
color package are combined:

``ts
theme: [pixelSkin, tokyoNight, { footer: { copyright: "2026" } }]
``
Default defaultTheme
transformConcurrencyoptional number
Maximum number of Markdown pages transformed at once during SSG.

This overlaps independent page work such as build-time embed fetches while
keeping network, memory, and file descriptor use bounded. Page rendering
and writes still run through the deterministic output stages.
Default 1
interfaceSsgOutputPageInputOne host-owned page for composable SSG outputs (ssg: false). The host renders H…

One host-owned page for composable SSG outputs (ssg: false).

The host renders HTML. Ox Content plans and emits resources, Markdown companions, feeds, and sitemap metadata from these fields.

Signature

export interface SsgOutputPageInput

View source

Members

Properties
NameTypeDescription
descriptionoptional string
draftoptional boolean
frontmatteroptional Record<string, unknown>
htmloptional string
Host-rendered HTML. Required for resource fingerprinting.
inputPath string
Source file used for git lastmod and companion identity.
lastUpdatedoptional number
Git commit time in milliseconds, or a host-supplied timestamp.
locoptional string
Absolute page URL. When omitted, siteUrl + base + urlPath is used.
outputPathoptional string
Filesystem path of the host-rendered HTML page.
sourceoptional string
Already-read Markdown source bytes for companions.
titleoptional string
unlistedoptional boolean
urlPath string
Published URL path (guide or /).
interfaceStepsOptionsOptions for opt-in ::: steps ordered lists.

Options for opt-in ::: steps ordered lists.

Signature

export interface StepsOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable the steps transform when an options object is supplied.
Default true
interfaceTaxonomiesOptionsOpt-in term list pages, per-term pages, and related-page lists.

Opt-in term list pages, per-term pages, and related-page lists.

Signature

export interface TaxonomiesOptions

View source

Members

Properties
NameTypeDescription
relatedLimitoptional number
Maximum related pages injected into a source page.
Default 5
taxonomiesoptional string[]
Frontmatter keys (and URL prefixes) to read terms from.
Default ["tags", "categories"]
interfaceTeamLinkOne link on a team member card.

One link on a team member card.

Signature

export interface TeamLink

View source

Members

Properties
NameTypeDescription
interfaceTeamMemberOne person on the team page.

One person on the team page.

Signature

export interface TeamMember

View source

Members

Properties
NameTypeDescription
avataroptional string
Avatar URL. Only https: or a site-relative / path is emitted.
name string
Display name. Escaped in HTML.
roleoptional string
Optional role or title. Escaped in HTML.
interfaceThrowsDocException/error documentation.

Exception/error documentation.

Signature

export interface ThrowsDoc

View source

Members

Properties
NameTypeDescription
description string
Prose extracted from @throws / @exception documentation.
typeoptional string
Rendered TypeScript type text for the thrown value, when documented.
interfaceTimelineOptionsOptions for opt-in static timelines.

Options for opt-in static timelines.

Signature

export interface TimelineOptions

View source

Members

Properties
NameTypeDescription
emptyoptional "error" | "warn" | "ignore"
Diagnostics for timeline blocks without items.
Default "error"
enabledoptional boolean
Enable ::: timeline blocks.
Default true when the options object is supplied.
invalidDateoptional "error" | "warn" | "ignore"
Diagnostics for malformed YYYY, YYYY-MM, or YYYY-MM-DD item dates.
Default "error"
orderedoptional boolean
Render timelines as ordered lists unless a block overrides it.
Default true
unknownMetaoptional "error" | "warn" | "ignore"
Diagnostics for unsupported item metadata.
Default "error"
interfaceTocEntryTable of contents entry.

Table of contents entry.

Signature

export interface TocEntry

View source

Members

Properties
NameTypeDescription
children TocEntry[]
Child entries.
depth number
Heading depth (1-6).
slug string
Slug/ID for linking.
text string
Heading text.
interfaceTransformContextTransform context passed to transformers.

Transform context passed to transformers.

Signature

export interface TransformContext

View source

Members

Properties
NameTypeDescription
filePath string
File path being processed.
frontmatter Record<string, unknown>
Frontmatter data.
options ResolvedOptions
Resolved plugin options.
interfaceTransformResultTransform result.

Transform result.

Signature

export interface TransformResult

View source

Members

Properties
NameTypeDescription
bibliography BibliographyEntry[]
Bibliography entries used by this document.
citations CitationReference[]
Citation references collected during the Markdown transform.
code string
Generated JavaScript code.
components string[]
Unique JSX component names in document order (empty when none).
crossReferences CrossReferenceEntry[]
Labeled cross-reference targets collected during the Markdown transform.
exports string[]
Export names from MDX ESM (empty when MDX is off or no exports).
frontmatter Record<string, unknown>
Parsed frontmatter.
html string
Rendered HTML.
imports MdxImport[]
MDX import statements (empty when MDX is off or no ESM nodes).
mapoptional null
Source map (null means no source map).
toc TocEntry[]
Table of contents.
interfaceTypedHoverOptionsOptions for opt-in typed hover overlays on TypeScript fences. Hover strings are…

Options for opt-in typed hover overlays on TypeScript fences.

Hover strings are computed at build time with the same TypeScript compiler family used by codeBlockTypecheck (tsgo / typescript). The browser only receives JSON payloads and a tiny overlay script.

Signature

export interface TypedHoverOptions

View source

Members

Properties
NameTypeDescription
enabledoptional boolean
Enable typed hover overlays.
Default true when the object form is used
languagesoptional string[]
Fence languages that can receive hover payloads.

Language names are compared case-insensitively.
Default ['ts', 'tsx']
tsgoCommandoptional string
Path to the tsgo binary used to compute hover types.

When omitted, the bundled @typescript/native-preview executable is used.
moduletypesType definitions for @ox-content/vite-plugin

Type definitions for @ox-content/vite-plugin

View source

typeVersionBannerKind = "unreleased" | "unmaintained"Banner shown on pages that belong to one documented version.

Banner shown on pages that belong to one documented version.

Signature

export type VersionBannerKind = "unreleased" | "unmaintained"

View source

interfaceVersionEntryOne published or snapshot version of a docs tree.

One published or snapshot version of a docs tree.

Signature

export interface VersionEntry

View source

Members

Properties
NameTypeDescription
banneroptional VersionBannerKind | false
Optional status banner for pages in this version.
diroptional string
Snapshot directory relative to the Vite root. Omitted entries use the
live srcDir and are not copied. Historical dirs are read-only.
id string
Stable id used as versions.current.
label string
Header label. Escaped before it is rendered.
prefix string
URL prefix without slashes ("2.90", "next"). Empty string is the
site root.
interfaceVersionsOptionsOpt-in documentation versioning. Off by default. true enables a single current…

Opt-in documentation versioning.

Off by default. true enables a single current entry. An object enables the feature and overrides only the fields you set.

Signature

export interface VersionsOptions

View source

Members

Properties
NameTypeDescription
badgeoptional boolean
Show unreleased / unmaintained badges in the dropdown. @default true
currentoptional string
Id of the live tree being built from srcDir.
entriesoptional VersionEntry[]
Declared versions. Historical snapshots must set dir.
switcheroptional boolean
Render the header version dropdown. @default true
interfaceWikiLinkOptionsOptions for expanding Obsidian-style wiki links. The transform accepts [target]…

Options for expanding Obsidian-style wiki links.

The transform accepts [[target]] and [[target|label]] syntax and rewrites it to regular links before rendering. It is intentionally small: path resolution is based on the configured base URL rather than a full backlink graph.

Signature

export interface WikiLinkOptions

View source

Members

Properties
NameTypeDescription
baseUrloptional string
Base URL prepended to resolved wiki-link targets.

When omitted, the top-level base option is used.
Default options.base