typwriter 0.14.27

A Rust library for compiling, formatting, and watching Typst documents, with PDF metadata and permission management.
Documentation
# 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 = "2024"
name = "typwriter"
version = "0.14.27"
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.5"