[workspace]
members = [
    "crates/*",
]

[package]
name = "cobalt-bin"
version = "0.18.1"
description = "Static site generator written in Rust"
authors = ["Benny Klotz <r3qnbenni@gmail.com>", "Johann Hofmann <mail@johann-hofmann.com>", "Ed Page <eopage@gmail.com>"]
repository = "https://github.com/cobalt-org/cobalt.rs"
readme = "README.md"
categories = ["command-line-utilities"]
keywords = ["static", "site", "generator"]
license = "MIT"
edition = "2021"
exclude = [
    ".gitignore",
    "CHANGELOG.md",
    "CONTRIBUTING.md",
    "release.toml",
    "typos.toml",
    "committed.toml",
    "docs/**",
    ".github/**",
    "tests/**",
    "benches/**",
]

[package.metadata.release]
pre-release-replacements = [
  {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
  {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
  {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
  {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
  {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/cobalt-org/cobalt.rs/compare/{{tag_name}}...HEAD", exactly=1},
]

[lib]
name="cobalt"

[[bin]]
name = "cobalt"
doc = false

[dependencies]
cobalt-config = { version = "=0.18.1", path = "crates/config", features = ["unstable"] }
cobalt-core = { version = "=0.18.1", path = "crates/core", features = ["unstable"] }
clap = { version = "3.2", features = ["derive"] }
clap-verbosity-flag = "1.0"
proc-exit = "1"
yansi = "0.5.1"
concolor = "0.0.8"
concolor-clap = { version = "0.0.10", features = ["api_unstable"] }
human-panic = "1"
scrawl = "1.1"
tempfile = "3.3"
relative-path = { version = "1", features = ["serde"] }
liquid = "0.26"
liquid-core = "0.26"
liquid-lib = { version = "0.26", features = ["jekyll", "shopify", "extra"] }
deunicode = "1.3.1"
walkdir = "2.3"
time = "0.3"
log = "0.4"
env_logger = "0.9"
rss = "2.0"
jsonfeed = "0.2"
pulldown-cmark = {version="0.9", default-features = false}
engarde = { version = "0.1", path = "crates/engarde" }
regex = "1.6"
failure = "0.1"
exitfailure = "0.5"
lazy_static = "1.4"
itertools = "0.10"
ignore = "0.4"
serde = "1.0"
serde_yaml = "0.9"
serde_json = "1.0"
toml = "0.5.9"
normalize-line-endings = "0.3.0"
sitemap = "0.4"
open = "3"
dunce = "1.0.2"
vimwiki = { version = "0.1", features = ["html"] }

file-serve = { version = "0.2.0", path = "crates/file-serve", optional = true }
notify = { version = "4", optional = true }

sass-rs = { version = "0.2", optional = true }

html-minifier = {version="3.0", optional = true }

[dev-dependencies]
trycmd = "0.13"
snapbox = { version = "0.2.10", features = ["diff"] }

[features]
default = ["syntax-highlight", "sass", "serve", "html-minifier"]
unstable = []
preview_unstable = ["cobalt-config/preview_unstable"]

serve = ["file-serve", "notify"]
syntax-highlight = ["engarde/syntax"]
sass = ['sass-rs']

[profile.release]
lto = "thin"
panic = "abort"
