[package]
name = "html-to-markdown-rs"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "README.md"
rust-version.workspace = true
description = "High-performance HTML to Markdown converter using the astral-tl parser. Part of the Kreuzberg ecosystem."
keywords = ["html", "markdown", "converter", "astral-tl", "doc-processing"]
categories = ["parsing", "text-processing", "web-programming"]

[package.metadata.cargo-machete]
ignored = ["once_cell", "ahash"]

[lib]
crate-type = ["rlib"]

[features]
default = ["metadata"]
full = ["inline-images", "metadata", "visitor", "serde"]
inline-images = ["dep:image"]
metadata = ["dep:serde", "dep:serde_json"]
visitor = []
serde = ["dep:serde", "dep:serde_json"]
testkit = []

[dependencies]
ahash.workspace = true
base64.workspace = true
bitflags = "2"
html-escape = "0.2.13"
html5ever.workspace = true
image = { version = "0.25", default-features = false, features = [
    "gif",
    "jpeg",
    "png",
    "bmp",
    "webp",
], optional = true }
lru = "0.18"
memchr = "2"
once_cell.workspace = true
phf = { version = "0.13", features = ["macros"] }
regex.workspace = true
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
thiserror.workspace = true
tl.workspace = true

[dev-dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

[lints]
workspace = true
