Skip to content
Ferromark

Ferromark / Shared reference

Content Pipeline Concepts

A content pipeline turns source files into pages. Ferromark supplies Markdown parsing, document structure, and HTML rendering. The surrounding application owns storage, metadata deserialization, templates, routing, CSS, and deployment.

Metadata belongs to your application

Front matter is raw YAML- or TOML-style text. Extract it before rendering, then validate it with the schema your application uses. Heading text and IDs support navigation; match the renderer's slug rules, explicit IDs, and duplicate suffixes. Applications should place navigation outside the Markdown body through the outline extension.

Keep presentation explicit

Table and column classes let CSS control layout. Code-rendering hooks let a highlighter supply escaped HTML. Translation stays outside the parser. Decide which input is trusted before selecting the HTML policy.

Select the API for the output

Rust pipelines cover owned HTML, append helpers, arena ASTs, and allocator lifetimes. Node.js pipelines cover strings, Buffers, metadata, and reusable renderers. Both support optional front-matter extraction; their API names and defaults differ.

Rust applications that need to change a parsed document can opt into ordered passes over the arena AST. This Rust extension is not exposed by the current Node.js bindings.

For link checks, search indexing, or static Markdown export, reuse a parsed document through the document analysis APIs. Reference collection, text extraction, and Markdown projection run only on request; they keep the document available for later rendering. The guide covers both runtimes, source ranges, native pass tracking, and omitted dynamic content.

For deployment under a subpath, configure site routing explicitly. Check links, images, and raw HTML URLs on representative pages. See rendering and trust and configuration.