Skip to content

l0.MoonCats.DocRenderer

MoonCatsDocRenderer = require "l0.MoonCats.DocRenderer"
local MoonCatsDocRenderer = require("l0.MoonCats.DocRenderer")

MoonCatsDocRenderer

Renders API documentation pages from parsed module IRs.

Instance methods

render

moonCatsDocRenderer\render irs, packageSymbols, opts
moonCatsDocRenderer:render(irs, packageSymbols, opts)

Renders one documentation page per module, plus an index page and site scaffolding.

param type description
irs MoonCatsModuleIR[] The run's parsed module IRs.
packageSymbols? MoonCatsPackageSymbols Cross-module symbol context from the parse pass.
opts? MoonCatsDocOptions

Returns:

Types

MoonCatsDocOptions

Options controlling a documentation render.

field type description
includePrivate? boolean Render private members with a badge instead of omitting them (default false).
siteName? string Site title used by the index page and scaffolding (default "API Documentation").
site? string Scaffold flavor to emit: "mkdocs" (default), "mdbook", or "none".
packages? table<string, {name: string, description?: string, version?: string, modules: string[]}> Feed package info keyed by namespace, used to group the index page.

MoonCatsDocPage

One rendered documentation file.

field type description
path string File path relative to the output root; module and index pages live under docs/.
title string
text string The page's markdown.

MoonCatsDocResult

The outcome of a documentation render.

field type description
pages MoonCatsDocPage[] One page per module, sorted by require identifier.
indexPage MoonCatsDocPage
scaffold MoonCatsDocPage[] Site-generator scaffolding files; empty for site "none".