Quillmark
A template-first Markdown rendering system that converts Markdown with YAML frontmatter into PDF, SVG, and other output formats.
UNDER DEVELOPMENT
Features
- Template-first design: Quill templates control structure and styling, Markdown provides content
- YAML frontmatter support: Extended YAML metadata with inline sections
- Multiple backends:
- PDF and SVG output via Typst backend
- PDF form filling via AcroForm backend
- Structured error handling: Clear diagnostics with source locations
- Dynamic asset loading: Fonts, images, and packages resolved at runtime
Installation
Add Quillmark to your Cargo.toml:
Quick Start
use ;
use Quill;
// Create engine with Typst backend
let mut engine = new;
// Load a quill template
let quill = from_path?;
engine.register_quill;
// Parse markdown once
let markdown = "---\ntitle: Example\n---\n\n# Hello World";
let parsed = from_markdown?;
// Load workflow and render to PDF
let workflow = engine.workflow_from_quill_name?;
let result = workflow.render?;
// Access the generated PDF
let pdf_bytes = &result.artifacts.bytes;
Examples
Run the included examples:
Documentation
Project Structure
This workspace contains:
- quillmark-core - Core parsing, templating, and backend traits
- quillmark - High-level orchestration API
- quillmark-typst - Typst backend for PDF/SVG output
- quillmark-acroform - AcroForm backend for PDF form filling
- quillmark-fixtures - Test fixtures and utilities
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.