Modules
Turns the documentation an Elixir project already has into plain JSON.
Reads and writes the versioned JSON envelope every artifact is wrapped in.
Stages a batch of JSON files before replacing any published artifact.
Parses Markdown into the recursive, JSON-safe node shape renderers consume.
Runs every extractor and writes the complete artifact tree to disk.
Resolves build settings from per-call options, host config, and defaults.
Extracts the host's changelog or release notes into renderer-neutral release entries.
Source adapter contract for changelog or release-note entries.
Default changelog source that reads conventional release notes from Markdown.
Binds an ordered set of loaded collections to one site profile.
Describes, writes, and validates a portable documentation corpus.
Reads a manifested collection tree with bounded, path-checked filesystem I/O.
Validates caller-owned collection identity independently of corpus I/O.
Finite admission budgets for loading existing collection artifacts.
Admits source records and verifies their relationship to a collection's content.
The two behaviours every extractor shares, in one place.
Extracts documentation from compiled modules through the BEAM docs chunk.
Extracts hand-written Markdown guides, with optional YAML frontmatter.
Indexes Livebook notebooks so they appear in navigation and search.
Loads an OpenAPI document through a pluggable adapter, and sanity-checks it.
The one callback a source of OpenAPI documents has to implement.
Derives the OpenAPI document from Ash domains, via AshOaskit.
Reuses an existing OpenApiSpex spec module.
Takes the OpenAPI document as it is — from a map or a JSON file on disk.
Coerces arbitrary Elixir terms into something JSON can represent.
Computes reproducible JSON bytes and content digests at serialization boundaries.
Describes one local asset produced by a renderer or search adapter.
A document that links to another, for rendering "referenced by" panels.
Represents one item in a page's navigation ancestry.
Shared fixtures and semantic snapshots for independent site renderers.
Captures renderer-observed semantics for one exact site generation.
Port implemented by graph-backed hosts to produce DocShell presentation data.
Identifies a heading after deterministic anchor projection.
Finite resource ceilings for site projection and static export.
Carries a resolved link used by previous/next navigation and direct actions.
One node in the documentation navigation tree.
Holds the complete renderer-neutral record for one documentation page.
Checks identity and reference consistency after presentation shape validation.
Defines the boundary between a portable site and a concrete renderer.
Declares a renderer's portable identity and supported feature states.
Describes the states a renderer can provide for one feature.
States what a page needs from a renderer for one portable feature.
Carries inert site context into one renderer call.
Build-time adapter for a validated, renderer-neutral search corpus.
Deterministic JSON search adapter and reference query implementation.
Returns local index assets together with their browser query contract.
One searchable document, flattened to plain text.
Contains one validated doc-shell-site/v1 generation.
Turns validated documentation collections into a renderer-neutral site.
Represents one page or heading in the portable site search corpus.
Defines the host-owned policy input to site projection.
Supplies a deterministic flat site policy for zero-configuration consumers.
Producer contract for source-independent documentation presentation data.
Builds and atomically publishes a complete static documentation site.
Builds navigation, search, and content indexes from extracted entries.
Holds validated artifacts in ETS so serving them never touches disk.
Serves artifacts from a controller action you already own.
Serves cached artifacts over HTTP, behind an authorization gate you supply.
Sends an immutable cached JSON representation with HTTP validators.
Mix Tasks
Builds the documentation artifact tree for the current project.