[package]
edition = "2024"
name = "typwriter"
version = "0.14.28"
authors = ["kaoru <k@warpnine.io>"]
build = "build.rs"
exclude = [
"tests/",
"examples/",
".gitignore",
"rustfmt.toml",
"*.pdf",
"*.png",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust library for compiling, formatting, and watching Typst documents, with PDF metadata and permission management."
homepage = "https://github.com/0x6b/typwriter"
documentation = "https://docs.rs/typwriter"
readme = "README.md"
keywords = [
"typst",
"typesetting",
"compile",
"pdf",
"formatter",
]
categories = ["text-processing"]
license = "Apache-2.0"
repository = "https://github.com/0x6b/typwriter"
[features]
compile = [
"dep:chrono",
"dep:ecow",
"dep:fontdb",
"dep:typst",
"dep:typst-assets",
"dep:typst-kit",
"dep:typst-pdf",
"dep:typst-render",
"dep:typst-syntax",
"dep:typst-timing",
"dep:typst-utils",
]
default = []
embed_additional_fonts = [
"embed_cmu_roman",
"embed_ia_writer_duo",
"embed_jet_brains_mono_nl",
"embed_noto_emoji",
"embed_noto_sans_jp",
"embed_noto_serif_jp",
"embed_recursive",
"embed_source_code_pro",
"embed_warpnine_mono",
"embed_warpnine_sans",
]
embed_cmu_roman = ["compile"]
embed_ia_writer_duo = ["compile"]
embed_jet_brains_mono_nl = ["compile"]
embed_noto_emoji = ["compile"]
embed_noto_sans_jp = ["compile"]
embed_noto_serif_jp = ["compile"]
embed_recursive = ["compile"]
embed_source_code_pro = ["compile"]
embed_warpnine_mono = ["compile"]
embed_warpnine_sans = ["compile"]
format = [
"dep:typst-syntax",
"dep:typstyle-core",
]
full = [
"compile",
"embed_additional_fonts",
"format",
"pdf_metadata",
"pdf_permission",
"watch",
]
pdf_metadata = [
"dep:chrono",
"dep:lopdf",
"dep:xmp-writer",
]
pdf_permission = ["dep:qpdf"]
watch = [
"compile",
"dep:axum",
"dep:log",
"dep:notify",
"dep:open",
"dep:tokio",
]
[lib]
name = "typwriter"
path = "src/lib.rs"
[dependencies.axum]
version = "0.8"
features = ["ws"]
optional = true
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"std",
]
optional = true
default-features = false
[dependencies.ecow]
version = "0.2"
features = ["serde"]
optional = true
[dependencies.fontdb]
version = "0.23"
optional = true
[dependencies.log]
version = "0.4"
optional = true
default-features = false
[dependencies.lopdf]
version = "0.40"
optional = true
[dependencies.notify]
version = "8.2"
optional = true
[dependencies.once_cell]
version = "1.21"
[dependencies.open]
version = "5.3"
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.qpdf]
version = "0.3"
features = ["vendored"]
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.tokio]
version = "1.52"
features = [
"fs",
"macros",
"net",
"rt-multi-thread",
"signal",
]
optional = true
[dependencies.typst]
version = "0.14.2"
optional = true
[dependencies.typst-assets]
version = "0.14.2"
features = ["fonts"]
optional = true
[dependencies.typst-kit]
version = "0.14.2"
optional = true
[dependencies.typst-pdf]
version = "0.14.2"
optional = true
[dependencies.typst-render]
version = "0.14.2"
optional = true
[dependencies.typst-syntax]
version = "0.14.2"
optional = true
[dependencies.typst-timing]
version = "0.14.2"
optional = true
[dependencies.typst-utils]
version = "0.14.2"
optional = true
[dependencies.typstyle-core]
version = "0.14"
optional = true
[dependencies.xmp-writer]
version = "0.3"
optional = true
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.sha2_hasher]
version = "0.3"
features = ["sync"]
[dev-dependencies.test-context]
version = "0.5"
[dev-dependencies.tokio]
version = "1.52"
features = ["net"]
[build-dependencies.dirs]
version = "6.0"
[build-dependencies.flate2]
version = "1.1"
[build-dependencies.serde]
version = "1.0"
features = ["derive"]
[build-dependencies.tar]
version = "0.4"
[build-dependencies.toml]
version = "1.1"
[build-dependencies.ureq]
version = "3.3"
[build-dependencies.zip]
version = "8.6"