docs.rs failed to build quillmark-0.32.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
quillmark-0.6.6
Quillmark
A template-first Markdown rendering system that converts Markdown with YAML frontmatter into PDF, SVG, and other output formats.
Maintained by tonguetoquill.com.
UNDER DEVELOPMENT
Features
- Template-first design: Quill templates control structure and styling, Markdown provides content
- Version management: Two-segment versioning (
MAJOR.MINOR) for reproducible rendering with flexible version selectors - YAML metadata: Extended YAML support for inline metadata blocks
- 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
Documentation
- User Guide - Tutorials, concepts, and language bindings
- Rust API Reference - for the Quillmark crate
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 with version specification
let markdown = "---\nQUILL: resume_template@2.1\ntitle: Example\n---\n\n# Hello World";
let parsed = from_markdown?;
// Load workflow (resolves version from document)
let workflow = engine.workflow?;
// Or specify version directly: engine.workflow("resume_template@2")?;
let result = workflow.render?;
// Access the generated PDF
let pdf_bytes = &result.artifacts.bytes;
Version Management
Quillmark supports two-segment versioning for templates, enabling reproducible rendering:
---
QUILL: "template@2.1" # Pin to exact version
QUILL: "template@2" # Latest 2.x version
QUILL: "template@latest" # Latest overall
QUILL: "template" # Latest overall (default)
---
Templates specify versions in Quill.yaml:
Quill:
name: resume_template
version: "2.1"
backend: typst
Multiple versions of the same template can coexist in the engine. See VERSIONING.md for details.
Examples
Run the included examples:
Documentation
Project Structure
This workspace contains:
- crates/core - Core parsing, templating, and backend traits
- crates/quillmark - High-level orchestration API
- crates/backends/typst - Typst backend for PDF/SVG output
- crates/backends/acroform - AcroForm backend for PDF form filling
- crates/bindings/python - Python bindings (PyO3)
- crates/bindings/wasm - WebAssembly bindings
- crates/bindings/cli - Command-line interface
- crates/fixtures - Test fixtures and utilities
- crates/fuzz - Fuzz testing suite
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.