Expand description
§Quillmark Core Overview
Core types and functionality for the Quillmark template-first Markdown rendering system.
§Features
This crate provides the foundational types and traits for Quillmark:
- Parsing: YAML frontmatter extraction with Extended YAML Metadata Standard support
- Templating: MiniJinja-based template composition with stable filter API
- Template model:
Quilltype for managing template bundles with in-memory file system - Backend trait: Extensible interface for implementing output format backends
- Error handling: Structured diagnostics with source location tracking
- Utilities: TOML⇄YAML conversion helpers
§Quick Start
use quillmark_core::{decompose, Quill};
// Parse markdown with frontmatter
let markdown = "---\ntitle: Example\n---\n\n# Content";
let doc = decompose(markdown).unwrap();
// Load a quill template
let quill = Quill::from_path("path/to/quill").unwrap();§Architecture
The crate is organized into modules:
parse: Markdown parsing with YAML frontmatter supporttemplating: Template composition using MiniJinjabackend: Backend trait for output format implementationserror: Structured error handling and diagnosticstypes: Core rendering types (OutputFormat, Artifact, RenderOptions)quill: Quill template bundle and related types
§Further Reading
Re-exports§
pub use parse::decompose;pub use parse::ParsedDocument;pub use parse::BODY_FIELD;pub use templating::Glue;pub use templating::TemplateError;pub use backend::Backend;pub use error::Diagnostic;pub use error::Location;pub use error::ParseError;pub use error::RenderError;pub use error::RenderResult;pub use error::Severity;pub use types::Artifact;pub use types::OutputFormat;pub use types::RenderOptions;pub use quill::FieldSchema;pub use quill::FileTreeNode;pub use quill::Quill;pub use quill::QuillIgnore;pub use value::QuillValue;