Update README (#260)

This commit is contained in:
Aryan 2026-04-30 13:59:25 +05:30 committed by GitHub
parent cc599aba18
commit f42de6b462
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

112
README.md
View file

@ -17,74 +17,76 @@
## Overview ## Overview
Episteme Reader is an offline-first reader for documents and ebooks 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 ## Feature Comparison
- Documents: PDF, DOCX, ODT/FODT
- Ebooks: EPUB, MOBI, AZW3, FB2
- Comics: CBZ, CBR, CB7
- Text: MD, TXT, HTML
### Reading Experience ### 📚 Supported Formats
- Themes (PDF & EPUB): Light, Dark, Sepia, OLED, Auto (system) and custom | Feature | PlayStore | OSS | OSS Offline |
- PDF Modes: Vertical scroll and paginated view | :--- | :---: | :---: | :---: |
- EPUB Modes: WebView-based vertical scrolling and custom paginated engine | **Documents:** PDF, DOCX, ODT/FODT | ✅ | ✅ | ✅ |
- Custom Fonts: Import user-provided fonts (`.ttf`, `.otf`) | **E-books & Text:** EPUB, MOBI, AZW3, FB2, MD, HTML, TXT | ✅ | ✅ | ✅ |
- Typography: Adjustable font size, line spacing, and margins | **Comics:** CBZ, CBR, CB7 | ✅ | ✅ | ✅ |
| **View-Only:** CSV, TSV, JSON, XML, Logs, Code Files | ✅ | ✅ | ✅ |
### Annotations (PDF) ### 📖 Core Reading Experience
- Ink Annotations: Pen, Highlighter, Eraser | Feature | PlayStore | OSS | OSS Offline |
- Text Annotations: Place notes anywhere, with system or custom fonts | :--- | :---: | :---: | :---: |
| **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 ### ⚙️ Advanced & Network Features
- Library: Built-in organization and quick access to your files | Feature | PlayStore | OSS (F-Droid) | OSS Offline |
- OPDS Support: Browse, search, and add books from OPDS 1.x/2.0 catalogs, with optional authentication | :--- | :---: | :---: | :---: |
| **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
- Offlinefirst: 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 ## Building from Source
1. Clone the repository: 1. Clone the repository:
~~~bash ```bash
git clone https://github.com/Aryan-Raj3112/episteme.git git clone https://github.com/Aryan-Raj3112/episteme.git
cd episteme cd episteme
~~~ ```
2. Build: 2. Build:
- Open in Android Studio and run the `ossDebug` variant, or * Open in Android Studio and run the `ossDebug` or `ossOfflineDebug` variant, or
- Build from the command line: * Build from the command line:
~~~bash ```bash
./gradlew assembleOssDebug ./gradlew assembleOssDebug
~~~ ```
The APK will be generated at: 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 ## Open Source Libraries
Powered by the Android OSS ecosystem: Powered by the Android OSS ecosystem:
- Core & UI: AndroidX, Jetpack Compose, Kotlinx Serialization * **Core & UI:** AndroidX, Jetpack Compose, Kotlinx Serialization
- Document Engines: PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (fonts) * **Document Engines:** PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3)
- Parsers: Jsoup (HTML/EPUB), Flexmark (Markdown) * **Parsers:** Jsoup (HTML/EPUB), Flexmark (Markdown)
- Media & Image Loading: Coil, Media3 (ExoPlayer) * **Media & Image Loading:** Coil, Media3 (ExoPlayer)
- Utilities: Room (Database), Timber (Logging) * **Utilities:** Room (Database), Timber (Logging)
## Contributors ## Contributors
@ -94,6 +96,8 @@ Powered by the Android OSS ecosystem:
| <img src="https://github.com/ottozumkeller.png?size=48" width="24" height="24" valign="middle" alt="ottozumkeller avatar"> [ottozumkeller](https://github.com/ottozumkeller) | Translation (German) | | <img src="https://github.com/ottozumkeller.png?size=48" width="24" height="24" valign="middle" alt="ottozumkeller avatar"> [ottozumkeller](https://github.com/ottozumkeller) | Translation (German) |
| <img src="https://github.com/TURBOKANTR.png?size=48" width="24" height="24" valign="middle" alt="TURBOKANTR avatar"> [TURBOKANTR](https://github.com/TURBOKANTR) | Translation (Turkish) | | <img src="https://github.com/TURBOKANTR.png?size=48" width="24" height="24" valign="middle" alt="TURBOKANTR avatar"> [TURBOKANTR](https://github.com/TURBOKANTR) | Translation (Turkish) |
| <img src="https://github.com/eyadalkordy24.png?size=48" width="24" height="24" valign="middle" alt="eyadalkordy24 avatar">[eyadalkordy24](https://github.com/eyadalkordy24) | Translation (Arabic) | | <img src="https://github.com/eyadalkordy24.png?size=48" width="24" height="24" valign="middle" alt="eyadalkordy24 avatar">[eyadalkordy24](https://github.com/eyadalkordy24) | Translation (Arabic) |
| <img src="https://github.com/berebara.png?size=48" width="24" height="24" valign="middle" alt="berebara avatar">[berebara](https://github.com/berebara) | Translation (Russian) |
| <img src="https://github.com/mh4ckt3mh4ckt1c4s.png?size=48" width="24" height="24" valign="middle" alt="mh4ckt3mh4ckt1c4s avatar">[mh4ckt3mh4ckt1c4s](https://github.com/mh4ckt3mh4ckt1c4s) | Translation (French) |
## Translations ## Translations
@ -107,11 +111,11 @@ Licensed under the GNU Affero General Public License v3.0 (AGPL3.0). See the
## Support the Project ## Support the Project
Help make Episteme Reader even better. Help make Episteme Reader even better:
- ❤️ [Sponsor on GitHub](https://github.com/sponsors/Aryan-Raj3112) * ❤️ [Support on Patreon](https://www.patreon.com/c/epistemereader)
- ⭐ Star the repository to help visibility * ⭐ Star the repository to help visibility
- 🐞 Report bugs or request features via [GitHub Issues](https://github.com/Aryan-Raj3112/episteme/issues/new/choose) * 🐞 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) * 💬 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) * ✍️ Leave a review on the [Google Play Store](https://play.google.com/store/apps/details?id=com.aryan.reader)
- 📣 Tell a friend! * 📣 Tell a friend!