[package]
edition = "2024"
rust-version = "1.95"
name = "merman-render"
version = "0.8.0"
authors = ["Mingzhen Zhuang <superfrankie621@gmail.com>"]
build = false
exclude = [
"examples/*_debug_svg.rs",
"examples/ratex_math_audit.rs",
"tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Headless layout + SVG renderer for Mermaid (parity-focused; upstream SVG goldens)."
homepage = "https://github.com/Latias94/merman"
documentation = "https://docs.rs/merman-render"
readme = "README.md"
keywords = [
"mermaid",
"diagrams",
"svg",
"layout",
"headless",
]
categories = ["visualization"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Latias94/merman"
resolver = "2"
[package.metadata.merman]
artifact-profile-required = true
fixed-capabilities = ["svg"]
wasm-inputs = ["assets/zenuml"]
[features]
all-diagrams = [
"diagram-agentflow",
"diagram-architecture",
"diagram-block",
"diagram-c4",
"diagram-class",
"diagram-cynefin",
"diagram-er",
"diagram-event-modeling",
"diagram-flowchart",
"diagram-gantt",
"diagram-git-graph",
"diagram-info",
"diagram-ishikawa",
"diagram-journey",
"diagram-kanban",
"diagram-mindmap",
"diagram-packet",
"diagram-pie",
"diagram-quadrant-chart",
"diagram-radar",
"diagram-railroad",
"diagram-requirement",
"diagram-sankey",
"diagram-sequence",
"diagram-state",
"diagram-swimlane",
"diagram-timeline",
"diagram-tree-view",
"diagram-treemap",
"diagram-usecase",
"diagram-venn",
"diagram-wardley",
"diagram-xychart",
"diagram-zenuml",
]
default = []
diagram-agentflow = ["merman-core/diagram-agentflow"]
diagram-architecture = ["merman-core/diagram-architecture"]
diagram-block = ["merman-core/diagram-block"]
diagram-c4 = ["merman-core/diagram-c4"]
diagram-class = ["merman-core/diagram-class"]
diagram-cynefin = ["merman-core/diagram-cynefin"]
diagram-er = ["merman-core/diagram-er"]
diagram-event-modeling = ["merman-core/diagram-event-modeling"]
diagram-flowchart = ["merman-core/diagram-flowchart"]
diagram-gantt = ["merman-core/diagram-gantt"]
diagram-git-graph = ["merman-core/diagram-git-graph"]
diagram-info = ["merman-core/diagram-info"]
diagram-ishikawa = ["merman-core/diagram-ishikawa"]
diagram-journey = ["merman-core/diagram-journey"]
diagram-kanban = ["merman-core/diagram-kanban"]
diagram-mindmap = ["merman-core/diagram-mindmap"]
diagram-packet = ["merman-core/diagram-packet"]
diagram-pie = ["merman-core/diagram-pie"]
diagram-quadrant-chart = ["merman-core/diagram-quadrant-chart"]
diagram-radar = ["merman-core/diagram-radar"]
diagram-railroad = ["merman-core/diagram-railroad"]
diagram-requirement = ["merman-core/diagram-requirement"]
diagram-sankey = ["merman-core/diagram-sankey"]
diagram-sequence = ["merman-core/diagram-sequence"]
diagram-state = ["merman-core/diagram-state"]
diagram-swimlane = ["merman-core/diagram-swimlane"]
diagram-timeline = ["merman-core/diagram-timeline"]
diagram-tree-view = ["merman-core/diagram-tree-view"]
diagram-treemap = ["merman-core/diagram-treemap"]
diagram-usecase = ["merman-core/diagram-usecase"]
diagram-venn = ["merman-core/diagram-venn"]
diagram-wardley = ["merman-core/diagram-wardley"]
diagram-xychart = ["merman-core/diagram-xychart"]
diagram-zenuml = ["merman-core/diagram-zenuml"]
layout-cytoscape = ["dep:manatee"]
layout-elk = ["dep:merman-layout-elk"]
math = [
"dep:ratex-layout",
"dep:ratex-parser",
"dep:ratex-svg",
"dep:ratex-types",
"ratex-svg/embed-fonts",
]
system-clock = ["merman-core/system-clock"]
system-random = ["merman-core/system-random"]
system-timezone = ["merman-core/system-timezone"]
system-timing = ["merman-core/system-timing"]
[lib]
name = "merman_render"
path = "src/lib.rs"
[[example]]
name = "er_svg"
path = "examples/er_svg.rs"
[dependencies.base64]
version = "0.23.1"
[dependencies.cssparser]
version = "0.38.0"
[dependencies.data-url]
version = "0.3.2"
[dependencies.dugong]
version = "0.8.0"
[dependencies.indexmap]
version = "2.14.2"
features = ["serde"]
[dependencies.kurbo]
version = "0.13.1"
[dependencies.libm]
version = "=0.2.16"
default-features = false
[dependencies.manatee]
version = "0.8.0"
optional = true
[dependencies.merman-core]
version = "0.8.0"
default-features = false
[dependencies.merman-layout-elk]
version = "0.8.0"
optional = true
[dependencies.pulldown-cmark]
version = "0.13.4"
default-features = false
[dependencies.quick-xml]
version = "0.42.0"
[dependencies.ratex-layout]
version = "0.1.14"
optional = true
[dependencies.ratex-parser]
version = "0.1.14"
optional = true
[dependencies.ratex-svg]
version = "0.1.14"
optional = true
default-features = false
[dependencies.ratex-types]
version = "0.1.14"
optional = true
[dependencies.roughr]
version = "0.12.3"
default-features = false
package = "roughr-merman"
[dependencies.roxmltree]
version = "0.21.1"
[dependencies.rustc-hash]
version = "2.1.3"
[dependencies.ryu-js]
version = "1.0.3"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.svgtypes]
version = "=0.16.1"
[dependencies.thiserror]
version = "2.0.21"
[dependencies.unicode-linebreak]
version = "0.1.5"
[dependencies.unicode-segmentation]
version = "1.13.3"
default-features = false
[dependencies.unicode-width]
version = "0.2.2"
default-features = false
[dev-dependencies.futures]
version = "0.3.34"
features = ["executor"]
default-features = false
[dev-dependencies.merman-core]
version = "0.8.0"
features = ["test-support"]
default-features = false
[dev-dependencies.regex]
version = "1.13.1"
[dev-dependencies.serde_json]
version = "1.0.151"
features = ["float_roundtrip"]