From 66d8b826489caabf3ae566ca05d188d53b868cf0 Mon Sep 17 00:00:00 2001 From: anas Date: Wed, 7 Oct 2026 23:17:49 +0200 Subject: [PATCH 1/2] Put the download where someone looking for it will look MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The APK has been in releases/ all along, but nothing on the front page said so, and the first thing most people want from an app's repository is the app. A Download section above the fold: the current build as a relative link that works on any forge, the raw URL spelled out for anywhere the relative one does not resolve, the checksum to verify it, and a pointer to releases/ for every earlier version. It also says plainly that Android will call the developer unknown and ask to install anyway. That warning is what Android says about every app installed outside a store, and read cold it looks like the app is unsafe rather than merely unlisted — better to say so first than to let someone find out and assume the worst. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 1a92b50..c027955 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,32 @@ and Arabic script, online or fully offline. Jetpack Compose, Material 3, `minSdk 24`. No account, no tracking, no server of its own. +## Download + +**[ganjoor-0.4.0.apk](releases/ganjoor-0.4.0.apk)** — 31.7 MB, `minSdk 24` (Android 7.0 and up). + +Direct link, if you are reading this somewhere the one above does not resolve: + +``` +https://github.com/anas-rashid/ganjoorandroid/raw/main/releases/ganjoor-0.4.0.apk +``` + +Every version ever released is kept in [`releases/`](releases/) with its checksum, and all of +them are signed with the same key, so any one upgrades any other in place without losing your +bookmarks. Check what you downloaded: + +```sh +sha256sum ganjoor-0.4.0.apk +# 1c64cefa0fb2b51bf73386460ec1b88bda3e20832fa6926c2f7f1fb863ab9fc7 +``` + +Android will warn that the developer is unknown and ask you to install anyway. That is what it +says about **any** app installed outside a store; this one is signed with its own certificate +rather than distributed through Play. Allow installs from your browser once, and it will go +through. + +To build it yourself instead, see [Build](#build). + ## Reading Poems are set as couplets: the two hemistichs of each line stack on a phone, the first aligned From 6590a6b21ad9d3f75e72bb09ad63682bfd3c2b83 Mon Sep 17 00:00:00 2001 From: anas Date: Wed, 7 Oct 2026 23:19:32 +0200 Subject: [PATCH 2/2] Move the download under the opening paragraph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Below the tech line is already too far down. Someone who has just read what the app is wants the app next, not the toolkit it is written in. One line now, as a heading so it reads as a button rather than prose, with the facts that decide whether to tap it beside it — Android version, size, older releases, checksum — and the install warning under it. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 35 +++++++++-------------------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index c027955..d01ea4d 100644 --- a/README.md +++ b/README.md @@ -13,34 +13,17 @@ An Android reader for [Ganjoor](https://ganjoor.net), the open archive of Persia 240 poets and ~135,000 poems, laid out for comfortable long-form reading in Persian, Urdu and Arabic script, online or fully offline. +### ⬇ [Download ganjoor-0.4.0.apk](releases/ganjoor-0.4.0.apk) + +Android 7.0 and up · 31.7 MB · [older releases](releases/) · `sha256 1c64cefa…fb863ab9fc7` + +Android will call the developer unknown and offer to install anyway — it says that about every +app installed outside a store. Allow installs from your browser once and it will go through. +Every release is signed with the same key, so a new one upgrades the last without losing your +bookmarks. [Build it yourself](#build) instead if you would rather. + Jetpack Compose, Material 3, `minSdk 24`. No account, no tracking, no server of its own. -## Download - -**[ganjoor-0.4.0.apk](releases/ganjoor-0.4.0.apk)** — 31.7 MB, `minSdk 24` (Android 7.0 and up). - -Direct link, if you are reading this somewhere the one above does not resolve: - -``` -https://github.com/anas-rashid/ganjoorandroid/raw/main/releases/ganjoor-0.4.0.apk -``` - -Every version ever released is kept in [`releases/`](releases/) with its checksum, and all of -them are signed with the same key, so any one upgrades any other in place without losing your -bookmarks. Check what you downloaded: - -```sh -sha256sum ganjoor-0.4.0.apk -# 1c64cefa0fb2b51bf73386460ec1b88bda3e20832fa6926c2f7f1fb863ab9fc7 -``` - -Android will warn that the developer is unknown and ask you to install anyway. That is what it -says about **any** app installed outside a store; this one is signed with its own certificate -rather than distributed through Play. Allow installs from your browser once, and it will go -through. - -To build it yourself instead, see [Build](#build). - ## Reading Poems are set as couplets: the two hemistichs of each line stack on a phone, the first aligned