Update README (#363)

This commit is contained in:
Aryan 2026-06-03 10:39:54 +05:30 committed by GitHub
parent 6651169ce2
commit a13d6599d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

148
README.md
View file

@ -5,62 +5,63 @@
<span>&nbsp;Episteme Reader</span> <span>&nbsp;Episteme Reader</span>
</h1> </h1>
<p>A modern, offlinefirst, privacyfocused document & ebook reader for Android, built with Kotlin and Jetpack Compose.</p> <p>A modern, offline-first, privacy-focused document and e-book reader for Android and desktop, built with Kotlin Multiplatform and Compose.</p>
<a href="https://f-droid.org/packages/com.aryan.reader.oss/"><img alt="Get it on F-Droid" src="https://f-droid.org/badge/get-it-on.png" height="66" align="absmiddle"/></a>&nbsp;<a href="https://play.google.com/store/apps/details?id=com.aryan.reader"><img alt="Get it on Google Play" src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" height="44" align="absmiddle"/></a>&nbsp;&nbsp;&nbsp;<a href="https://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/Aryan-Raj3112/episteme"><img alt="Get it on Obtainium" src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" height="44" align="absmiddle"/></a> <a href="https://epistemereader.com"><img alt="Download from epistemereader.com" src="https://img.shields.io/badge/Download-epistemereader.com-2f6f5e?style=for-the-badge" height="44" align="absmiddle"/></a>&nbsp;&nbsp;<a href="https://f-droid.org/packages/com.aryan.reader.oss/"><img alt="Get it on F-Droid" src="https://f-droid.org/badge/get-it-on.png" height="66" align="absmiddle"/></a>&nbsp;<a href="https://play.google.com/store/apps/details?id=com.aryan.reader"><img alt="Get it on Google Play" src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" height="44" align="absmiddle"/></a>&nbsp;&nbsp;&nbsp;<a href="https://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/Aryan-Raj3112/episteme"><img alt="Get it on Obtainium" src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" height="44" align="absmiddle"/></a>
</div> </div>
<br/> <br/>
![Episteme Reader Preview](docs/EPISTEME.png) <table>
<tr>
<td width="50%" align="center">
<img src="docs/EPISTEME.png" alt="Episteme Reader on Android"/>
<br/>
<sub>Android</sub>
</td>
<td width="50%" align="center">
<img src="docs/EPISTEME_desktop.png" alt="Episteme Reader on desktop"/>
<br/>
<sub>Desktop</sub>
</td>
</tr>
</table>
## Overview ## Overview
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. Episteme Reader is a customizable reader for documents, e-books, comics, and text-heavy files. The app is designed around local-first reading, deep typography controls, flexible layouts, and a consistent Kotlin Multiplatform core across Android and desktop.
To best serve different user preferences regarding privacy and network usage, Episteme Reader is available in three distinct editions: The same core reading experience is available across editions. The main differences are distribution channel, network access, and whether proprietary online services are included.
* **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.
--- ## Core Features
## Feature Comparison Available across supported editions unless noted in the edition table:
### 📚 Supported Formats * **Formats:** PDF, EPUB, MOBI/AZW3, FB2, DOCX, ODT/FODT, TXT, Markdown, HTML, and comic archives.
| Feature | PlayStore | OSS | OSS Offline | * **Reading modes:** Paginated reading, vertical scroll, PDF multi-tab reading, PDF reflow, auto-scroll, and musician mode.
| :--- | :---: | :---: | :---: | * **PDF tools:** Ink annotations, highlighting, erasing, text annotations, and reading-focused PDF controls.
| **Documents:** PDF, DOCX, ODT/FODT | ✅ | ✅ | ✅ | * **Customization:** App themes, reader themes, custom local fonts, typography controls, spacing, margins, and layout tuning.
| **E-books & Text:** EPUB, MOBI, AZW3, FB2, MD, HTML, TXT | ✅ | ✅ | ✅ | * **Library tools:** Local folder sync, library organization, bookmarks, progress tracking, and file management.
| **Comics:** CBZ, CBR, CB7 | ✅ | ✅ | ✅ | * **Accessibility:** System text-to-speech, app language selection, and reader settings that adapt to different reading preferences.
| **View-Only:** CSV, TSV, JSON, XML, Logs, Code Files | ✅ | ✅ | ✅ |
### 📖 Core Reading Experience ## Editions
| 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)** | ✅ | ✅ | ✅ |
### ⚙️ Advanced & Network Features | Edition | Platform | Network access | Distribution | Notes |
| Feature | PlayStore | OSS (F-Droid) | OSS Offline | |---|---|---|---|---|
| :--- | :---: | :---: | :---: | | **Play Store** | Android | Online-capable | Google Play | Full Android release with proprietary extras such as ML Kit OCR, cloud sync, AI tools, cloud TTS, and PDF bubble zoom. |
| **Local Folder Sync & Library Management** | ✅ | ✅ | ✅ | | **OSS** | Android | Online-capable | [epistemereader.com](https://epistemereader.com), GitHub, F-Droid, Obtainium | Fully open-source Android build with OPDS, downloadable fonts, and BYOK access to AI and cloud features. |
| **Download Google Fonts** | ✅ | ✅ | ❌ | | **OSS Offline** | Android | Offline-only | [epistemereader.com](https://epistemereader.com), GitHub, Obtainium | Open-source Android build with network permissions removed. |
| **OPDS Catalog Support** | ✅ | ✅ | ❌ | | **Standard** | Windows desktop | Online-capable | [epistemereader.com](https://epistemereader.com), GitHub | Full-featured desktop release with the shared KMP reader core and online-capable services. |
| **PDF Bubble Zoom Magnifier** | ✅ | ❌ | ❌ | | **Offline** | Windows desktop | Offline-only | [epistemereader.com](https://epistemereader.com), GitHub | Desktop build focused on local reading with online services disabled. |
| **ML Kit OCR** (Scanned PDF Text Selection) | ✅ | ❌ | ❌ |
| **Cross-Device Cloud Sync** | ✅ | ❌ | ❌ |
| **AI Tools** (Summaries, Story Recap, Dictionary) | ✅ | 🔜 | ❌ |
| **Cloud Text-to-Speech** | ✅ | 🔜 | ❌ |
--- Future desktop platforms can use the same Standard and Offline model as support expands.
## Languages
Episteme Reader currently supports: English, Arabic, Belarusian, German, Spanish, Estonian, French, Hindi, Indonesian, Italian, Japanese, Korean, Dutch, Polish, Portuguese (Brazil), Russian, Turkish, Ukrainian, Vietnamese, and Chinese Simplified.
Want Episteme Reader in another language? Please request it through [GitHub Issues](https://github.com/Aryan-Raj3112/episteme/issues/new/choose) or start a thread in [Discussions](https://github.com/Aryan-Raj3112/episteme/discussions).
## Building from Source ## Building from Source
@ -70,7 +71,7 @@ To best serve different user preferences regarding privacy and network usage, Ep
cd episteme cd episteme
``` ```
2. Build: 2. Build Android:
* Open in Android Studio and run the `ossDebug` or `ossOfflineDebug` 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
@ -79,43 +80,56 @@ To best serve different user preferences regarding privacy and network usage, Ep
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`
3. Build desktop:
```bash
./gradlew :desktopApp:packageReleaseDistributionForCurrentOS
```
For the offline desktop build, pass:
```bash
./gradlew :desktopApp:packageReleaseDistributionForCurrentOS -PdesktopFlavor=oss
```
## Open Source Libraries ## Open Source Libraries
Powered by the Android OSS ecosystem: Powered by the Kotlin, Android, and desktop OSS ecosystem:
* **Core & UI:** AndroidX, Jetpack Compose, Kotlinx Serialization
* **Document Engines:** PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3) * **Core and UI:** Kotlin Multiplatform, Compose Multiplatform, AndroidX, Jetpack Compose, Kotlinx Serialization
* **Parsers:** Jsoup (HTML/EPUB), Flexmark (Markdown) * **Document engines:** PdfiumAndroidKt, PDFium, libmobi
* **Media & Image Loading:** Coil, Media3 (ExoPlayer) * **Parsers:** Jsoup, Flexmark, Apache Commons Compress
* **Utilities:** Room (Database), Timber (Logging) * **Media and image loading:** Coil, Media3
* **Utilities:** Room, Timber, JNA
## Contributors ## Contributors
| Contributor | Contribution | | Contributor | Contribution |
|---|---| |---|---|
| <img src="https://github.com/CCerrer.png?size=48" width="24" height="24" valign="middle" alt="CCerrer avatar">[CCerrer](https://github.com/CCerrer) | Testing & QA | | <img src="https://github.com/CCerrer.png?size=48" width="24" height="24" valign="middle" alt="CCerrer avatar"> [CCerrer](https://github.com/CCerrer) | Testing and QA |
| <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) | German translation |
| <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) | Turkish translation |
| <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) | Arabic translation |
| <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/berebara.png?size=48" width="24" height="24" valign="middle" alt="berebara avatar"> [berebara](https://github.com/berebara) | Russian translation |
| <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) | | <img src="https://github.com/mh4ckt3mh4ckt1c4s.png?size=48" width="24" height="24" valign="middle" alt="mh4ckt3mh4ckt1c4s avatar"> [mh4ckt3mh4ckt1c4s](https://github.com/mh4ckt3mh4ckt1c4s) | French translation |
## Translations ## Supporters
Help translate Episteme Reader into your native language! [Weblate](https://hosted.weblate.org/engage/episteme/) is used to manage localization. Thank you to the people helping keep Episteme Reader moving:
[![Translation status](https://hosted.weblate.org/widget/episteme/multi-auto.svg)](https://hosted.weblate.org/engage/episteme/) | Supporter | Platform |
|---|---|
## License | <img src="https://github.com/Zorklo.png?size=48" width="24" height="24" valign="middle" alt="Zorklo avatar"> [Zorklo](https://github.com/Zorklo) | GitHub Sponsors |
Licensed under the GNU Affero General Public License v3.0 (AGPL3.0). See the [LICENSE](LICENSE) file.
## Support the Project ## Support the Project
Help make Episteme Reader even better: Help make Episteme Reader better:
* ❤️ [Support on Patreon](https://www.patreon.com/c/epistemereader) * [Sponsor on GitHub](https://github.com/sponsors/Aryan-Raj3112)
* ⭐ Star the repository to help visibility * [Support on Patreon](https://www.patreon.com/c/epistemereader)
* 🐞 Report bugs or request features via [GitHub Issues](https://github.com/Aryan-Raj3112/episteme/issues/new/choose) * Star the repository to help visibility
* 💬 Share feedback in [Discussions](https://github.com/Aryan-Raj3112/episteme/discussions) * Report bugs or request features via [GitHub Issues](https://github.com/Aryan-Raj3112/episteme/issues/new/choose)
* ✍️ Leave a review on the [Google Play Store](https://play.google.com/store/apps/details?id=com.aryan.reader) * Share feedback in [Discussions](https://github.com/Aryan-Raj3112/episteme/discussions)
* 📣 Tell a friend! * Leave a review on the [Google Play Store](https://play.google.com/store/apps/details?id=com.aryan.reader)
* Tell a friend
## License
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the [LICENSE](LICENSE) file.