Update README (#363)
This commit is contained in:
parent
6651169ce2
commit
a13d6599d1
1 changed files with 81 additions and 67 deletions
148
README.md
148
README.md
|
|
@ -5,62 +5,63 @@
|
||||||
<span> Episteme Reader</span>
|
<span> Episteme Reader</span>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<p>A modern, offline‑first, privacy‑focused document & e‑book 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> <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> <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> <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> <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> <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/>
|
||||||
|
|
||||||

|
<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:
|
||||||
|
|
||||||
[](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 (AGPL‑3.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.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue