Update README (#155)

This commit is contained in:
Aryan 2026-04-08 14:01:53 +05:30 committed by GitHub
parent 26692d2c05
commit c62a0bcb5e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

117
README.md
View file

@ -1,14 +1,13 @@
<div align="center"> <div align="center">
<h1> <h1>
<img src="docs/ICON.png" height="48" width="48" align="center" alt="Episteme Reader Icon"/> <img src="docs/ICON.png" height="48" width="48" align="absmiddle" alt="Episteme Reader Icon"/>
<span>&nbsp;Episteme Reader</span> <span>&nbsp;Episteme Reader</span>
</h1> </h1>
<p>A native Android document reader application built with Kotlin and Jetpack Compose.</p> <p>A modern, offlinefirst, privacyfocused document & ebook reader for Android, built with Kotlin and Jetpack Compose.</p>
<a href="https://f-droid.org/en/packages/com.aryan.reader.oss/"><img alt="Get it on F-Droid" src="https://f-droid.org/badge/get-it-on.png" height="70"/><a href="https://play.google.com/store/apps/details?id=com.aryan.reader"><img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" height="70"/></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>&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="obtainium://add?url=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>
</div> </div>
@ -18,80 +17,90 @@
## Overview ## Overview
Episteme Reader is an offline-first, privacy-focused document and e-book reader that supports PDF, EPUB, MOBI, AZW3, Markdown, HTML, and plain text. Episteme Reader is an offline-first reader for documents and ebooks on Android. It focuses on a clean and customizable reading experience.
> **Note:** This is the Open Source (OSS) edition of Episteme Reader. The version available on the Google Play Store is built from this core but includes additional proprietary features. > 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.
## Features ## Features
### Supported Formats ### Supported Formats
* **Documents:** PDF - Documents: PDF, DOCX
* **E-books:** EPUB, MOBI, AZW3 - Ebooks: EPUB, MOBI, AZW3, FB2
* **Text:** MD, TXT, HTML - Comics: CBZ, CBR, CB7
- Text: MD, TXT, HTML
### PDF Features ### Reading Experience
* **Viewing Modes:** Vertical Scroll and Paginated view. - Themes (PDF & EPUB): Light, Dark, Sepia, OLED, Auto (system) and custom
* **Ink Annotations:** Draw directly on pages using Pen, Highlighter, and Eraser tools. - PDF Modes: Vertical scroll and paginated view
* **Text Annotations:** Add text notes anywhere on the page using system or custom fonts. - 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
### E-Book Features ### Annotations (PDF)
* **Parsing:** Native parsing for MOBI/AZW3 via `libmobi` and EPUB via `Jsoup`. - Ink Annotations: Pen, Highlighter, Eraser
* **Customization:** Adjust font size, line spacing, and margins. - Text Annotations: Place notes anywhere, with system or custom fonts
* **Custom Fonts:** Support for importing user-provided font files (`.ttf`, `.otf`).
### General ### Library & OPDS
* **Text-to-Speech (TTS):** Read documents aloud using the system TTS engine. - Library: Built-in organization and quick access to your files
* **File Management:** Built-in library organization. - OPDS Support: Browse, search, and add books from OPDS 1.x/2.0 catalogs, with optional authentication
### 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 ## Architecture
* **UI:** 100% Jetpack Compose (Material3). - UI: 100% Jetpack Compose (Material 3)
* **Architecture:** MVVM with Unidirectional Data Flow. - Pattern: MVVM with Unidirectional Data Flow
* **Database:** Room (SQLite) for metadata and annotations. - Database: Room (SQLite) for metadata and annotations
* **PDF Engine:** `pdfium-android` (Native PDFium bindings). - PDF Engine: `pdfium-android` (Native PDFium bindings)
* **EPUB Engine:** Utilizes standard `WebView` for vertical scrolling mode, and a custom rendering engine for paginated mode. - EPUB Engine: WebView for vertical mode; custom renderer for paginated mode
* **Mobi Engine:** Custom JNI bindings to `libmobi`. - 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 build from the command line: - Open in Android Studio and run the `ossDebug` variant, or
```bash - Build from the command line:
./gradlew assembleOssDebug ~~~bash
``` ./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
This project is made possible by the Android open-source 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), Google WOFF2 (Fonts) - 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
- [CCerrer](https://github.com/CCerrer) - Testing & QA - [CCerrer](https://github.com/CCerrer) Testing & QA
## License ## License
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**. See the [LICENSE](LICENSE) file for details. Licensed under the GNU Affero General Public License v3.0 (AGPL3.0). See the [LICENSE](LICENSE) file.
## Support ## Support the Project
If you find Episteme Reader useful and want to support its development, please consider sponsoring. Thank you! Help make Episteme Reader even better.
<a href="https://github.com/sponsors/Aryan-Raj3112"> - ❤️ [Sponsor on GitHub](https://github.com/sponsors/Aryan-Raj3112)
<img src="https://img.shields.io/badge/Sponsor-%E2%9D%A4-%23db61a2?logo=github" alt="Sponsor on GitHub"/> - ⭐ Star the repository to help visibility
</a> - 🐞 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!