# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.72"
name = "handlebars"
version = "5.1.2"
authors = ["Ning Sun <sunng@pm.me>"]
description = "Handlebars templating implemented in Rust."
homepage = "https://github.com/sunng87/handlebars-rust"
documentation = "https://docs.rs/crate/handlebars/"
readme = "README.md"
keywords = [
    "handlebars",
    "templating",
    "web",
]
categories = [
    "template-engine",
    "web-programming",
]
license = "MIT"
repository = "https://github.com/sunng87/handlebars-rust"

[package.metadata.docs.rs]
features = [
    "dir_source",
    "script_helper",
    "rust-embed",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[lib]
name = "handlebars"
path = "src/lib.rs"

[[bin]]
name = "handlebars-cli"
path = "src/cli.rs"

[[example]]
name = "script"
required-features = ["script_helper"]

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

[dependencies.heck]
version = "0.5"
optional = true

[dependencies.log]
version = "0.4.0"

[dependencies.pest]
version = "2.1.0"

[dependencies.pest_derive]
version = "2.1.0"

[dependencies.rhai]
version = "1.16.1"
features = [
    "sync",
    "serde",
]
optional = true

[dependencies.rust-embed]
version = "8.0.0"
features = ["include-exclude"]
optional = true

[dependencies.serde]
version = "1.0.0"

[dependencies.serde_json]
version = "1.0.39"

[dependencies.thiserror]
version = "1"

[dependencies.walkdir]
version = "2.2.3"
optional = true

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.env_logger]
version = "0.10"

[dev-dependencies.serde_derive]
version = "1.0.75"

[dev-dependencies.tempfile]
version = "3.0.0"

[dev-dependencies.time]
version = "0.3.7"
features = [
    "serde",
    "formatting",
    "parsing",
]

[dev-dependencies.tiny_http]
version = "0.12"

[features]
default = []
dir_source = ["walkdir"]
no_logging = []
script_helper = ["rhai"]
string_helpers = ["heck"]

[target."cfg(unix)".dev-dependencies.pprof]
version = "0.13"
features = [
    "flamegraph",
    "prost-codec",
]

[badges.maintenance]
status = "actively-developed"
