Refactor website into data-driven content model

This commit is contained in:
Marc Froehlich
2026-07-06 23:27:06 +02:00
parent a99d611ea8
commit 217c7e8451
49 changed files with 2649 additions and 976 deletions
+132 -256
View File
@@ -5,7 +5,6 @@
<title>KST4Contest Contest-Optimized ON4KST Chat Client</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="KST4Contest is a modern ON4KST chat client built for VHF, UHF and SHF contest operation.">
<link rel="canonical" href="https://kst4contest.hamradioonline.de/">
<meta property="og:type" content="website">
@@ -20,284 +19,160 @@
<link rel="stylesheet" href="/assets/css/main.css">
</head>
<body>
<div class="site-bg"></div>
<header class="site-header">
<a class="brand" href="/">KST4Contest</a>
<nav>
<a href="/features/">Features</a>
<a href="/download/">Download</a>
<a href="/manual/">Manual</a>
<a href="/screenshots/">Screenshots</a>
<a href="/news/">News</a>
<a href="https://github.com/praktimarc/kst4contest">GitHub</a>
<a href="/faq/">FAQ</a>
<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="eyebrow">The contest-optimized ON4KST client</p>
<section class="hero hero-split">
<div>
<p class="badge">The contest-optimized ON4KST client</p>
<h1>KST4Contest</h1>
<p>
Work smarter. Make more QSOs.
Built for serious VHF, UHF and SHF contest operators.
<p class="lead">
Work smarter. Make more QSOs. KST4Contest brings priority candidates,
AirScout workflow, sked reminders, dual chat categories and log synchronization
into one contest-focused ON4KST client.
</p>
<div class="actions">
<a class="button"
href="https://github.com/praktimarc/kst4contest/releases/latest">
Download latest release
</a>
<a class="button secondary"
href="https://github.com/praktimarc/kst4contest">
GitHub
</a>
<a class="button secondary"
href="/manual/">
Documentation
</a>
<a class="button" href="https://github.com/praktimarc/kst4contest/releases/latest">Download latest release</a>
<a class="button secondary" href="https://github.com/praktimarc/kst4contest">View on GitHub</a>
<a class="button ghost" href="/manual/">Read manual</a>
</div>
</div>
<div class="hero-panel">
<div class="terminal-bar">
<span></span><span></span><span></span>
<strong>KST4Contest workflow</strong>
</div>
<div class="mock-grid">
</div>
</div>
</section>
<section class="section">
<div class="section-heading">
<p class="eyebrow">Powerful features</p>
<h2>Everything you need for contest success</h2>
<p>Every feature is designed to reduce operator workload and improve decision speed during real contest operation.</p>
</div>
<p class="eyebrow">
Powerful Features
</p>
<h2>
Everything you need for contest success
</h2>
<div class="grid">
<article class="card">
<div class="feature-icon">
🎯
</div>
<p class="eyebrow">
Contest Workflow
</p>
<h3>
<a href="/features/priority-score/">
Priority Score System
</a>
</h3>
<p>
Find the most promising stations faster using contest-aware candidate scoring.
</p>
<a href="/features/priority-score/">
Learn more →
</a>
</article>
<article class="card">
<div class="feature-icon">
✈️
</div>
<p class="eyebrow">
Aircraft Scatter
</p>
<h3>
<a href="/features/airscout/">
AirScout Integration
</a>
</h3>
<p>
Use airplane scatter awareness directly inside your ON4KST contest workflow.
</p>
<a href="/features/airscout/">
Learn more →
</a>
</article>
<article class="card">
<div class="feature-icon">
⏱️
</div>
<p class="eyebrow">
Contest Awareness
</p>
<h3>
<a href="/features/timeline/">
Timeline View
</a>
</h3>
<p>
See upcoming AP windows and candidate timing in a compact contest timeline.
</p>
<a href="/features/timeline/">
Learn more →
</a>
</article>
<article class="card">
<div class="feature-icon">
🔔
</div>
<p class="eyebrow">
Sked Management
</p>
<h3>
<a href="/features/sked-reminder/">
Sked Reminder
</a>
</h3>
<p>
Keep scheduled contacts visible and avoid missing time-critical skeds.
</p>
<a href="/features/sked-reminder/">
Learn more →
</a>
</article>
<article class="card">
<div class="feature-icon">
🔄
</div>
<p class="eyebrow">
Logger Integration
</p>
<h3>
<a href="/features/log-sync/">
Log Synchronization
</a>
</h3>
<p>
Connect ON4KST chat workflow with Win-Test, UCXLog and contest logging state.
</p>
<a href="/features/log-sync/">
Learn more →
</a>
</article>
<article class="card">
<div class="feature-icon">
💬
</div>
<p class="eyebrow">
ON4KST Chat
</p>
<h3>
<a href="/features/dual-chat/">
Dual Chat Categories
</a>
</h3>
<p>
Operate in two ON4KST categories at once, for example VHF/UHF and microwave.
</p>
<a href="/features/dual-chat/">
Learn more →
</a>
</article>
</div>
<div class="grid">
<article class="card feature-card">
<div class="feature-icon">🎯</div>
<p class="eyebrow">Contest Workflow</p>
<h3><a href="/features/priority-score/">Priority Score System</a></h3>
<p>Find the most promising stations faster using contest-aware candidate scoring.</p>
<a href="/features/priority-score/">Learn more →</a>
</article>
<article class="card feature-card">
<div class="feature-icon">✈️</div>
<p class="eyebrow">Aircraft Scatter</p>
<h3><a href="/features/airscout/">AirScout Integration</a></h3>
<p>Use aircraft scatter awareness directly inside your ON4KST contest workflow.</p>
<a href="/features/airscout/">Learn more →</a>
</article>
<article class="card feature-card">
<div class="feature-icon">⏱️</div>
<p class="eyebrow">Contest Awareness</p>
<h3><a href="/features/timeline/">Timeline View</a></h3>
<p>See upcoming AP windows and candidate timing in a compact contest timeline.</p>
<a href="/features/timeline/">Learn more →</a>
</article>
<article class="card feature-card">
<div class="feature-icon">🔔</div>
<p class="eyebrow">Sked Management</p>
<h3><a href="/features/sked-reminder/">Sked Reminder</a></h3>
<p>Keep scheduled contacts visible and avoid missing time-critical skeds.</p>
<a href="/features/sked-reminder/">Learn more →</a>
</article>
<article class="card feature-card">
<div class="feature-icon">🔄</div>
<p class="eyebrow">Logger Integration</p>
<h3><a href="/features/log-sync/">Log Synchronization</a></h3>
<p>Connect ON4KST chat workflow with Win-Test, UCXLog and contest logging state.</p>
<a href="/features/log-sync/">Learn more →</a>
</article>
<article class="card feature-card">
<div class="feature-icon">💬</div>
<p class="eyebrow">ON4KST Chat</p>
<h3><a href="/features/dual-chat/">Dual Chat Categories</a></h3>
<p>Operate in two ON4KST categories at once, for example VHF/UHF and microwave.</p>
<a href="/features/dual-chat/">Learn more →</a>
</article>
<article class="card feature-card">
<div class="feature-icon">📡</div>
<p class="eyebrow">Radio Workflow</p>
<h3><a href="/features/dx-cluster/">DXCluster Server</a></h3>
<p>Use DXCluster information as part of the wider contest operating workflow.</p>
<a href="/features/dx-cluster/">Learn more →</a>
</article>
<article class="card feature-card">
<div class="feature-icon"></div>
<p class="eyebrow">Operator Speed</p>
<h3><a href="/features/macros/">Macros and Variables</a></h3>
<p>Send recurring contest messages faster with configurable macros and variables.</p>
<a href="/features/macros/">Learn more →</a>
</article>
</div>
</section>
<section class="section">
<p class="eyebrow">
Why KST4Contest?
<div class="cta-panel">
<p class="eyebrow">Open Source</p>
<h2>Built by contesters for contesters.</h2>
<p>
KST4Contest is developed around real VHF/UHF/SHF contest workflows:
ON4KST chat, aircraft scatter, skeds, logging and fast operator decisions.
</p>
<h2>
Built by contesters for contesters.
</h2>
<div class="grid">
<div class="card">
<h3>Contest Workflow</h3>
<p>
Unlike traditional ON4KST clients, KST4Contest focuses on
operator workflow instead of simply displaying chat messages.
</p>
</div>
<div class="card">
<h3>Decision Support</h3>
<p>
Priority candidates, activity detection, AirScout integration,
timeline and sked reminders help operators make better decisions.
</p>
</div>
<div class="card">
<h3>Open Source</h3>
<p>
KST4Contest is open source and continuously developed together
with the amateur radio contest community.
</p>
</div>
<div class="actions">
<a class="button" href="/download/">Download KST4Contest</a>
<a class="button secondary" href="/features/">Explore features</a>
</div>
</div>
</section>
<script type="application/ld+json">
{
"@context":"https://schema.org",
@@ -313,7 +188,8 @@
</main>
<footer class="site-footer">
<p>KST4Contest ON4KST contest workflow for VHF/UHF/SHF operators.</p>
<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>