[package]
edition = "2021"
rust-version = "1.60"
name = "htmlize"
version = "1.1.0"
authors = ["Daniel Parks <oss-htmlize@demonhorse.org>"]
build = "build.rs"
exclude = [
".*",
"/*.sh",
"/target",
"/Dockerfile",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Correctly encode and decode HTML entities in UTF-8"
homepage = "https://github.com/danielparks/htmlize"
readme = "README.md"
keywords = [
"html",
"entities",
"escape",
"unescape",
"decode",
]
categories = [
"web-programming",
"encoding",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/danielparks/htmlize"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
_unescape_either = []
bench = []
default = []
entities = [
"dep:phf",
"dep:phf_codegen",
"dep:serde_json",
]
iai = []
unescape = [
"entities",
"_unescape_either",
]
unescape_fast = [
"_unescape_either",
"dep:matchgen",
"dep:serde_json",
]
[lib]
name = "htmlize"
path = "src/lib.rs"
bench = false
[[bench]]
name = "escape"
path = "benches/escape.rs"
harness = false
[[bench]]
name = "escape_iai"
path = "benches/escape_iai.rs"
harness = false
required-features = ["iai"]
[[bench]]
name = "unescape"
path = "benches/unescape.rs"
harness = false
required-features = [
"bench",
"_unescape_either",
]
[[bench]]
name = "unescape_iai"
path = "benches/unescape_iai.rs"
harness = false
required-features = [
"bench",
"iai",
"_unescape_either",
]
[dependencies.memchr]
version = "2.5.0"
[dependencies.pastey]
version = "0.1.0"
[dependencies.phf]
version = "0.13.1"
optional = true
default-features = false
[dev-dependencies.assert2]
version = "0.3.7"
[dev-dependencies.criterion]
version = "0.5.1"
[dev-dependencies.iai]
version = "0.1.1"
[build-dependencies.matchgen]
version = "0.4.0"
optional = true
[build-dependencies.phf]
version = "0.13.1"
optional = true
default-features = false
[build-dependencies.phf_codegen]
version = "0.13.1"
optional = true
[build-dependencies.serde_json]
version = "1.0"
optional = true
[lints.clippy]
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
arithmetic_side_effects = "warn"
as_underscore = "warn"
assertions_on_result_states = "warn"
dbg_macro = "warn"
default_union_representation = "warn"
doc_paragraphs_missing_punctuation = "warn"
empty_enum_variants_with_brackets = "warn"
empty_structs_with_brackets = "warn"
filetype_is_file = "warn"
fn_to_numeric_cast_any = "warn"
format_push_string = "warn"
get_unwrap = "warn"
impl_trait_in_params = "warn"
integer_division = "warn"
let_underscore_untyped = "allow"
lossy_float_literal = "warn"
manual_string_new = "allow"
map_unwrap_or = "allow"
mem_forget = "warn"
missing_docs_in_private_items = "warn"
mixed_read_write_in_expression = "warn"
module_name_repetitions = "allow"
multiple_inherent_impl = "warn"
multiple_unsafe_ops_per_block = "warn"
mutex_atomic = "warn"
option_if_let_else = "allow"
rc_buffer = "warn"
rc_mutex = "warn"
same_name_method = "warn"
semicolon_inside_block = "warn"
str_to_string = "warn"
undocumented_unsafe_blocks = "warn"
unnecessary_debug_formatting = "allow"
unnecessary_safety_doc = "warn"
unnecessary_self_imports = "warn"
unneeded_field_pattern = "warn"
verbose_file_reads = "warn"
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"