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.
51 lines
1.4 KiB
JSON
51 lines
1.4 KiB
JSON
{
|
|
"hits": [
|
|
{
|
|
"created_at": "2026-08-14T13:02:11.000Z",
|
|
"title": "A Deep Dive Into B-Trees",
|
|
"url": "https://blog.dev/post",
|
|
"author": "tylerh",
|
|
"points": 342,
|
|
"story_text": null,
|
|
"comment_text": null,
|
|
"num_comments": 210,
|
|
"story_id": null,
|
|
"story_title": null,
|
|
"story_url": null,
|
|
"parent_id": null,
|
|
"created_at_i": 1786748531,
|
|
"_tags": ["story", "author_tylerh", "story_41234567"],
|
|
"objectID": "41234567",
|
|
"_highlightResult": {
|
|
"url": {
|
|
"value": "https://blog.dev/post",
|
|
"matchLevel": "full",
|
|
"matchedWords": ["https://blog.dev/post"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"created_at": "2026-08-10T09:15:00.000Z",
|
|
"title": "A Deep Dive Into B-Trees (2019)",
|
|
"url": "https://blog.dev/post?utm_source=twitter",
|
|
"author": "someoneelse",
|
|
"points": 12,
|
|
"story_text": null,
|
|
"comment_text": null,
|
|
"num_comments": 3,
|
|
"story_id": null,
|
|
"created_at_i": 1786396500,
|
|
"_tags": ["story", "author_someoneelse", "story_41000000"],
|
|
"objectID": "41000000"
|
|
}
|
|
],
|
|
"nbHits": 2,
|
|
"page": 0,
|
|
"nbPages": 1,
|
|
"hitsPerPage": 20,
|
|
"exhaustiveNbHits": true,
|
|
"query": "https://blog.dev/post",
|
|
"params": "query=https%3A%2F%2Fblog.dev%2Fpost&restrictSearchableAttributes=url",
|
|
"processingTimeMS": 3
|
|
}
|