From 6d1e08711a3054485c6865d5aedc4f58ec065700 Mon Sep 17 00:00:00 2001 From: Marc Froehlich Date: Tue, 7 Jul 2026 00:51:36 +0200 Subject: [PATCH] Add Markdown-based news content model --- website/.eleventy.js | 8 ++ website/_site/download/index.html | 2 +- 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 +- .../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 | 81 +++++++++++++++++++ website/_site/news/index.html | 24 +++--- website/_site/screenshots/index.html | 2 +- website/_site/sitemap.xml | 6 +- website/src/_layouts/news-post.njk | 15 ++++ website/src/news/2026-07-website-launch.md | 17 ++++ website/src/news/index.njk | 23 +++--- website/src/news/news.json | 4 + 44 files changed, 192 insertions(+), 58 deletions(-) create mode 100644 website/_site/news/2026-07-website-launch/index.html create mode 100644 website/src/_layouts/news-post.njk create mode 100644 website/src/news/2026-07-website-launch.md create mode 100644 website/src/news/news.json diff --git a/website/.eleventy.js b/website/.eleventy.js index f8f7c68..b88f0d9 100644 --- a/website/.eleventy.js +++ b/website/.eleventy.js @@ -28,6 +28,14 @@ function rewriteManualLinks(content, lang) { module.exports = function (eleventyConfig) { + eleventyConfig.addFilter("readableDate", function (dateObj) { + return new Intl.DateTimeFormat("en", { + year: "numeric", + month: "long", + day: "numeric" + }).format(dateObj); + }); + eleventyConfig.addCollection("sortedFeatures", function (collectionApi) { return collectionApi.getFilteredByTag("features").sort((a, b) => { return (a.data.order || 999) - (b.data.order || 999); diff --git a/website/_site/download/index.html b/website/_site/download/index.html index 4f35724..ccc6408 100644 --- a/website/_site/download/index.html +++ b/website/_site/download/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/faq/index.html b/website/_site/faq/index.html index 16e5b59..23b9443 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 aa1588e..81c555b 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 a4610c1..645b595 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 d85f4c4..cccca1b 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 7e2a3f7..0730c7f 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 672f77b..9694486 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 c6b4fb3..ae48222 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 726056a..3767ce4 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 1b89f85..0b41f69 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 627ca7e..2d68452 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 224c5af..3a12777 100644 --- a/website/_site/index.html +++ b/website/_site/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 9ef0561..9c52c8d 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 76d2d41..8d9cf96 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 bcaa53a..79da37d 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 05f36ec..4c395a5 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 e78e038..f7001bc 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 852ae33..368d62e 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 ca89456..aa98439 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 b884e1c..3a7ed26 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 dcf877c..e235ef7 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 f5af2d1..33ddbaa 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 cf16bcc..fda24b7 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 03dd69f..455c020 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 e6ac01e..349597b 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 c89754a..a01fce2 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 20f0751..81f91c3 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 7afc909..173598a 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 919a0a8..0b0426f 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 ee10fed..c013490 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 6cef97a..039b07a 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 7ca0f87..6d95822 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 874d89a..5e7d612 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 ca460c9..96bfbd3 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 75da5fb..d1d48e4 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 new file mode 100644 index 0000000..1b5899f --- /dev/null +++ b/website/_site/news/2026-07-website-launch/index.html @@ -0,0 +1,81 @@ + + + + + KST4Contest Website Launch + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+

News · July 7, 2026

+

KST4Contest Website Launch

+

The new KST4Contest website is being built as a static, SEO-friendly product portal with GitHub-based documentation.

+
+ +
+
+

A new home for KST4Contest

+

KST4Contest now has its own website at kst4contest.hamradioonline.de.

+

The site is built with Eleventy, generated from version-controlled Markdown and deployed as a fast static website.

+

Why this matters

+

The goal is to make KST4Contest easier to discover, easier to document and easier to maintain.

+

Documentation, release information, feature pages and future updates can now grow from a shared content model.

+ +
+
+
+ + + + \ No newline at end of file diff --git a/website/_site/news/index.html b/website/_site/news/index.html index 420c9d5..65b88e7 100644 --- a/website/_site/news/index.html +++ b/website/_site/news/index.html @@ -17,7 +17,7 @@ - + @@ -55,19 +55,23 @@
-

News

-

- Release notes, development updates and contest workflow improvements. +

News

+

Development updates and release notes.

+

+ Updates about KST4Contest releases, website improvements and contest workflow development.

-
-

Website launch

-

- The new KST4Contest website is being built as a static, SEO-friendly product site - with GitHub-based documentation and automated deployment. -

+
+ + +
diff --git a/website/_site/screenshots/index.html b/website/_site/screenshots/index.html index c68b425..a646eaa 100644 --- a/website/_site/screenshots/index.html +++ b/website/_site/screenshots/index.html @@ -17,7 +17,7 @@ - + diff --git a/website/_site/sitemap.xml b/website/_site/sitemap.xml index c95ee34..0b9d74d 100644 --- a/website/_site/sitemap.xml +++ b/website/_site/sitemap.xml @@ -18,9 +18,6 @@ https://kst4contest.hamradioonline.de/screenshots/ - - https://kst4contest.hamradioonline.de/news/ - https://kst4contest.hamradioonline.de/faq/ @@ -54,4 +51,7 @@ https://kst4contest.hamradioonline.de/features/macros/ + + https://kst4contest.hamradioonline.de/news/2026-07-website-launch/ + \ No newline at end of file diff --git a/website/src/_layouts/news-post.njk b/website/src/_layouts/news-post.njk new file mode 100644 index 0000000..222503b --- /dev/null +++ b/website/src/_layouts/news-post.njk @@ -0,0 +1,15 @@ +--- +layout: base.njk +--- + +
+

News · {{ date | readableDate }}

+

{{ title }}

+

{{ summary }}

+
+ +
+
+ {{ content | safe }} +
+
\ No newline at end of file diff --git a/website/src/news/2026-07-website-launch.md b/website/src/news/2026-07-website-launch.md new file mode 100644 index 0000000..480acc8 --- /dev/null +++ b/website/src/news/2026-07-website-launch.md @@ -0,0 +1,17 @@ +--- +title: KST4Contest Website Launch +summary: The new KST4Contest website is being built as a static, SEO-friendly product portal with GitHub-based documentation. +date: 2026-07-07 +--- + +## A new home for KST4Contest + +KST4Contest now has its own website at `kst4contest.hamradioonline.de`. + +The site is built with Eleventy, generated from version-controlled Markdown and deployed as a fast static website. + +## Why this matters + +The goal is to make KST4Contest easier to discover, easier to document and easier to maintain. + +Documentation, release information, feature pages and future updates can now grow from a shared content model. \ No newline at end of file diff --git a/website/src/news/index.njk b/website/src/news/index.njk index 44ecb35..982bb69 100644 --- a/website/src/news/index.njk +++ b/website/src/news/index.njk @@ -2,21 +2,26 @@ layout: base.njk title: KST4Contest News description: News, release updates and development notes for KST4Contest. +eleventyExcludeFromCollections: true ---
-

News

-

- Release notes, development updates and contest workflow improvements. +

News

+

Development updates and release notes.

+

+ Updates about KST4Contest releases, website improvements and contest workflow development.

-
-

Website launch

-

- The new KST4Contest website is being built as a static, SEO-friendly product site - with GitHub-based documentation and automated deployment. -

+
+ {% for post in collections.news | reverse %} + + {% endfor %}
\ No newline at end of file diff --git a/website/src/news/news.json b/website/src/news/news.json new file mode 100644 index 0000000..a114996 --- /dev/null +++ b/website/src/news/news.json @@ -0,0 +1,4 @@ +{ + "layout": "news-post.njk", + "tags": "news" +} \ No newline at end of file