diff --git a/README.md b/README.md index 3182257..56403bf 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@

- Episteme Reader Icon + Episteme Reader Icon  Episteme Reader

-

A native Android document reader application built with Kotlin and Jetpack Compose.

+

A modern, offline‑first, privacy‑focused document & e‑book reader for Android, built with Kotlin and Jetpack Compose.

- Get it on F-DroidGet it on Google Play - + Get it on F-Droid Get it on Google Play   Get it on Obtainium
@@ -18,80 +17,90 @@ ## Overview -Episteme Reader is an offline-first, privacy-focused document and e-book reader that supports PDF, EPUB, MOBI, AZW3, Markdown, HTML, and plain text. +Episteme Reader is an offline-first reader for documents and e‑books on Android. It focuses on a clean and customizable reading experience. -> **Note:** This is the Open Source (OSS) edition of Episteme Reader. The version available on the Google Play Store is built from this core but includes additional proprietary features. +> Note: This is the Open Source (OSS) edition of Episteme Reader. The Google Play version is built from this core and may include additional proprietary features. ## Features ### Supported Formats -* **Documents:** PDF -* **E-books:** EPUB, MOBI, AZW3 -* **Text:** MD, TXT, HTML +- Documents: PDF, DOCX +- E‑books: EPUB, MOBI, AZW3, FB2 +- Comics: CBZ, CBR, CB7 +- Text: MD, TXT, HTML -### PDF Features -* **Viewing Modes:** Vertical Scroll and Paginated view. -* **Ink Annotations:** Draw directly on pages using Pen, Highlighter, and Eraser tools. -* **Text Annotations:** Add text notes anywhere on the page using system or custom fonts. +### Reading Experience +- Themes (PDF & EPUB): Light, Dark, Sepia, OLED, Auto (system) and custom +- PDF Modes: Vertical scroll and paginated view +- EPUB Modes: WebView-based vertical scrolling and custom paginated engine +- Custom Fonts: Import user-provided fonts (`.ttf`, `.otf`) +- Typography: Adjustable font size, line spacing, and margins -### E-Book Features -* **Parsing:** Native parsing for MOBI/AZW3 via `libmobi` and EPUB via `Jsoup`. -* **Customization:** Adjust font size, line spacing, and margins. -* **Custom Fonts:** Support for importing user-provided font files (`.ttf`, `.otf`). +### Annotations (PDF) +- Ink Annotations: Pen, Highlighter, Eraser +- Text Annotations: Place notes anywhere, with system or custom fonts -### General -* **Text-to-Speech (TTS):** Read documents aloud using the system TTS engine. -* **File Management:** Built-in library organization. +### Library & OPDS +- Library: Built-in organization and quick access to your files +- OPDS Support: Browse, search, and add books from OPDS 1.x/2.0 catalogs, with optional authentication + +### Accessibility & Utilities +- Text-to-Speech (TTS): Read documents aloud using the system TTS engine +- Offline‑first: Core features work fully offline; no analytics or tracking ## Architecture -* **UI:** 100% Jetpack Compose (Material3). -* **Architecture:** MVVM with Unidirectional Data Flow. -* **Database:** Room (SQLite) for metadata and annotations. -* **PDF Engine:** `pdfium-android` (Native PDFium bindings). -* **EPUB Engine:** Utilizes standard `WebView` for vertical scrolling mode, and a custom rendering engine for paginated mode. -* **Mobi Engine:** Custom JNI bindings to `libmobi`. +- UI: 100% Jetpack Compose (Material 3) +- Pattern: MVVM with Unidirectional Data Flow +- Database: Room (SQLite) for metadata and annotations +- PDF Engine: `pdfium-android` (Native PDFium bindings) +- EPUB Engine: WebView for vertical mode; custom renderer for paginated mode +- MOBI/AZW3: Custom JNI bindings to `libmobi` +- OPDS: Lightweight feed parsing and downloading (on-device) ## Building from Source -1. **Clone the repository:** - ```bash - git clone https://github.com/Aryan-Raj3112/episteme.git - cd episteme - ``` +1. Clone the repository: + ~~~bash + git clone https://github.com/Aryan-Raj3112/episteme.git + cd episteme + ~~~ -2. **Build:** - Open in Android Studio and run the `ossDebug` variant, or build from the command line: - ```bash - ./gradlew assembleOssDebug - ``` - The APK will be generated at: - ``` - app/build/outputs/apk/oss/debug/Episteme-oss-v{version}-oss-debug.apk - ``` +2. Build: + - Open in Android Studio and run the `ossDebug` variant, or + - Build from the command line: + ~~~bash + ./gradlew assembleOssDebug + ~~~ + The APK will be generated at: + ~~~ + app/build/outputs/apk/oss/debug/Episteme-oss-v{version}-oss-debug.apk + ~~~ ## Open Source Libraries -This project is made possible by the Android open-source ecosystem: - -* **Core & UI:** AndroidX, Jetpack Compose, Kotlinx Serialization -* **Document Engines:** PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (Fonts) -* **Parsers:** Jsoup (HTML/EPUB), Flexmark (Markdown) -* **Media & Image Loading:** Coil, Media3 (ExoPlayer) -* **Utilities:** Room (Database), Timber (Logging) +Powered by the Android OSS ecosystem: +- Core & UI: AndroidX, Jetpack Compose, Kotlinx Serialization +- Document Engines: PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (fonts) +- Parsers: Jsoup (HTML/EPUB), Flexmark (Markdown) +- Media & Image Loading: Coil, Media3 (ExoPlayer) +- Utilities: Room (Database), Timber (Logging) ## Contributors -- [CCerrer](https://github.com/CCerrer) - Testing & QA +- [CCerrer](https://github.com/CCerrer) — Testing & QA ## License -This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**. See the [LICENSE](LICENSE) file for details. +Licensed under the GNU Affero General Public License v3.0 (AGPL‑3.0). See the [LICENSE](LICENSE) file. -## Support +## Support the Project -If you find Episteme Reader useful and want to support its development, please consider sponsoring. Thank you! +Help make Episteme Reader even better. - - Sponsor on GitHub - +- ❤️ [Sponsor on GitHub](https://github.com/sponsors/Aryan-Raj3112) +- ⭐ Star the repository to help visibility +- 🐞 Report bugs or request features via [GitHub Issues](https://github.com/Aryan-Raj3112/episteme/issues/new/choose) +- 💬 Share feedback in Discussions (ideas/UX): [Discussions](https://github.com/Aryan-Raj3112/episteme/discussions) +- ✍️ Leave a review on the [Google Play Store](https://play.google.com/store/apps/details?id=com.aryan.reader) +- 📣 Tell a friend!