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::{ParsedDocument, Quill};
// Parse markdown with frontmatter
let markdown = "---\ntitle: Example\n---\n\n# Content";
let doc = ParsedDocument::from_markdown(markdown);
// 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::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::SerializableDiagnostic;pub use error::Severity;pub use types::Artifact;pub use types::OutputFormat;pub use types::RenderOptions;pub use quill::FileTreeNode;pub use quill::Quill;pub use quill::QuillIgnore;pub use value::QuillValue;
Modules§
- backend
- Backend Trait
- error
- Error Handling
- parse
- Parsing Module
- quill
- Quill template bundle types and implementations.
- schema
- Schema validation and utilities for Quillmark.
- templating
- Templating Module
- types
- Core types for rendering and output formats.
- value
- Value type for unified representation of TOML/YAML/JSON values.