mirror of
https://github.com/itsjunetime/tdf.git
synced 2026-06-03 16:31:45 -04:00
Rewrite with mupdf as a backend (#50)
* Initial implementation of attempted mupdf rewrite * Change back to no resizing and don't include alpha channel in conversion * Remove some more dead code * Make features more modular and call search more easily * Switch to git dependency for my fixes * Update deps * Fix searching hehe * Remove unnecessary CI steps? * fontconfig in CI * perftools in ci * Final adjustments to conform to mupdf changes
This commit is contained in:
+10
-6
@@ -7,7 +7,7 @@ description = "A terminal viewer for PDFs"
|
||||
readme = "README.md"
|
||||
homepage = "https://github.com/itsjunetime/tdf"
|
||||
repository = "https://github.com/itsjunetime/tdf"
|
||||
license = "GPL-3.0-or-later"
|
||||
license = "AGPL-3.0-only"
|
||||
keywords = ["pdf", "tui", "cli", "terminal"]
|
||||
categories = ["command-line-utilities", "text-processing", "visualization"]
|
||||
default-run = "tdf"
|
||||
@@ -21,25 +21,24 @@ path = "src/main.rs"
|
||||
name = "tdf"
|
||||
|
||||
[dependencies]
|
||||
poppler-rs = { version = "0.24.1", default-features = false, features = ["v23_7"] }
|
||||
cairo-rs = { version = "0.20.0", default-features = false, features = ["png"] }
|
||||
# we're using this branch because it has significant performance fixes that I'm waiting on responses from the upstream devs to get upstreamed. See https://github.com/ratatui-org/ratatui/issues/1116
|
||||
ratatui = { git = "https://github.com/itsjunetime/ratatui.git" }
|
||||
# ratatui = { path = "./ratatui/ratatui" }
|
||||
# We're using this to have the vb64 feature (for faster base64 encoding, since that does take up a good bit of time when converting images to the Box<dyn ratatui_image::Protocol>. It also just includes a few more features that I'm waiting on main to upstream
|
||||
# We're using this to have the vb64 feature (for faster base64 encoding, since that does take up a good bit of time when converting images to the `Protocol`. It also just includes a few more features that I'm waiting on main to upstream
|
||||
ratatui-image = { git = "https://github.com/itsjunetime/ratatui-image.git", branch = "vb64_on_personal", default-features = false }
|
||||
# ratatui-image = { path = "./ratatui-image", features = ["vb64"], default-features = false }
|
||||
crossterm = { version = "0.28.1", features = ["event-stream"] }
|
||||
image = { version = "0.25.1", features = ["png", "rayon"], default-features = false }
|
||||
image = { version = "0.25.1", features = ["pnm", "rayon"], default-features = false }
|
||||
notify = { version = "8.0.0", features = ["crossbeam-channel"] }
|
||||
tokio = { version = "1.37.0", features = ["rt-multi-thread", "macros"] }
|
||||
futures-util = { version = "0.3.30", default-features = false }
|
||||
glib = "0.20.0"
|
||||
itertools = "*"
|
||||
flume = { version = "0.11.0", default-features = false, features = ["async"] }
|
||||
xflags = "0.4.0-pre.2"
|
||||
mimalloc = "0.1.43"
|
||||
nix = { version = "0.29.0", features = ["signal"] }
|
||||
mupdf = { git = "https://github.com/itsjunetime/mupdf-rs", branch = "remove_debug_print", default-features = false, features = ["svg", "system-fonts", "img"] }
|
||||
rayon = { version = "*", default-features = false }
|
||||
|
||||
# for tracing with tokio-console
|
||||
console-subscriber = { version = "0.4.0", optional = true }
|
||||
@@ -52,6 +51,8 @@ lto = "fat"
|
||||
default = ["nightly"]
|
||||
nightly = ["ratatui-image/vb64"]
|
||||
tracing = ["tokio/tracing", "dep:console-subscriber"]
|
||||
epub = ["mupdf/epub"]
|
||||
cbz = ["mupdf/cbz"]
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = { version = "0.5.1", features = ["async_tokio"] }
|
||||
@@ -154,3 +155,6 @@ unused_self = "warn"
|
||||
used_underscore_binding = "warn"
|
||||
used_underscore_items = "warn"
|
||||
zero_sized_map_values = "warn"
|
||||
|
||||
[patch.crates-io]
|
||||
pathfinder_simd = { git = "https://github.com/itsjunetime/pathfinder.git" }
|
||||
|
||||
Reference in New Issue
Block a user