plf 0.1.2

A template engine for Rust inspired by Tera/Jinja2/Django
Documentation
[package]
name = "plf"
version = "0.1.2"
edition = "2024"
license = "MIT"
description = "A template engine for Rust inspired by Tera/Jinja2/Django"
repository = "https://github.com/Keats/tera2"
documentation = "https://docs.rs/tera"
readme = "../README.md"
keywords = ["template", "html", "django", "markup", "jinja2"]
categories = ["template-engine"]

[dependencies]
serde = "1"

# Optional deps
indexmap = { version = "2.13.0", optional = true }
unicode-segmentation = { version = "1.12", optional = true }
walkdir = { version = "2.5.0", optional = true }
globset = { version = "0.4.18", optional = true }
boa_engine = { version = "0.21", optional = true, default-features = false }
boa_runtime = { version = "0.21", optional = true, default-features = false }

# Crates for speedup
ahash = { version = "0.8.12", optional = true }
itoa = { version = "1.0.17", optional = true }
pulldown-cmark-escape = { version = "0.11.0", optional = true}
num-bigint = "0.4.6"
num-traits = { version = "0.2.19", features = ["i128"] }

[features]
default = []
# Use hashbrown with ahash hashing to improve performance
fast_hash = ["dep:ahash", "ahash?/serde"]
# Keep order of insertion for Value
preserve_order = ["dep:indexmap"]
# If we want Tera to work with graphemes clusters rather than utf-8 characters when iterating on strings
unicode = ["dep:unicode-segmentation"]
# Use itoa to format numbers (instead of std::fmt)
no_fmt = ["dep:itoa"]
# Use a faster HTML escape than the default one
fast_escape = ["dep:pulldown-cmark-escape"]
# Improve performance by adding extra dependencies
fast = ["no_fmt", "fast_escape", "fast_hash"]
# Loads files disks using a glob
glob_fs = ["dep:walkdir", "dep:globset"]
# Add JS support
js = ["dep:boa_engine", "dep:boa_runtime"]

[dev-dependencies]
criterion = "0.8"
insta = { version = "1", features = ["glob"] }
serde_derive = "1.0.156"
tempfile = "3"

[package.metadata.docs.rs]
features = [
    "glob_fs",
]

[lib]
doctest = false

[[bench]]
name = "value"
harness = false

[[bench]]
name = "escape"
harness = false

[[bench]]
name = "templates"
harness = false