$ show hanatsumi/rakuyomi
rakuyomi is a manga reader plugin for KOReader that enables users to browse, search, download, and read manga on e-book readers. The application features a Rust-powered backend communicating with a Lua-based frontend via HTTP over Unix domain sockets. The backend manages manga sources (installable as WASM modules), tracks reading progress in a SQLite database, handles chapter downloads with progress tracking, and provides settings management. The frontend delivers the user interface within KOReader for library viewing, source management, and chapter reading. Although the repository includes a well-structured architecture with reusable components like a job system and WASM import toolkit, the README explicitly states the project is no longer actively maintained, directing users to a fork for continued development.
The LLM identified 3 files worth highlighting for reuse:
A trait-based job system that encapsulates long-running operations (like downloading chapters) with progress reporting and cancellation support. The system is isolated, depending only on shared application state and database access, and can be extracted for use in other Rust applications requiring background job management.
Provides a safe and reusable API for WASM modules to parse and manipulate HTML documents. Includes functions for parsing HTML, selecting elements, extracting text/attributes, and DOM navigation. This toolkit isolates the WASM host interface and reduces boilerplate for source extensions that need to scrape manga websites.
Implements WASM functions for creating and manipulating basic data types (null, int, float, string, bool, array, object, date) and object/array operations. This module offers a consistent, sandboxed API for WASM modules to handle JSON-like data, enabling safe data exchange between the Rust host and WASM source extensions.