diff --git a/README.md b/README.md index 625a9bf..a6af8ee 100644 --- a/README.md +++ b/README.md @@ -17,83 +17,87 @@ ## Overview -Episteme Reader is an offline-first reader for documents and e‑books on Android. It focuses on a clean and customizable reading experience. +Episteme Reader is a comprehensive, customizable reader for documents and e-books on Android. It features a modern Jetpack Compose UI, powerful reading tools, and extensive theming. -> 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. +To best serve different user preferences regarding privacy and network usage, Episteme Reader is available in three distinct editions: +* **PlayStore Version:** The full-featured release which includes proprietary code and features. +* **OSS Version (GitHub/F-Droid):** A fully open-source build. +* **OSS Offline Version (GitHub):** A strictly offline build with network permissions completely removed. -## Features +--- -### Supported Formats -- Documents: PDF, DOCX, ODT/FODT -- E‑books: EPUB, MOBI, AZW3, FB2 -- Comics: CBZ, CBR, CB7 -- Text: MD, TXT, HTML +## Feature Comparison -### 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 +### πŸ“š Supported Formats +| Feature | PlayStore | OSS | OSS Offline | +| :--- | :---: | :---: | :---: | +| **Documents:** PDF, DOCX, ODT/FODT | βœ… | βœ… | βœ… | +| **E-books & Text:** EPUB, MOBI, AZW3, FB2, MD, HTML, TXT | βœ… | βœ… | βœ… | +| **Comics:** CBZ, CBR, CB7 | βœ… | βœ… | βœ… | +| **View-Only:** CSV, TSV, JSON, XML, Logs, Code Files | βœ… | βœ… | βœ… | -### Annotations (PDF) -- Ink Annotations: Pen, Highlighter, Eraser -- Text Annotations: Place notes anywhere, with system or custom fonts +### πŸ“– Core Reading Experience +| Feature | PlayStore | OSS | OSS Offline | +| :--- | :---: | :---: | :---: | +| **Display Modes:** Paginated & Vertical Scroll | βœ… | βœ… | βœ… | +| **PDF Multi-Tab Reading & Reflow** | βœ… | βœ… | βœ… | +| **PDF Annotations:** Ink (Pen, Highlight, Erase) & Text | βœ… | βœ… | βœ… | +| **App-wide Customization & Reader Theming** | βœ… | βœ… | βœ… | +| **Custom Fonts:** Local Import (TTF and OTF) | βœ… | βœ… | βœ… | +| **Typography Control** | βœ… | βœ… | βœ… | +| **Auto-Scroll & Musician Mode** | βœ… | βœ… | βœ… | +| **System Text-to-Speech (TTS)** | βœ… | βœ… | βœ… | -### 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 +### βš™οΈ Advanced & Network Features +| Feature | PlayStore | OSS (F-Droid) | OSS Offline | +| :--- | :---: | :---: | :---: | +| **Local Folder Sync & Library Management** | βœ… | βœ… | βœ… | +| **Download Google Fonts** | βœ… | βœ… | ❌ | +| **OPDS Catalog Support** | βœ… | βœ… | ❌ | +| **PDF Bubble Zoom Magnifier** | βœ… | ❌ | ❌ | +| **ML Kit OCR** (Scanned PDF Text Selection) | βœ… | ❌ | ❌ | +| **Cross-Device Cloud Sync** | βœ… | ❌ | ❌ | +| **AI Tools** (Summaries, Story Recap, Dictionary) | βœ… | πŸ”œ | ❌ | +| **Cloud Text-to-Speech** | βœ… | πŸ”œ | ❌ | -### 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 (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 + ```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 + * Open in Android Studio and run the `ossDebug` or `ossOfflineDebug` 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 - ~~~ + `app/build/outputs/apk/oss/debug/Episteme-oss-v{version}-oss-debug.apk` ## Open Source Libraries 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) +* **Core & UI:** AndroidX, Jetpack Compose, Kotlinx Serialization +* **Document Engines:** PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3) +* **Parsers:** Jsoup (HTML/EPUB), Flexmark (Markdown) +* **Media & Image Loading:** Coil, Media3 (ExoPlayer) +* **Utilities:** Room (Database), Timber (Logging) ## Contributors | Contributor | Contribution | |---|---| -| CCerrer avatar [CCerrer](https://github.com/CCerrer) | Testing & QA | +| CCerrer avatar[CCerrer](https://github.com/CCerrer) | Testing & QA | | ottozumkeller avatar [ottozumkeller](https://github.com/ottozumkeller) | Translation (German) | | TURBOKANTR avatar [TURBOKANTR](https://github.com/TURBOKANTR) | Translation (Turkish) | -| eyadalkordy24 avatar [eyadalkordy24](https://github.com/eyadalkordy24) | Translation (Arabic) | +| eyadalkordy24 avatar[eyadalkordy24](https://github.com/eyadalkordy24) | Translation (Arabic) | +| berebara avatar[berebara](https://github.com/berebara) | Translation (Russian) | +| mh4ckt3mh4ckt1c4s avatar[mh4ckt3mh4ckt1c4s](https://github.com/mh4ckt3mh4ckt1c4s) | Translation (French) | ## Translations @@ -107,11 +111,11 @@ Licensed under the GNU Affero General Public License v3.0 (AGPL‑3.0). See the ## Support the Project -Help make Episteme Reader even better. +Help make Episteme Reader even better: -- ❀️ [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! +* ❀️ [Support on Patreon](https://www.patreon.com/c/epistemereader) +* ⭐ 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](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!