liquid/lib.rs
1//! The Liquid templating language for Rust
2//!
3//! __[liquidmarkup.org](http://liquidmarkup.org/)__
4//!
5//! ```console
6//! $ cargo add liquid
7//! ```
8//!
9//! ## Example
10//! ```rust
11//! let template = liquid::ParserBuilder::with_stdlib()
12//! .build().unwrap()
13//! .parse("Liquid! {{num | minus: 2}}").unwrap();
14//!
15//! let globals = liquid::object!({
16//! "num": 4f64
17//! });
18//!
19//! let output = template.render(&globals).unwrap();
20//! assert_eq!(output, "Liquid! 2".to_string());
21//! ```
22
23#![cfg_attr(docsrs, feature(doc_auto_cfg))]
24#![warn(clippy::print_stderr)]
25#![warn(clippy::print_stdout)]
26
27#[doc = include_str!("../README.md")]
28#[cfg(doctest)]
29pub struct ReadmeDoctests;
30
31mod parser;
32mod template;
33
34pub mod partials;
35pub mod reflection;
36
37/// Liquid data model.
38pub mod model {
39 pub use liquid_core::array;
40 pub use liquid_core::model::*;
41 pub use liquid_core::object;
42 pub use liquid_core::scalar;
43 pub use liquid_core::value;
44}
45
46pub use crate::parser::*;
47pub use crate::template::*;
48pub use liquid_core::model::{_ObjectView as ObjectView, _ValueView as ValueView};
49pub use liquid_core::object;
50pub use liquid_core::to_object;
51pub use liquid_core::Error;
52pub use liquid_core::Object;
53#[doc(hidden)]
54pub use liquid_derive::{ObjectView, ValueView};