Update README (#260)
This commit is contained in:
parent
cc599aba18
commit
f42de6b462
1 changed files with 60 additions and 56 deletions
116
README.md
116
README.md
|
|
@ -17,83 +17,87 @@
|
||||||
|
|
||||||
## Overview
|
## 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
|
## Feature Comparison
|
||||||
- Documents: PDF, DOCX, ODT/FODT
|
|
||||||
- E‑books: 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
|
|
||||||
- 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
|
## 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
|
||||||
|
|
||||||
| 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 & 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) | 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 (AGPL‑3.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!
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue