Renderflow¶
Renderflow is a spec-driven rendering engine for turning a single source document into repeatable outputs such as HTML, PDF, DOCX, audio, and images. It combines a YAML configuration file, an in-memory transform pipeline, and a DAG-based planner for graph-driven conversions.
Note
Use the version selector in the site header to switch between the latest published docs and tagged release snapshots.
Why Renderflow?¶
- One YAML spec describes inputs, variables, templates, outputs, optimization mode, and optional transform graph files.
- Multi-format output supports standard document rendering plus FFmpeg-backed audio and image pipelines.
- Graph-aware planning can resolve
source -> ... -> targetpaths, reuse intermediates, and execute independent waves in parallel. - Built-in transforms normalize code fences, substitute variables, and handle emoji safely for non-HTML targets.
- Extensibility comes from YAML-defined command transforms, AI transforms, and a runtime plugin API.
- Fast rebuilds use content hashes, dependency tracking, and watch mode.
Tip
Use standard renderflow build when you already know your output list, and use renderflow build --target ... or renderflow build --all when you want graph-based path resolution from a transform YAML file.
Quick start in 30 seconds¶
- Install Renderflow.
- Create
input.md. - Create
renderflow.yaml. - Run
renderflow build. - Open the generated file from
dist/.
input: input.md
output_dir: dist
outputs:
- type: html
Core capabilities¶
Standard build pipeline¶
For document builds, Renderflow runs a two-phase pipeline:
- Transform phase: emoji handling, variable substitution, syntax-highlight normalization, then any optional YAML-defined transforms.
- Render phase: output-specific strategy execution for HTML, PDF, DOCX, audio, or image outputs.
Graph pipeline¶
When a config includes transforms: path/to/transforms.yaml, Renderflow can build a transformation graph where formats are nodes and transforms are weighted edges. The planner can then:
- find reachable targets,
- pick paths according to
speed,quality,balanced, orpareto, - merge shared intermediates into a single DAG,
- execute waves in parallel with Rayon.
AI and plugins¶
- AI transforms support
ollamaandopenaibackends, prompt templates, cache files, artifact output, and API key resolution via environment variables. - Plugins are runtime extensions that implement the
PluginExecutortrait and register metadata/capabilities in aPluginRegistry.