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
|
||||
|
||||
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 |
|
||||
|---|---|
|
||||
| <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/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
|
||||
|
||||
|
|
@ -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!
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue