[package]
edition = "2024"
rust-version = "1.93"
name = "carta"
version = "0.0.3"
authors = ["Maximilian Krause"]
build = false
exclude = ["/tests"]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Document converter library: parse a source format and render it to a target format."
homepage = "https://github.com/mfkrause/carta"
readme = "README.md"
keywords = [
"markup",
"markdown",
"document",
"converter",
"commonmark",
]
categories = [
"command-line-utilities",
"text-processing",
"parser-implementations",
]
license = "AGPL-3.0-only"
repository = "https://github.com/mfkrause/carta"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
cli = [
"dep:clap",
"standalone",
"metadata-file",
]
default = [
"full",
"cli",
]
full = [
"read-commonmark",
"read-json",
"read-native",
"read-html",
"read-csv",
"read-tsv",
"read-opml",
"read-rst",
"read-ipynb",
"read-mediawiki",
"read-dokuwiki",
"read-jira",
"read-man",
"read-latex",
"read-org",
"write-html",
"write-html4",
"write-json",
"write-plain",
"write-native",
"write-latex",
"write-commonmark",
"write-markdown",
"write-gfm",
"write-rst",
"write-mediawiki",
"write-typst",
"write-dokuwiki",
"write-jira",
"write-asciidoc",
"write-man",
"write-opml",
"write-org",
"write-beamer",
"write-revealjs",
"write-ipynb",
"write-epub",
"standalone",
"metadata-file",
]
metadata-file = [
"standalone",
"read-commonmark",
]
read-commonmark = [
"dep:carta-readers",
"carta-readers/commonmark",
]
read-csv = [
"dep:carta-readers",
"carta-readers/csv",
]
read-dokuwiki = [
"dep:carta-readers",
"carta-readers/dokuwiki",
]
read-html = [
"dep:carta-readers",
"carta-readers/html",
]
read-ipynb = [
"dep:carta-readers",
"carta-readers/ipynb",
]
read-jira = [
"dep:carta-readers",
"carta-readers/jira",
]
read-json = [
"dep:carta-readers",
"carta-readers/json",
]
read-latex = [
"dep:carta-readers",
"carta-readers/latex",
]
read-man = [
"dep:carta-readers",
"carta-readers/man",
]
read-mediawiki = [
"dep:carta-readers",
"carta-readers/mediawiki",
]
read-native = [
"dep:carta-readers",
"carta-readers/native",
]
read-opml = [
"dep:carta-readers",
"carta-readers/opml",
]
read-org = [
"dep:carta-readers",
"carta-readers/org",
]
read-rst = [
"dep:carta-readers",
"carta-readers/rst",
]
read-tsv = [
"dep:carta-readers",
"carta-readers/tsv",
]
standalone = [
"carta-core/template",
"dep:serde_json",
]
write-asciidoc = [
"dep:carta-writers",
"carta-writers/asciidoc",
]
write-beamer = [
"dep:carta-writers",
"carta-writers/beamer",
]
write-commonmark = [
"dep:carta-writers",
"carta-writers/commonmark",
]
write-dokuwiki = [
"dep:carta-writers",
"carta-writers/dokuwiki",
]
write-epub = [
"dep:carta-writers",
"carta-writers/epub",
]
write-gfm = [
"dep:carta-writers",
"carta-writers/gfm",
]
write-html = [
"dep:carta-writers",
"carta-writers/html",
]
write-html4 = [
"dep:carta-writers",
"carta-writers/html",
]
write-ipynb = [
"dep:carta-writers",
"carta-writers/ipynb",
]
write-jira = [
"dep:carta-writers",
"carta-writers/jira",
]
write-json = [
"dep:carta-writers",
"carta-writers/json",
]
write-latex = [
"dep:carta-writers",
"carta-writers/latex",
]
write-man = [
"dep:carta-writers",
"carta-writers/man",
]
write-markdown = [
"dep:carta-writers",
"carta-writers/markdown",
]
write-mediawiki = [
"dep:carta-writers",
"carta-writers/mediawiki",
]
write-native = [
"dep:carta-writers",
"carta-writers/native",
]
write-opml = [
"dep:carta-writers",
"carta-writers/opml",
]
write-org = [
"dep:carta-writers",
"carta-writers/org",
]
write-plain = [
"dep:carta-writers",
"carta-writers/plain",
]
write-revealjs = [
"dep:carta-writers",
"carta-writers/revealjs",
]
write-rst = [
"dep:carta-writers",
"carta-writers/rst",
]
write-typst = [
"dep:carta-writers",
"carta-writers/typst",
]
[lib]
name = "carta"
path = "src/lib.rs"
[[bin]]
name = "carta"
path = "src/main.rs"
required-features = ["cli"]
[[bench]]
name = "convert"
path = "benches/convert.rs"
harness = false
[dependencies.carta-ast]
version = "0.0.3"
[dependencies.carta-core]
version = "0.0.3"
[dependencies.carta-readers]
version = "0.0.3"
optional = true
default-features = false
[dependencies.carta-writers]
version = "0.0.3"
optional = true
default-features = false
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.insta]
version = "1"
[lints.clippy]
expect_used = "warn"
indexing_slicing = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
panic = "warn"
unwrap_used = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
unreachable_pub = "warn"
unsafe_code = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(docsrs)"]