diff options
| author | Danilo M. <danix@danix.xyz> | 2026-11-05 17:16:56 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-11-05 17:16:56 +0100 |
| commit | afa0e5edda3c6d8097d7364a600e58eeded08938 (patch) | |
| tree | 20a6c093a4a0c0cee658ae816b011090dbc74454 | |
| parent | e4ed367a113801b025a16c870c29cb45a112e44b (diff) | |
| download | danixxyz-afa0e5edda3c6d8097d7364a600e58eeded08938.tar.gz danixxyz-afa0e5edda3c6d8097d7364a600e58eeded08938.zip | |
feat: show the latest HardenedPass release on its landing pagerelease_05112026-1717
Read from GitHub when the site builds, so visitors contact no third party and it
works without JavaScript. A failed lookup warns and leaves the line out.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| -rw-r--r-- | content/en/hardenedpass/_index.md | 2 | ||||
| -rw-r--r-- | content/it/hardenedpass/_index.md | 2 | ||||
| -rw-r--r-- | layouts/shortcodes/latest-release.html | 16 |
3 files changed, 20 insertions, 0 deletions
diff --git a/content/en/hardenedpass/_index.md b/content/en/hardenedpass/_index.md index 6eae87f..9d120ea 100644 --- a/content/en/hardenedpass/_index.md +++ b/content/en/hardenedpass/_index.md @@ -19,6 +19,8 @@ original work goes to the Android Password Store authors. {{< actions url="https://github.com/danixland/HardenedPass/releases/latest" desc="Download the latest release" use="site" caption="HardenedPass is not on any app store. Get the APK from GitHub." >}} +{{< latest-release repo="danixland/HardenedPass" label="Latest release" >}} + ## What is different from upstream - Reads what modern GnuPG writes. Upstream rejected the OCB messages GnuPG 2.3 and later diff --git a/content/it/hardenedpass/_index.md b/content/it/hardenedpass/_index.md index 3934e69..2a21b72 100644 --- a/content/it/hardenedpass/_index.md +++ b/content/it/hardenedpass/_index.md @@ -19,6 +19,8 @@ lavoro originale va agli autori di Android Password Store. {{< actions url="https://github.com/danixland/HardenedPass/releases/latest" desc="Scarica l'ultima release" use="site" caption="HardenedPass non è su nessuno store. L'APK si scarica da GitHub." >}} +{{< latest-release repo="danixland/HardenedPass" label="Ultima release" >}} + ## Cosa cambia rispetto a upstream - Legge quello che scrive il GnuPG moderno. Upstream rifiutava i messaggi OCB che GnuPG 2.3 e diff --git a/layouts/shortcodes/latest-release.html b/layouts/shortcodes/latest-release.html new file mode 100644 index 0000000..33389c7 --- /dev/null +++ b/layouts/shortcodes/latest-release.html @@ -0,0 +1,16 @@ +{{- /* + The latest release of a GitHub repository, read when the site builds so visitors never contact + GitHub. Params: repo (owner/name), label. Prints nothing if GitHub cannot be reached. + The key changes on every build: GetRemote's cache never expires by default. + ponytail: each build leaves one small file in Hugo's cache; `hugo --gc` if that ever matters. +*/ -}} +{{- $url := printf "https://api.github.com/repos/%s/releases/latest" (.Get "repo") -}} +{{- with try (resources.GetRemote $url (dict "key" now.Unix)) -}} + {{- with .Err -}} + {{- warnf "latest-release: %s" . -}} + {{- else with .Value -}} + {{- with (. | transform.Unmarshal).tag_name -}} +<p class="cta-block__caption">{{ $.Get "label" }}: {{ strings.TrimPrefix "v" . }}</p> + {{- end -}} + {{- end -}} +{{- end -}} |
