[package]
name = "bookokrat"
version = "0.2.2"
edition = "2024"
rust-version = "1.85"
authors = ["Rafael Bagmanov <bugzmanov@gmail.com>"]
license = "MIT"
description = "A terminal-based EPUB Books reader"
default-run = "bookokrat"
repository="https://github.com/bugzmanov/bookokrat"
homepage="https://bugzmanov.github.io/bookokrat/"
readme = "README.md"
keywords = ["tui", "ratatui", "epub", "reader"]
categories = ["command-line-interface"]

[lib]
name = "bookokrat"
path = "src/lib.rs"

[[bin]]
name = "bookokrat"
path = "src/main.rs"

[dependencies]
ratatui = "0.29.0"
crossterm = "0.29.0"
epub = "2.1.5"
anyhow = "1.0.79"
simplelog = "0.12.1"
# html2text = "0.2.1"
regex = "1.10.3"
log = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = { version = "0.4", features = ["serde"] }
textwrap = "0.16"
better-panic = "0.3"
human-panic = "2.0"
libc = "0.2"
pprof = { version = "0.15", features = ["flamegraph", "protobuf-codec"] }
arboard = "3.4"
zip = "0.6"
tempfile = "3.8"
image = "0.25"
fast_image_resize = "3.0"
imagesize = "0.13"
open = "5.3"
roxmltree = "0.18"
once_cell = "1.19"
html5ever = "0.27"
markup5ever_rcdom = "0.3"
# fuzzy-matcher = "0.3"
serde_yaml = "0.9"
md5 = "0.7"
# dirs = "5.0"
tui-textarea = "0.7"
# ansi-to-tui = "7.0.0"
vt100 = "0.15"
codepage-437 = "0.1.0"
# Vendored ratatui-image dependencies
icy_sixel = "0.1.1"
base64 = "0.21.2"
rand = "0.8.5"
thiserror = "1.0.59"
flate2 = "1.0"
# Pin home to 0.5.11 to maintain compatibility with Rust 1.85 (0.5.12+ requires Rust 1.88)
home = "=0.5.11"
walkdir = "2.4"

[target.'cfg(not(windows))'.dependencies]
rustix = { version = "0.38.4", features = ["stdio", "termios", "fs"] }

[target.'cfg(windows)'.dependencies]
windows = { version = "0.58.0", default-features = false, features = [
    "std",
    "Win32_System_Console",
    "Win32_Storage_FileSystem",
    "Win32_Security",
] }

[dev-dependencies]
bookokrat = { path = ".", features = ["test-utils"] }
snapbox = { version = "0.6", features = ["term-svg"] }
anstyle = "1.0"
anstyle-svg = "0.1.5"
tempfile = "3.8"
serial_test = "3.2"

[features]
test-utils = []
serde = []

[profile.release]
debug = true
