Full implementation of a personalized daily newspaper delivered as an EPUB. Articles are pulled from a local self-hosted Miniflux instance, enriched with comments, summarized and filtered by DeepSeek AI, and then assembled into two EPUB editions: standard and optimized for the Xteink X4 e-ink reader. Both are served by the local self-hosted BookOrbit OPDS server in a separate library. Then the X4 edition is futher converted to XTC format and served over a separate OPDS server hosted by the Rust binary. Runs are tracked in a local SQLite database so runs are idempotent per date. Full documentation of the plan is in docs/plans and setup and install instructions are in the README.md file.
50 lines
1.4 KiB
TOML
50 lines
1.4 KiB
TOML
[package]
|
|
name = "daily-epub"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
ammonia = "4.1.4"
|
|
anyhow = "1.0.104"
|
|
askama = "0.16.0"
|
|
axum = "0.8.9"
|
|
base64 = "0.23.1"
|
|
clap = { version = "4.6.6", features = ["derive"] }
|
|
dom_smoothie = "0.18.0"
|
|
epub-builder = "0.8.3"
|
|
figment = { version = "0.10.19", features = ["toml", "env"] }
|
|
futures = "0.3.34"
|
|
hex = "0.4.3"
|
|
hmac = "0.13.0"
|
|
image = "0.25.10"
|
|
jiff = { version = "0.2.35", features = ["serde"] }
|
|
rand = "0.10.2"
|
|
reqwest = { version = "0.13.4", default-features = false, features = ["rustls", "gzip", "json", "charset", "http2", "query", "system-proxy"] }
|
|
resvg = "0.48.1"
|
|
scraper = "0.27.0"
|
|
serde = { version = "1.0.229", features = ["derive"] }
|
|
serde_json = "1.0.151"
|
|
sha2 = "0.11.0"
|
|
sqlx = { version = "0.9.0", default-features = false, features = [
|
|
"derive",
|
|
"json",
|
|
"macros",
|
|
"migrate",
|
|
"runtime-tokio",
|
|
"sqlite",
|
|
"tls-rustls-ring",
|
|
] }
|
|
thiserror = "2.0.20"
|
|
tiny-skia = "0.12.0"
|
|
tokio = { version = "1.53.1", features = ["full"] }
|
|
tokio-util = { version = "0.7.19", features = ["io"] }
|
|
tower-http = { version = "0.7.0", features = ["trace", "fs"] }
|
|
tracing = "0.1.44"
|
|
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
|
|
url = { version = "2.5.8", features = ["serde"] }
|
|
|
|
[dev-dependencies]
|
|
figment = { version = "0.10.19", features = ["test", "toml", "env"] }
|
|
tempfile = "3.27.0"
|
|
zip = { version = "6", default-features = false, features = ["deflate"] }
|