Crate quillmark_core

Crate quillmark_core 

Source
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: Quill type 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 support
  • templating: Template composition using MiniJinja
  • backend: Backend trait for output format implementations
  • error: Structured error handling and diagnostics
  • types: 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::RenderError;
pub use error::RenderResult;
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;

Modules§

backend
Backend Trait
error
Error Handling
parse
Parsing Module
quill
Quill template bundle types and implementations.
templating
Templating Module
types
Core types for rendering and output formats.