docs: Revamp README and add APK naming convention (#2)
This commit introduces a complete overhaul of the `README.md` to improve project presentation. Key changes include: • Adds a new header with the app icon and a Google Play badge. • Updates the feature graphic and includes a note distinguishing the OSS version from the Play Store version. • Refines the "Open Source Libraries" section to be more structured. • Moves the main preview image into the `docs` directory. Additionally, the `app/build.gradle.kts` file is updated to configure a standardized naming convention for output APK files, including flavor, version, and build type.
This commit is contained in:
parent
8b5dd8e78a
commit
92c2bf2822
5 changed files with 42 additions and 13 deletions
40
README.md
40
README.md
|
|
@ -1,13 +1,28 @@
|
|||
# Episteme Reader
|
||||
<div align="center">
|
||||
|
||||
A native Android document reader application built with Kotlin and Jetpack Compose.
|
||||
<h1>
|
||||
<img src="docs/ICON.png" height="48" style="vertical-align: middle; border-radius: 12px;" alt="Episteme Reader Icon"/>
|
||||
Episteme Reader
|
||||
</h1>
|
||||
|
||||

|
||||
<p>A native Android document reader application built with Kotlin and Jetpack Compose.</p>
|
||||
|
||||
<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>
|
||||
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
## Overview
|
||||
|
||||
Episteme Reader is an offline-first application designed for reading various document formats. It leverages native Android technologies and C++ libraries to provide a performant reading experience with customization capabilities.
|
||||
|
||||
> **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.
|
||||
|
||||
## Features
|
||||
|
||||
### Supported Formats
|
||||
|
|
@ -27,7 +42,7 @@ Episteme Reader is an offline-first application designed for reading various doc
|
|||
|
||||
### General
|
||||
* **Text-to-Speech (TTS):** Read documents aloud using the system TTS engine.
|
||||
* **File Management:** Built-in file browser and library organization.
|
||||
* **File Management:** Built-in library organization.
|
||||
|
||||
## Architecture
|
||||
|
||||
|
|
@ -35,14 +50,15 @@ Episteme Reader is an offline-first application designed for reading various doc
|
|||
* **Architecture:** MVVM with Unidirectional Data Flow.
|
||||
* **Database:** Room (SQLite) for metadata and annotations.
|
||||
* **PDF Engine:** `pdfium-android` (Native PDFium bindings).
|
||||
* **EPUB Engine:** Utilizes standard `WebView` for vertical scrolling mode, and a custom rendering engine for paginated mode.
|
||||
* **Mobi Engine:** Custom JNI bindings to `libmobi`.
|
||||
|
||||
## Building from Source
|
||||
|
||||
1. **Clone the repository:**
|
||||
```bash
|
||||
git clone https://github.com/your-username/episteme-oss.git
|
||||
cd episteme-oss
|
||||
git clone https://github.com/Aryan-Raj3112/episteme.git
|
||||
cd episteme
|
||||
```
|
||||
|
||||
2. **Build:**
|
||||
|
|
@ -53,13 +69,13 @@ Episteme Reader is an offline-first application designed for reading various doc
|
|||
|
||||
## Open Source Libraries
|
||||
|
||||
This project uses the following open-source libraries:
|
||||
This project is made possible by the Android open-source ecosystem:
|
||||
|
||||
* [pdfium-android](https://github.com/barteksc/PdfiumAndroid)
|
||||
* [libmobi](https://github.com/bfabiszewski/libmobi)
|
||||
* [Coil](https://coil-kt.github.io/coil/)
|
||||
* [Jsoup](https://jsoup.org/)
|
||||
* [Flexmark](https://github.com/vsch/flexmark-java)
|
||||
* **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)
|
||||
|
||||
## License
|
||||
|
||||
|
|
|
|||
|
|
@ -78,6 +78,19 @@ android {
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
val variant = this
|
||||
outputs.all {
|
||||
val output = this as com.android.build.gradle.internal.api.ApkVariantOutputImpl
|
||||
val flavor = variant.productFlavors.getOrNull(0)?.name ?: ""
|
||||
val buildType = variant.buildType.name
|
||||
val version = variant.versionName
|
||||
|
||||
output.outputFileName = "Episteme-$flavor-v$version-$buildType.apk"
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
// Top-level build file where you can add configuration options common to all subprojects/modules.
|
||||
plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.kotlin.android) apply false
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 647 KiB After Width: | Height: | Size: 647 KiB |
BIN
docs/ICON.png
Normal file
BIN
docs/ICON.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Loading…
Add table
Add a link
Reference in a new issue