Modules
Turns the documentation an Elixir project already has into plain JSON.
Reads and writes the versioned JSON envelope every artifact is wrapped in.
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.
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.
A document that links to another, for rendering "referenced by" panels.
Port implemented by graph-backed hosts to produce DocShell presentation data.
One node in the documentation navigation tree.
One searchable document, flattened to plain text.
Producer contract for source-independent documentation presentation data.
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.
Mix Tasks
Builds the documentation artifact tree for the current project.