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:
2026-08-15 17:46:19 +00:00
commit 9e30c1dcdf
80 changed files with 27578 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
//! `daily-epub` — a personalized daily newspaper as an EPUB (spec §1, §2).
//!
//! The crate ships both a library and a thin `daily-epub` binary. Everything the
//! pipeline does lives here so that integration tests can drive the stages
//! directly (see `tests/e2e_pipeline.rs`) instead of shelling out to the binary.
//!
//! Pipeline order (spec §2), all of it wired in [`crate::pipeline`]:
//!
//! ```text
//! Miniflux ingest → dedupe → extraction → persist → social enrichment
//! → pre-filter → LLM scoring → selection → comments → world briefing
//! → editorial → EPUB build (standard + X4) → XTC → publish → report
//! ```
pub mod auth;
pub mod comments;
pub mod config;
pub mod curate;
pub mod db;
pub mod dedupe;
pub mod epub;
pub mod extract;
pub mod http;
pub mod miniflux;
pub mod pipeline;
pub mod publish;
pub mod report;
pub mod server;
pub mod social;
pub mod types;
pub mod world;
/// `CARGO_PKG_VERSION`, printed in the colophon and the OPDS generator tag.
pub const VERSION: &str = env!("CARGO_PKG_VERSION");