From d66cfc671d998e2eb9ea63e98fd043a229f2959e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EB=B0=95=EC=9A=A9=EC=9D=80?=
Date: Mon, 27 Jul 2026 10:30:44 +0900
Subject: [PATCH 1/2] docs: show the Trendshift daily-Kotlin award on the
README and landing hero
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Markleaf reached #1 Kotlin repository of the day on Trendshift (23 Jul 2026).
The badge goes on both public surfaces, in all six languages, with the alt text
translated the way the demo clips already are.
The two surfaces embed it differently on purpose. The READMEs use Trendshift's
live badge URL: GitHub proxies README images through camo, so a reader never
contacts Trendshift and the badge stays accurate on its own. GitHub Pages
proxies nothing, so the landing pages serve a checked-in copy of the SVG
instead — embedding the live URL there would have every visitor's browser hit a
third party, on the page whose whole argument is that Markleaf does not phone
home. docs/assets/README.md records that trade-off and how to refresh the file.
Verified: check-landing-overflow.mjs passes (12 pages x 6 widths, no horizontal
overflow) and verify-landing-versions.ps1 still passes; a headless render
confirms the SVG loads and sits inside the hero on all six pages at 320px and
1280px; GitHub's markdown API confirms the README embed survives sanitisation
with its link, dimensions and alt intact.
Co-Authored-By: Claude Opus 5
---
README.de.md | 4 ++++
README.es.md | 4 ++++
README.fr.md | 4 ++++
README.ja.md | 4 ++++
README.ko.md | 4 ++++
README.md | 4 ++++
docs/assets/README.md | 24 ++++++++++++++++++++++++
docs/assets/trendshift-daily-kotlin.svg | 7 +++++++
docs/index.de.html | 3 +++
docs/index.es.html | 3 +++
docs/index.fr.html | 3 +++
docs/index.html | 3 +++
docs/index.ja.html | 3 +++
docs/index.ko.html | 3 +++
docs/landing.css | 5 +++++
15 files changed, 78 insertions(+)
create mode 100644 docs/assets/trendshift-daily-kotlin.svg
diff --git a/README.de.md b/README.de.md
index 68ca128..a9a723a 100644
--- a/README.de.md
+++ b/README.de.md
@@ -9,6 +9,10 @@
Eine local-first, minimalistische Markdown-Notiz-App für Android
+
+
+
+
diff --git a/README.es.md b/README.es.md
index 3698dc3..a2b3918 100644
--- a/README.es.md
+++ b/README.es.md
@@ -9,6 +9,10 @@
Una app de notas Markdown minimalista y local-first para Android
+
+
+
+
diff --git a/README.fr.md b/README.fr.md
index f8d32a4..94a91cf 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -9,6 +9,10 @@
Une application de notes Markdown minimaliste et local-first pour Android
diff --git a/README.md b/README.md
index 4bfa111..c6c07ac 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,10 @@
A local-first, minimal Markdown note app for Android
+
+
+
+
diff --git a/docs/assets/README.md b/docs/assets/README.md
index 04dba72..efa4d28 100644
--- a/docs/assets/README.md
+++ b/docs/assets/README.md
@@ -50,3 +50,27 @@ URLs regardless.
| `markleaf-feature-graphic-1024x500.png` | Play Console feature graphic |
| `markleaf-playstore-icon-512.png` | Play Console app icon |
| `logo.svg` | Landing header |
+
+## Badges
+
+| File | Use |
+|---|---|
+| `trendshift-daily-kotlin.svg` | Landing hero award badge, all six languages |
+
+### Why a local copy and not Trendshift's live badge URL
+
+Trendshift serves this badge from `trendshift.io/api/badge/…`, and that is what
+the six READMEs embed: GitHub proxies README images through camo, so a reader
+never contacts Trendshift. GitHub Pages proxies nothing. Embedding the live URL
+here would have every visitor's browser hit a third party, on the page whose
+whole argument is that Markleaf does not phone home — so the landing pages serve
+this checked-in copy instead.
+
+The cost is that the file no longer follows the live badge. That is acceptable
+because it records a dated achievement — #1 Kotlin repository of the day, first
+reached 23 Jul 2026 — and not a current standing. Re-download it only if the
+award itself changes:
+
+```
+curl -L "https://trendshift.io/api/badge/trendshift/repositories/58116/daily?language=Kotlin" -o docs/assets/trendshift-daily-kotlin.svg
+```
diff --git a/docs/assets/trendshift-daily-kotlin.svg b/docs/assets/trendshift-daily-kotlin.svg
new file mode 100644
index 0000000..a041243
--- /dev/null
+++ b/docs/assets/trendshift-daily-kotlin.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/docs/index.de.html b/docs/index.de.html
index 718211d..079c2e5 100644
--- a/docs/index.de.html
+++ b/docs/index.de.html
@@ -92,6 +92,9 @@
Notizen auf deinem Gerät. Gedanken in Markdown.GitHub APK
+
+
+
diff --git a/docs/landing.css b/docs/landing.css
index 5e7cdab..7d330e4 100644
--- a/docs/landing.css
+++ b/docs/landing.css
@@ -415,6 +415,11 @@ li {
margin-top: var(--space-4);
}
+.hero-award {
+ display: inline-block;
+ margin-top: var(--space-6);
+}
+
.hero-product {
margin: var(--space-8) 0;
padding-bottom: var(--space-8);
From 1367b22839d8fd40f742a695dad32ff644e06496 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EB=B0=95=EC=9A=A9=EC=9D=80?=
Date: Mon, 27 Jul 2026 10:49:20 +0900
Subject: [PATCH 2/2] docs: log the Trendshift badge work in HISTORY.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Codex review flagged the missing documentation record. AGENTS.md keeps a
work-unit entry in HISTORY.md for every change, and PR #282 — a docs-only
landing and README change — set the precedent.
The same review also asked for a CHANGELOG entry. That half does not apply:
CHANGELOG.md is strictly version-sectioned and is the source the release job's
awk parser cuts GitHub release notes from, it has no Unreleased section, and
this change carries no version bump, so an entry would mean inventing a version
or editing v2.32.1's already-published notes. Nothing about the app changed.
The HISTORY entry records that reasoning.
Co-Authored-By: Claude Opus 5
---
HISTORY.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/HISTORY.md b/HISTORY.md
index 48122dc..fa7e1bb 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,3 +1,11 @@
+## 2026-07-27 - The Trendshift daily-Kotlin award on the README and landing hero
+
+- Trigger: Trendshift ranked the repository #1 Kotlin repository of the day on 23 Jul 2026, and the maintainer asked whether the badge it hands out belonged on the README. It did, and the landing pages were added in the same pass.
+- Analysis: the snippet Trendshift generates embeds their live badge URL, and the two public surfaces fetch images very differently. GitHub proxies README images through camo, so a reader never contacts Trendshift and a live badge stays accurate on its own. GitHub Pages proxies nothing — the same URL there would have every visitor's browser hit a third party, on the page whose whole argument is that Markleaf does not phone home. The snippet also carries `target="_blank" rel="noopener noreferrer"`, which GitHub strips and replaces with `rel="nofollow"`, and a URL-encoded `alt` (`jeiel85%2Fmarkleaf-android | Trendshift`).
+- Contract/scope: live URL in the six READMEs, a checked-in copy of the SVG (3.7 KB, self-contained — no external refs or scripts, internal gradient ids only) on the six landing pages. README block sits between the tagline and the shields row, because a 250x55 badge beside 20px shields reads badly; landing markup is one `a.hero-award` under the release line, with a three-line CSS rule since the global `img` rule already caps width. Alt text translated per language, the way the demo clips already are. `docs/assets/README.md` records why the file is checked in and how to refresh it.
+- Verification: `check-landing-overflow.mjs` passes 12 pages x 6 widths; `verify-landing-versions.ps1` still passes. A headless render of all six landing pages at 320px and 1280px confirms the SVG loads (natural 250x55), renders at 250x55, sits 24px below the release line, stays inside the viewport and the hero block, and carries non-empty alt everywhere. `gh api -X POST markdown` on the README header confirms the embed survives GitHub's sanitiser with its link (utm parameters intact), dimensions and alt.
+- No CHANGELOG entry, against the Codex review's P1: that file is strictly version-sectioned and is the literal source the release job's awk parser cuts release notes from, it has no Unreleased section, and this change carries no version bump — recording it would mean inventing a version or editing v2.32.1's already-published notes. Nothing about the app changed. PR #282, the nearest analogue, logged HISTORY only for the same reason.
+
## 2026-07-27 - The editor caret takes the theme's colour, and v2.32.1 (#283)
- Trigger: an F-Droid user on 2.28.3 wrote in with two screenshots — a dark page, a themed drag handle, and a black caret they had to hunt for, in both Markleaf Green and Material You (#283).