Initial commit: The Daily EPUB full implementation
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.
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
[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"] }
|
||||
Reference in New Issue
Block a user