zorto_core/lib.rs
1//! Zorto core — the library powering the zorto static site generator.
2//!
3//! # Overview
4//!
5//! Zorto builds static websites from Markdown content with TOML frontmatter,
6//! Tera templates, and optional SCSS compilation. Its distinguishing feature is
7//! *executable code blocks*: fenced blocks marked `{python}`, `{bash}`, or
8//! `{sh}` are executed at build time and their output is rendered inline.
9//!
10//! # Library usage
11//!
12//! The primary entry point for programmatic use is [`site::Site`]:
13//!
14//! ```no_run
15//! use std::path::Path;
16//! use zorto_core::site::Site;
17//!
18//! let root = Path::new("my-site");
19//! let output = root.join("public");
20//! let mut site = Site::load(root, &output, false)?;
21//! site.build()?;
22//! # Ok::<(), anyhow::Error>(())
23//! ```
24
25pub mod cache;
26pub mod config;
27pub mod content;
28pub mod markdown;
29pub mod site;
30pub mod themes;
31
32pub(crate) mod execute;
33pub(crate) mod links;
34pub mod lint;
35pub(crate) mod sass;
36#[cfg(feature = "search")]
37pub mod search;
38pub mod shortcodes;
39pub(crate) mod templates;