From ff71623b900181f4f856032cffda871f22f8defe Mon Sep 17 00:00:00 2001 From: Philipp Wagner Date: Wed, 8 Jul 2026 22:03:38 +0200 Subject: [PATCH] Website: Version Dynamic and Roadmap Padding --- website/_site/about/index.html | 2 +- website/_site/assets/css/main.css | 12 ++ website/_site/contact/index.html | 2 +- website/_site/download/index.html | 22 +- website/_site/faq/index.html | 2 +- website/_site/features/airscout/index.html | 2 +- website/_site/features/dual-chat/index.html | 2 +- website/_site/features/dx-cluster/index.html | 2 +- website/_site/features/index.html | 2 +- website/_site/features/log-sync/index.html | 2 +- website/_site/features/macros/index.html | 2 +- .../_site/features/priority-score/index.html | 2 +- .../_site/features/sked-reminder/index.html | 2 +- website/_site/features/timeline/index.html | 2 +- website/_site/index.html | 2 +- website/_site/legal-notice/index.html | 2 +- .../manual/de/airscout-integration/index.html | 2 +- .../manual/de/benutzeroberflaeche/index.html | 2 +- website/_site/manual/de/changelog/index.html | 2 +- .../manual/de/dx-cluster-server/index.html | 2 +- website/_site/manual/de/funktionen/index.html | 2 +- website/_site/manual/de/home/index.html | 2 +- website/_site/manual/de/index.html | 2 +- .../_site/manual/de/installation/index.html | 2 +- .../_site/manual/de/konfiguration/index.html | 2 +- .../manual/de/log-synchronisation/index.html | 2 +- .../manual/de/makros-und-variablen/index.html | 2 +- .../manual/en/airscout-integration/index.html | 2 +- website/_site/manual/en/changelog/index.html | 2 +- .../_site/manual/en/configuration/index.html | 2 +- .../manual/en/dx-cluster-server/index.html | 2 +- website/_site/manual/en/features/index.html | 2 +- website/_site/manual/en/home/index.html | 2 +- website/_site/manual/en/index.html | 2 +- .../_site/manual/en/installation/index.html | 2 +- website/_site/manual/en/log-sync/index.html | 2 +- .../manual/en/macros-and-variables/index.html | 2 +- .../_site/manual/en/user-interface/index.html | 2 +- website/_site/manual/index.html | 2 +- .../news/2026-07-website-launch/index.html | 2 +- website/_site/news/index.html | 2 +- website/_site/privacy/index.html | 2 +- website/_site/roadmap/index.html | 8 +- website/_site/screenshots/index.html | 2 +- website/src/_data/downloads.js | 193 ++++++++++-------- website/src/assets/css/main.css | 12 ++ website/src/roadmap/index.njk | 4 +- 47 files changed, 192 insertions(+), 141 deletions(-) diff --git a/website/_site/about/index.html b/website/_site/about/index.html index 2d9ae60..5975fe5 100644 --- a/website/_site/about/index.html +++ b/website/_site/about/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/assets/css/main.css b/website/_site/assets/css/main.css index 763e54e..b1956f6 100644 --- a/website/_site/assets/css/main.css +++ b/website/_site/assets/css/main.css @@ -415,6 +415,18 @@ a:hover { color: var(--muted); } +.roadmap-version + .roadmap-version { + margin-top: 24px; +} + +.roadmap-version ul { + padding-left: 20px; +} + +.roadmap-version li { + margin-bottom: 8px; +} + .roadmap-done a { color: var(--muted); text-decoration: line-through; diff --git a/website/_site/contact/index.html b/website/_site/contact/index.html index c53435a..f1972e7 100644 --- a/website/_site/contact/index.html +++ b/website/_site/contact/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/download/index.html b/website/_site/download/index.html index 21367fe..925c919 100644 --- a/website/_site/download/index.html +++ b/website/_site/download/index.html @@ -17,7 +17,7 @@ - + @@ -95,7 +95,7 @@

ZIP x64

Best choice for most Windows users.

- Download → + Download →
@@ -109,7 +109,7 @@

Flatpak (.flatpakref)

Recommended for most Linux users. Open the file with GNOME Software / Discover, or run: flatpak install de.x08.KST4Contest.flatpakref

- Download → + Download →
@@ -121,7 +121,7 @@

AppImage x86_64

Portable Linux build without package installation.

- Download → + Download →
@@ -133,7 +133,7 @@

DEB amd64

Native package for Debian and Ubuntu based systems.

- Download → + Download →
@@ -145,7 +145,7 @@

RPM x86_64

Native package for Fedora/RPM based systems.

- Download → + Download →
@@ -157,7 +157,7 @@

pkg.tar.zst

Package build for Arch Linux users.

- Download → + Download →
@@ -169,7 +169,7 @@

DMG arm64

For Apple Silicon Macs.

- Download → + Download →
@@ -181,7 +181,7 @@

DMG x86_64

For Intel-based Macs.

- Download → + Download →
@@ -193,7 +193,7 @@

PDF

English PDF manual.

- Download → + Download →
@@ -205,7 +205,7 @@

PDF

German PDF manual.

- Download → + Download →
diff --git a/website/_site/faq/index.html b/website/_site/faq/index.html index e336691..42147f7 100644 --- a/website/_site/faq/index.html +++ b/website/_site/faq/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/airscout/index.html b/website/_site/features/airscout/index.html index d02d239..8680e43 100644 --- a/website/_site/features/airscout/index.html +++ b/website/_site/features/airscout/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/dual-chat/index.html b/website/_site/features/dual-chat/index.html index 2a68ae2..c93bba1 100644 --- a/website/_site/features/dual-chat/index.html +++ b/website/_site/features/dual-chat/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/dx-cluster/index.html b/website/_site/features/dx-cluster/index.html index db93bb7..fa5ee83 100644 --- a/website/_site/features/dx-cluster/index.html +++ b/website/_site/features/dx-cluster/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/index.html b/website/_site/features/index.html index e7094cc..f81332d 100644 --- a/website/_site/features/index.html +++ b/website/_site/features/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/log-sync/index.html b/website/_site/features/log-sync/index.html index b0a2f3f..f62df49 100644 --- a/website/_site/features/log-sync/index.html +++ b/website/_site/features/log-sync/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/macros/index.html b/website/_site/features/macros/index.html index d2c479f..c3cad8c 100644 --- a/website/_site/features/macros/index.html +++ b/website/_site/features/macros/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/priority-score/index.html b/website/_site/features/priority-score/index.html index 9bd52cb..1dae0ef 100644 --- a/website/_site/features/priority-score/index.html +++ b/website/_site/features/priority-score/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/sked-reminder/index.html b/website/_site/features/sked-reminder/index.html index 0d7f584..d4d3c5e 100644 --- a/website/_site/features/sked-reminder/index.html +++ b/website/_site/features/sked-reminder/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/features/timeline/index.html b/website/_site/features/timeline/index.html index 5087cc5..6e82b41 100644 --- a/website/_site/features/timeline/index.html +++ b/website/_site/features/timeline/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/index.html b/website/_site/index.html index 8071582..05f6263 100644 --- a/website/_site/index.html +++ b/website/_site/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/legal-notice/index.html b/website/_site/legal-notice/index.html index f9884d9..c4e483c 100644 --- a/website/_site/legal-notice/index.html +++ b/website/_site/legal-notice/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/airscout-integration/index.html b/website/_site/manual/de/airscout-integration/index.html index 0254a03..e6c65dc 100644 --- a/website/_site/manual/de/airscout-integration/index.html +++ b/website/_site/manual/de/airscout-integration/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/benutzeroberflaeche/index.html b/website/_site/manual/de/benutzeroberflaeche/index.html index 3ffe93b..3fd3051 100644 --- a/website/_site/manual/de/benutzeroberflaeche/index.html +++ b/website/_site/manual/de/benutzeroberflaeche/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/changelog/index.html b/website/_site/manual/de/changelog/index.html index 2a2bf75..78dbe19 100644 --- a/website/_site/manual/de/changelog/index.html +++ b/website/_site/manual/de/changelog/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/dx-cluster-server/index.html b/website/_site/manual/de/dx-cluster-server/index.html index c668bf4..1a5e633 100644 --- a/website/_site/manual/de/dx-cluster-server/index.html +++ b/website/_site/manual/de/dx-cluster-server/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/funktionen/index.html b/website/_site/manual/de/funktionen/index.html index c339986..7c80536 100644 --- a/website/_site/manual/de/funktionen/index.html +++ b/website/_site/manual/de/funktionen/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/home/index.html b/website/_site/manual/de/home/index.html index 160938e..9fb719b 100644 --- a/website/_site/manual/de/home/index.html +++ b/website/_site/manual/de/home/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/index.html b/website/_site/manual/de/index.html index a903b7a..254cd58 100644 --- a/website/_site/manual/de/index.html +++ b/website/_site/manual/de/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/installation/index.html b/website/_site/manual/de/installation/index.html index 8cca68d..def13d4 100644 --- a/website/_site/manual/de/installation/index.html +++ b/website/_site/manual/de/installation/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/konfiguration/index.html b/website/_site/manual/de/konfiguration/index.html index 6306910..2f26b23 100644 --- a/website/_site/manual/de/konfiguration/index.html +++ b/website/_site/manual/de/konfiguration/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/log-synchronisation/index.html b/website/_site/manual/de/log-synchronisation/index.html index 4aee547..29c3706 100644 --- a/website/_site/manual/de/log-synchronisation/index.html +++ b/website/_site/manual/de/log-synchronisation/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/de/makros-und-variablen/index.html b/website/_site/manual/de/makros-und-variablen/index.html index 7f55571..703c27b 100644 --- a/website/_site/manual/de/makros-und-variablen/index.html +++ b/website/_site/manual/de/makros-und-variablen/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/airscout-integration/index.html b/website/_site/manual/en/airscout-integration/index.html index 5d92439..dec1fbb 100644 --- a/website/_site/manual/en/airscout-integration/index.html +++ b/website/_site/manual/en/airscout-integration/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/changelog/index.html b/website/_site/manual/en/changelog/index.html index 0be752a..c1f6e42 100644 --- a/website/_site/manual/en/changelog/index.html +++ b/website/_site/manual/en/changelog/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/configuration/index.html b/website/_site/manual/en/configuration/index.html index 86e69a1..7f79f15 100644 --- a/website/_site/manual/en/configuration/index.html +++ b/website/_site/manual/en/configuration/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/dx-cluster-server/index.html b/website/_site/manual/en/dx-cluster-server/index.html index 6d7a499..ec38294 100644 --- a/website/_site/manual/en/dx-cluster-server/index.html +++ b/website/_site/manual/en/dx-cluster-server/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/features/index.html b/website/_site/manual/en/features/index.html index d592c16..c499393 100644 --- a/website/_site/manual/en/features/index.html +++ b/website/_site/manual/en/features/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/home/index.html b/website/_site/manual/en/home/index.html index 7481287..4ab6bd6 100644 --- a/website/_site/manual/en/home/index.html +++ b/website/_site/manual/en/home/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/index.html b/website/_site/manual/en/index.html index b016c12..578223a 100644 --- a/website/_site/manual/en/index.html +++ b/website/_site/manual/en/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/installation/index.html b/website/_site/manual/en/installation/index.html index 48afc27..a2e6010 100644 --- a/website/_site/manual/en/installation/index.html +++ b/website/_site/manual/en/installation/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/log-sync/index.html b/website/_site/manual/en/log-sync/index.html index f19810d..7091196 100644 --- a/website/_site/manual/en/log-sync/index.html +++ b/website/_site/manual/en/log-sync/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/macros-and-variables/index.html b/website/_site/manual/en/macros-and-variables/index.html index 2f427b2..2c3e282 100644 --- a/website/_site/manual/en/macros-and-variables/index.html +++ b/website/_site/manual/en/macros-and-variables/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/en/user-interface/index.html b/website/_site/manual/en/user-interface/index.html index 7c421f7..7c20880 100644 --- a/website/_site/manual/en/user-interface/index.html +++ b/website/_site/manual/en/user-interface/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/manual/index.html b/website/_site/manual/index.html index 39887a2..1cec572 100644 --- a/website/_site/manual/index.html +++ b/website/_site/manual/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/news/2026-07-website-launch/index.html b/website/_site/news/2026-07-website-launch/index.html index 72032dc..75d41b9 100644 --- a/website/_site/news/2026-07-website-launch/index.html +++ b/website/_site/news/2026-07-website-launch/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/news/index.html b/website/_site/news/index.html index 85c9520..d695d36 100644 --- a/website/_site/news/index.html +++ b/website/_site/news/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/privacy/index.html b/website/_site/privacy/index.html index e48a823..ef49866 100644 --- a/website/_site/privacy/index.html +++ b/website/_site/privacy/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/roadmap/index.html b/website/_site/roadmap/index.html index 8be32b9..0f07eef 100644 --- a/website/_site/roadmap/index.html +++ b/website/_site/roadmap/index.html @@ -17,7 +17,7 @@ - + @@ -77,7 +77,7 @@ -
+

v1.42

@@ -92,7 +92,7 @@
-
+

v1.41

@@ -109,7 +109,7 @@
-
+

Planned, no version yet

diff --git a/website/_site/screenshots/index.html b/website/_site/screenshots/index.html index ee1bdb9..30dc9f8 100644 --- a/website/_site/screenshots/index.html +++ b/website/_site/screenshots/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/src/_data/downloads.js b/website/src/_data/downloads.js index 3eff787..8622795 100644 --- a/website/src/_data/downloads.js +++ b/website/src/_data/downloads.js @@ -1,85 +1,112 @@ -const latestTag = "v1.41.0"; -const base = `https://github.com/praktimarc/kst4contest/releases/download/${latestTag}`; +const REPO = "praktimarc/kst4contest"; +const API = `https://api.github.com/repos/${REPO}`; +const FALLBACK_TAG = "v1.41.1"; -module.exports = [ - { - os: "Windows", - format: "ZIP x64", - icon: "🪟", - recommended: true, - note: "Best choice for most Windows users.", - url: `${base}/praktiKST-${latestTag}-windows-x64.zip` - }, - { - os: "Linux", - format: "Flatpak (.flatpakref)", - icon: "🐧", - recommended: true, - note: "Recommended for most Linux users. Open the file with GNOME Software / Discover, or run: flatpak install de.x08.KST4Contest.flatpakref", - url: `${base}/de.x08.KST4Contest.flatpakref` - }, - { - os: "Linux", - format: "AppImage x86_64", - icon: "🐧", - recommended: false, - note: "Portable Linux build without package installation.", - url: `${base}/KST4Contest-${latestTag}-linux-x86_64.AppImage` - }, - { - os: "Debian / Ubuntu", - format: "DEB amd64", - icon: "📦", - recommended: false, - note: "Native package for Debian and Ubuntu based systems.", - url: `${base}/KST4Contest-${latestTag}-debian-amd64.deb` - }, - { - os: "Fedora", - format: "RPM x86_64", - icon: "📦", - recommended: false, - note: "Native package for Fedora/RPM based systems.", - url: `${base}/KST4Contest-${latestTag}-fedora-x86_64.rpm` - }, - { - os: "Arch Linux", - format: "pkg.tar.zst", - icon: "📦", - recommended: false, - note: "Package build for Arch Linux users.", - url: `${base}/KST4Contest-${latestTag}-archlinux-x86_64.pkg.tar.zst` - }, - { - os: "macOS Apple Silicon", - format: "DMG arm64", - icon: "🍎", - recommended: false, - note: "For Apple Silicon Macs.", - url: `${base}/KST4Contest-${latestTag}-macos-arm64.dmg` - }, - { - os: "macOS Intel", - format: "DMG x86_64", - icon: "🍎", - recommended: false, - note: "For Intel-based Macs.", - url: `${base}/KST4Contest-${latestTag}-macos-x86_64.dmg` - }, - { - os: "Manual English", - format: "PDF", - icon: "📘", - recommended: false, - note: "English PDF manual.", - url: `${base}/KST4Contest-${latestTag}-manual-en.pdf` - }, - { - os: "Manual German", - format: "PDF", - icon: "📘", - recommended: false, - note: "German PDF manual.", - url: `${base}/KST4Contest-${latestTag}-manual-de.pdf` +async function fetchLatestReleaseTag() { + const headers = { Accept: "application/vnd.github+json" }; + if (process.env.GITHUB_TOKEN) { + headers.Authorization = `Bearer ${process.env.GITHUB_TOKEN}`; } -]; \ No newline at end of file + + try { + const res = await fetch(`${API}/releases/latest`, { headers }); + if (!res.ok) { + throw new Error(`GitHub API /releases/latest failed: ${res.status}`); + } + const release = await res.json(); + return release.tag_name || FALLBACK_TAG; + } catch (err) { + console.warn(`[downloads] Could not load latest release tag, falling back to ${FALLBACK_TAG}: ${err.message}`); + return FALLBACK_TAG; + } +} + +// Builds the download list from the latest GitHub release tag so it never +// drifts out of sync with what tagged-release.yml actually published. +module.exports = async function () { + const latestTag = await fetchLatestReleaseTag(); + const base = `https://github.com/${REPO}/releases/download/${latestTag}`; + + return [ + { + os: "Windows", + format: "ZIP x64", + icon: "🪟", + recommended: true, + note: "Best choice for most Windows users.", + url: `${base}/praktiKST-${latestTag}-windows-x64.zip` + }, + { + os: "Linux", + format: "Flatpak (.flatpakref)", + icon: "🐧", + recommended: true, + note: "Recommended for most Linux users. Open the file with GNOME Software / Discover, or run: flatpak install de.x08.KST4Contest.flatpakref", + url: `${base}/de.x08.KST4Contest.flatpakref` + }, + { + os: "Linux", + format: "AppImage x86_64", + icon: "🐧", + recommended: false, + note: "Portable Linux build without package installation.", + url: `${base}/KST4Contest-${latestTag}-linux-x86_64.AppImage` + }, + { + os: "Debian / Ubuntu", + format: "DEB amd64", + icon: "📦", + recommended: false, + note: "Native package for Debian and Ubuntu based systems.", + url: `${base}/KST4Contest-${latestTag}-debian-amd64.deb` + }, + { + os: "Fedora", + format: "RPM x86_64", + icon: "📦", + recommended: false, + note: "Native package for Fedora/RPM based systems.", + url: `${base}/KST4Contest-${latestTag}-fedora-x86_64.rpm` + }, + { + os: "Arch Linux", + format: "pkg.tar.zst", + icon: "📦", + recommended: false, + note: "Package build for Arch Linux users.", + url: `${base}/KST4Contest-${latestTag}-archlinux-x86_64.pkg.tar.zst` + }, + { + os: "macOS Apple Silicon", + format: "DMG arm64", + icon: "🍎", + recommended: false, + note: "For Apple Silicon Macs.", + url: `${base}/KST4Contest-${latestTag}-macos-arm64.dmg` + }, + { + os: "macOS Intel", + format: "DMG x86_64", + icon: "🍎", + recommended: false, + note: "For Intel-based Macs.", + url: `${base}/KST4Contest-${latestTag}-macos-x86_64.dmg` + }, + { + os: "Manual English", + format: "PDF", + icon: "📘", + recommended: false, + note: "English PDF manual.", + url: `${base}/KST4Contest-${latestTag}-manual-en.pdf` + }, + { + os: "Manual German", + format: "PDF", + icon: "📘", + recommended: false, + note: "German PDF manual.", + url: `${base}/KST4Contest-${latestTag}-manual-de.pdf` + } + ]; +}; diff --git a/website/src/assets/css/main.css b/website/src/assets/css/main.css index 763e54e..b1956f6 100644 --- a/website/src/assets/css/main.css +++ b/website/src/assets/css/main.css @@ -415,6 +415,18 @@ a:hover { color: var(--muted); } +.roadmap-version + .roadmap-version { + margin-top: 24px; +} + +.roadmap-version ul { + padding-left: 20px; +} + +.roadmap-version li { + margin-bottom: 8px; +} + .roadmap-done a { color: var(--muted); text-decoration: line-through; diff --git a/website/src/roadmap/index.njk b/website/src/roadmap/index.njk index e023eb9..139b22b 100644 --- a/website/src/roadmap/index.njk +++ b/website/src/roadmap/index.njk @@ -16,7 +16,7 @@ description: Planned enhancements for upcoming KST4Contest versions, generated f
{% if roadmap.length == 0 %} -
+

No planned enhancements are currently assigned to a version milestone.

See all open feature requests on @@ -26,7 +26,7 @@ description: Planned enhancements for upcoming KST4Contest versions, generated f {% endif %} {% for version in roadmap %} -