Expand description
§markplus_render
Renderer for the MarkPlus ecosystem. Consumes a markplus_core::json::SiteAsset
(schema + meta + AST) and produces:
- HTML — via Tera template (
*.html.tera) - Typst source — via Tera template (
*.typ.tera); compile withtypst compile - PDF bytes — Typst source compiled in-process:
- Native:
typst-as-lib+ system font discovery - Wasm (
--features wasm): embeddedWasmWorld+ Liberation fonts (~30 MB bundle)
- Native:
§Quick start
ⓘ
use markplus_core::parse_document;
use markplus_render::{RenderEngine, RenderError};
let asset = parse_document("# Hello\n\nWorld.")?;
let engine = RenderEngine::builder().build()?;
let html = engine.render_html(&asset, "default/article.html.tera")?;
let typ_src = engine.render_typst_string(&asset, "default/article.typ.tera")?;
let pdf_bytes = engine.compile_pdf(&typ_src)?;Re-exports§
pub use context::ast_to_template_context;pub use engine::RenderEngine;pub use engine::RenderEngineBuilder;pub use error::RenderError;
Modules§
- context
- Converts a
markplus_core::json::SiteAssetinto a template-friendlyserde_json::Valuethat Tera templates can consume directly. - engine
- Tera-based render engine for MarkPlus.
- error
- Error type for
markplus_render. - filters
- Custom Tera filters for MarkPlus templates.
- render
- Core rendering methods on
RenderEngine.