Add Markdown-based news content model

This commit is contained in:
Marc Froehlich
2026-07-07 00:51:36 +02:00
parent 67b91a766a
commit 6d1e08711a
44 changed files with 192 additions and 58 deletions
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="Download KST4Contest">
<meta name="twitter:description" content="Download KST4Contest releases for Windows, Linux and macOS.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest FAQ">
<meta name="twitter:description" content="Frequently asked questions about KST4Contest, ON4KST contest operation, AirScout integration and VHF/UHF/SHF contest workflow.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="AirScout Integration">
<meta name="twitter:description" content="AirScout information helps operators evaluate AP windows, aircraft scatter timing and candidate stations during VHF/UHF/SHF contests.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="Dual Chat Categories">
<meta name="twitter:description" content="Dual category support gives contest operators better overview when working across multiple ON4KST chat rooms.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="DXCluster Server">
<meta name="twitter:description" content="KST4Contest includes DXCluster functionality to support situational awareness during contest operation.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest Features">
<meta name="twitter:description" content="Contest-optimized ON4KST features for VHF, UHF and SHF operation.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="Log Synchronization">
<meta name="twitter:description" content="Log synchronization helps KST4Contest understand worked stations, active bands and contest context.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="Macros and Variables">
<meta name="twitter:description" content="Macros reduce repetitive typing and help operators respond quickly during active ON4KST contest sessions.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="Priority Score System">
<meta name="twitter:description" content="KST4Contest ranks stations by activity, direction, sked context, band information, QRG hints and operator workflow signals.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="Sked Reminder">
<meta name="twitter:description" content="KST4Contest keeps skeds in focus while the operator handles chat traffic, logging, bands and aircraft scatter timing.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="Timeline View">
<meta name="twitter:description" content="The timeline view helps operators understand short propagation windows and candidate timing during active contest operation.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest Contest-Optimized ON4KST Chat Client">
<meta name="twitter:description" content="KST4Contest is a modern ON4KST chat client built for VHF, UHF and SHF contest operation.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest Deutsches Handbuch">
<meta name="twitter:description" content="Deutsches Benutzerhandbuch für KST4Contest.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest English Manual">
<meta name="twitter:description" content="English user manual for KST4Contest.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest Manual">
<meta name="twitter:description" content="Online manual for KST4Contest, the contest-optimized ON4KST chat client.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -0,0 +1,81 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>KST4Contest Website Launch</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="KST4Contest is a contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<link rel="canonical" href="https://kst4contest.hamradioonline.de/news/2026-07-website-launch/">
<meta property="og:type" content="website">
<meta property="og:title" content="KST4Contest Website Launch">
<meta property="og:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<meta property="og:url" content="https://kst4contest.hamradioonline.de/news/2026-07-website-launch/">
<meta property="og:site_name" content="KST4Contest">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="KST4Contest Website Launch">
<meta name="twitter:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
<div class="site-bg"></div>
<header class="site-header">
<a class="brand" href="/">
<span class="brand-mark"></span>
<span>
<strong>KST4Contest</strong>
<small>ON4KST Contest Client</small>
</span>
</a>
<nav class="site-nav">
<a href="/">Home</a>
<a href="/features/">Features</a>
<a href="/screenshots/">Screenshots</a>
<a href="/download/">Download</a>
<a href="/manual/">Manual</a>
<a href="/news/">News</a>
<a href="/faq/">FAQ</a>
<a class="nav-cta" href="https://github.com/praktimarc/kst4contest/releases/latest">Download</a>
</nav>
</header>
<main>
<section class="hero">
<p class="badge">News · July 7, 2026</p>
<h1>KST4Contest Website Launch</h1>
<p class="lead">The new KST4Contest website is being built as a static, SEO-friendly product portal with GitHub-based documentation.</p>
</section>
<section class="section narrow">
<article class="card content-card">
<h2>A new home for KST4Contest</h2>
<p>KST4Contest now has its own website at <code>kst4contest.hamradioonline.de</code>.</p>
<p>The site is built with Eleventy, generated from version-controlled Markdown and deployed as a fast static website.</p>
<h2>Why this matters</h2>
<p>The goal is to make KST4Contest easier to discover, easier to document and easier to maintain.</p>
<p>Documentation, release information, feature pages and future updates can now grow from a shared content model.</p>
</article>
</section>
</main>
<footer class="site-footer">
<p>KST4Contest contest-optimized ON4KST workflow for VHF/UHF/SHF operators.</p>
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
</footer>
</body>
</html>
+14 -10
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest News">
<meta name="twitter:description" content="News, release updates and development notes for KST4Contest.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
@@ -55,19 +55,23 @@
<main>
<section class="hero">
<h1>News</h1>
<p>
Release notes, development updates and contest workflow improvements.
<p class="badge">News</p>
<h1>Development updates and release notes.</h1>
<p class="lead">
Updates about KST4Contest releases, website improvements and contest workflow development.
</p>
</section>
<section class="section">
<div class="card">
<h2>Website launch</h2>
<p>
The new KST4Contest website is being built as a static, SEO-friendly product site
with GitHub-based documentation and automated deployment.
</p>
<div class="grid">
<article class="card">
<p class="eyebrow">July 7, 2026</p>
<h3><a href="/news/2026-07-website-launch/">KST4Contest Website Launch</a></h3>
<p>The new KST4Contest website is being built as a static, SEO-friendly product portal with GitHub-based documentation.</p>
<a href="/news/2026-07-website-launch/">Read more →</a>
</article>
</div>
</section>
</main>
+1 -1
View File
@@ -17,7 +17,7 @@
<meta name="twitter:title" content="KST4Contest Screenshots">
<meta name="twitter:description" content="Screenshots of KST4Contest, the contest-optimized ON4KST chat client for VHF, UHF and SHF operators.">
<link rel="stylesheet" href="/assets/css/main.css?v=1783377791810">
<link rel="stylesheet" href="/assets/css/main.css?v=1783378295352">
</head>
<body>
+3 -3
View File
@@ -18,9 +18,6 @@
<url>
<loc>https://kst4contest.hamradioonline.de/screenshots/</loc>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/news/</loc>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/faq/</loc>
</url>
@@ -54,4 +51,7 @@
<url>
<loc>https://kst4contest.hamradioonline.de/features/macros/</loc>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/news/2026-07-website-launch/</loc>
</url>
</urlset>