Introduce feature content model

This commit is contained in:
Marc Froehlich
2026-07-06 23:03:17 +02:00
parent 7b0c86a5a0
commit a99d611ea8
39 changed files with 1090 additions and 388 deletions
+62
View File
@@ -0,0 +1,62 @@
module.exports = [
{
slug: "priority-score",
title: "Priority Score System",
icon: "🎯",
category: "Contest Workflow",
summary: "Find the most promising stations faster using contest-aware candidate scoring.",
description: "KST4Contest ranks stations by contest-relevant signals such as activity, direction, sked context, bands, frequencies and operator workflow.",
keywords: ["ON4KST", "contest", "priority candidates", "VHF", "UHF", "SHF"],
related: ["airscout", "sked-reminder", "timeline"]
},
{
slug: "airscout",
title: "AirScout Integration",
icon: "✈️",
category: "Aircraft Scatter",
summary: "Use airplane scatter awareness directly inside your ON4KST contest workflow.",
description: "AirScout information helps operators evaluate AP windows, aircraft scatter timing and candidate stations during VHF/UHF/SHF contests.",
keywords: ["AirScout", "airplane scatter", "aircraft scatter", "VHF contest"],
related: ["timeline", "priority-score", "sked-reminder"]
},
{
slug: "timeline",
title: "Timeline View",
icon: "⏱️",
category: "Contest Awareness",
summary: "See upcoming AP windows and candidate timing in a compact contest timeline.",
description: "The timeline view helps operators understand short propagation windows and candidate timing during active contest operation.",
keywords: ["AP timeline", "airplane scatter", "contest timing"],
related: ["airscout", "priority-score"]
},
{
slug: "sked-reminder",
title: "Sked Reminder",
icon: "🔔",
category: "Sked Management",
summary: "Keep scheduled contacts visible and avoid missing time-critical skeds.",
description: "KST4Contest keeps skeds in focus while the operator handles chat traffic, logging, bands and aircraft scatter timing.",
keywords: ["sked", "ON4KST sked", "contest reminder"],
related: ["priority-score", "airscout"]
},
{
slug: "log-sync",
title: "Log Synchronization",
icon: "🔄",
category: "Logger Integration",
summary: "Connect ON4KST chat workflow with Win-Test, UCXLog and contest logging state.",
description: "Log synchronization helps KST4Contest understand worked stations, active bands and contest context.",
keywords: ["Win-Test", "UCXLog", "contest logger", "ON4KST"],
related: ["priority-score"]
},
{
slug: "dual-chat",
title: "Dual Chat Categories",
icon: "💬",
category: "ON4KST Chat",
summary: "Operate in two ON4KST categories at once, for example VHF/UHF and microwave.",
description: "Dual category support gives contest operators better overview when working across multiple ON4KST chat rooms.",
keywords: ["ON4KST", "dual chat", "microwave contest"],
related: ["priority-score", "log-sync"]
}
];
+17
View File
@@ -147,4 +147,21 @@ nav a:hover {
border-bottom: 1px solid rgba(148, 163, 184, 0.22);
padding: 10px;
text-align: left;
}
.eyebrow {
color: var(--accent2);
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: 0.78rem;
font-weight: 800;
}
.feature-icon {
font-size: 2rem;
margin-bottom: 14px;
}
.feature-icon.large {
font-size: 3.5rem;
}
@@ -0,0 +1,44 @@
---
pagination:
data: features
size: 1
alias: feature
permalink: "/features/{{ feature.slug }}/"
layout: base.njk
title: "{{ feature.title }} | KST4Contest"
description: "{{ feature.summary }}"
---
<section class="hero">
<p class="eyebrow">{{ feature.category }}</p>
<h1>{{ feature.title }}</h1>
<p>{{ feature.summary }}</p>
</section>
<section class="section">
<div class="card">
<div class="feature-icon large">{{ feature.icon }}</div>
<h2>Why it matters</h2>
<p>{{ feature.description }}</p>
<h2>Built for contest operation</h2>
<p>
This feature is designed for real VHF, UHF and SHF contest workflows,
where speed, awareness and correct operator decisions matter.
</p>
{% if feature.related and feature.related.length %}
<h2>Related features</h2>
<div class="actions">
{% for slug in feature.related %}
{% for related in features %}
{% if related.slug == slug %}
<a class="button secondary" href="/features/{{ related.slug }}/">{{ related.title }}</a>
{% endif %}
{% endfor %}
{% endfor %}
</div>
{% endif %}
</div>
</section>
-28
View File
@@ -1,28 +0,0 @@
---
layout: base.njk
title: AirScout Integration for ON4KST Contest Operation
description: KST4Contest integrates AirScout and airplane scatter workflow support for VHF, UHF and SHF contest operators.
---
<section class="hero">
<h1>AirScout integration for airplane scatter contest workflow.</h1>
<p>
KST4Contest connects ON4KST chat operation with AirScout-based airplane scatter awareness.
</p>
</section>
<section class="section">
<div class="card">
<h2>Airplane scatter in the operator workflow</h2>
<p>
For VHF, UHF and microwave contests, aircraft reflections can create short but valuable contact opportunities.
KST4Contest is designed to help operators use this information directly while working with ON4KST chat traffic.
</p>
<h2>From chat candidate to sked decision</h2>
<p>
AirScout information can support the decision whether a candidate station is worth scheduling immediately
or should be monitored for a later propagation window.
</p>
</div>
</section>
+12 -22
View File
@@ -1,37 +1,27 @@
---
layout: base.njk
title: KST4Contest Features
description: Explore the contest-optimized features of KST4Contest for ON4KST, VHF, UHF and SHF contest operation.
description: Contest-optimized ON4KST features for VHF, UHF and SHF operation.
---
<section class="hero">
<h1>Features built for serious VHF/UHF/SHF contest operation.</h1>
<p>
KST4Contest combines ON4KST chat, sked workflow, AirScout support,
priority candidate ranking, log synchronization and contest-focused operator tools.
KST4Contest combines ON4KST chat, candidate scoring, AirScout workflow,
sked handling, log synchronization and operator decision support.
</p>
</section>
<section class="section">
<div class="grid">
<div class="card">
<h3><a href="/features/priority-score/">Priority Score</a></h3>
<p>Find promising stations faster with score-based candidate ranking.</p>
</div>
<div class="card">
<h3><a href="/features/airscout/">AirScout Integration</a></h3>
<p>Use airplane scatter information directly inside the contest workflow.</p>
</div>
<div class="card">
<h3><a href="/features/sked-reminder/">Sked Reminder</a></h3>
<p>Keep scheduled contacts visible and avoid missing important timing windows.</p>
</div>
<div class="card">
<h3><a href="/features/log-sync/">Log Synchronization</a></h3>
<p>Integrate contest logging workflows with Win-Test and UCXLog.</p>
</div>
{% for feature in features %}
<article class="card">
<div class="feature-icon">{{ feature.icon }}</div>
<p class="eyebrow">{{ feature.category }}</p>
<h3><a href="/features/{{ feature.slug }}/">{{ feature.title }}</a></h3>
<p>{{ feature.summary }}</p>
<a href="/features/{{ feature.slug }}/">Learn more →</a>
</article>
{% endfor %}
</div>
</section>
-27
View File
@@ -1,27 +0,0 @@
---
layout: base.njk
title: Log Synchronization with Win-Test and UCXLog
description: KST4Contest supports contest workflow integration with logging software such as Win-Test and UCXLog.
---
<section class="hero">
<h1>Log synchronization for contest workflow integration.</h1>
<p>
KST4Contest can support operating workflows with external contest loggers such as Win-Test and UCXLog.
</p>
</section>
<section class="section">
<div class="card">
<h2>Connect chat and logging</h2>
<p>
Contest operation is faster when chat information and log state are connected.
KST4Contest is designed to support this workflow instead of treating ON4KST chat as an isolated window.
</p>
<h2>Band and contact awareness</h2>
<p>
Log synchronization can help the client understand which stations and bands are relevant during the contest.
</p>
</div>
</section>
@@ -1,36 +0,0 @@
---
layout: base.njk
title: Priority Score for ON4KST Contest Operation
description: KST4Contest uses priority candidates and scoring to help VHF, UHF and SHF contest operators identify promising stations faster.
---
<section class="hero">
<h1>Priority Score for contest-focused ON4KST operation.</h1>
<p>
KST4Contest helps operators focus on the most promising stations instead of scanning
busy chat traffic manually.
</p>
</section>
<section class="section">
<div class="card">
<h2>Why it matters</h2>
<p>
During VHF, UHF and microwave contests, relevant stations can disappear quickly in active
ON4KST chat traffic. The priority candidate system helps highlight stations that are likely
worth attention based on contest-relevant signals.
</p>
<h2>Contest-oriented signals</h2>
<p>
Candidate priority can take information such as activity, bands, QTF direction,
sked-related messages, known frequencies and workflow context into account.
</p>
<h2>Different from generic chat clients</h2>
<p>
KST4Contest is not only an ON4KST chat viewer. It is designed to support operator decisions
during contest operation.
</p>
</div>
</section>
@@ -1,28 +0,0 @@
---
layout: base.njk
title: Sked Reminder for VHF UHF SHF Contests
description: KST4Contest includes sked reminder tools to help ON4KST contest operators keep scheduled contacts visible.
---
<section class="hero">
<h1>Sked reminders for time-critical contest contacts.</h1>
<p>
Keep scheduled contacts visible and reduce the risk of missing important VHF, UHF or SHF sked windows.
</p>
</section>
<section class="section">
<div class="card">
<h2>Why sked reminders matter</h2>
<p>
During active contest periods, chat messages, log entries and aircraft scatter timing can easily distract operators.
KST4Contest helps keep important skeds in focus.
</p>
<h2>Designed for real contest operation</h2>
<p>
The reminder workflow supports operators who coordinate contacts through ON4KST while also watching bands,
aircraft scatter opportunities and logging software.
</p>
</div>
</section>
+124 -41
View File
@@ -1,57 +1,140 @@
---
layout: base.njk
title: KST4Contest Contest-Optimized ON4KST Chat Client
description: KST4Contest is a modern ON4KST chat client built for VHF, UHF and SHF ham radio contest operation.
description: KST4Contest is a modern ON4KST chat client built for VHF, UHF and SHF contest operation.
---
<section class="hero">
<h1>Contest-optimized ON4KST chat for VHF, UHF and SHF operators.</h1>
<p>
KST4Contest is built for serious ham radio contest operation:
priority candidates, AirScout integration, sked reminders, band detection,
frequency detection, dual chat categories and workflow support for modern VHF/UHF/SHF contest stations.
</p>
<div class="actions">
<a class="button" href="https://github.com/praktimarc/kst4contest/releases">Download releases</a>
<a class="button secondary" href="https://github.com/praktimarc/kst4contest">View on GitHub</a>
</div>
<p class="eyebrow">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>
<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>
</div>
</section>
<section class="section">
<div class="grid">
<div class="card">
<h3>Built for contests</h3>
<p>Unlike generic ON4KST clients, KST4Contest focuses on contest workflow, skeds, priorities and fast operator decisions.</p>
<p class="eyebrow">
Powerful Features
</p>
<h2>
Everything you need for contest success
</h2>
<div class="grid">
{% for feature in features %}
<article class="card">
<div class="feature-icon">
{{ feature.icon }}
</div>
<p class="eyebrow">
{{ feature.category }}
</p>
<h3>
<a href="/features/{{ feature.slug }}/">
{{ feature.title }}
</a>
</h3>
<p>
{{ feature.summary }}
</p>
<a href="/features/{{ feature.slug }}/">
Learn more →
</a>
</article>
{% endfor %}
</div>
<div class="card">
<h3>Priority candidates</h3>
<p>Score-based candidate ranking helps operators identify promising stations faster.</p>
</div>
<div class="card">
<h3>AirScout workflow</h3>
<p>Airplane scatter windows and candidate timing can be integrated into the operating workflow.</p>
</div>
<div class="card">
<h3>Cross-platform releases</h3>
<p>Windows, Linux and macOS builds are published through GitHub releases.</p>
</div>
</div>
</section>
<section class="section">
<p class="eyebrow">
Why KST4Contest?
</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>
</section>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "KST4Contest",
"applicationCategory": "CommunicationApplication",
"operatingSystem": "Windows, macOS, Linux",
"description": "KST4Contest is a contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.",
"url": "https://kst4contest.hamradioonline.de/",
"downloadUrl": "https://github.com/praktimarc/kst4contest/releases",
"softwareVersion": "latest",
"author": {
"@type": "Person",
"name": "Praktimarc"
}
"@context":"https://schema.org",
"@type":"SoftwareApplication",
"name":"KST4Contest",
"applicationCategory":"CommunicationApplication",
"operatingSystem":"Windows, Linux, macOS",
"url":"https://kst4contest.hamradioonline.de",
"downloadUrl":"https://github.com/praktimarc/kst4contest/releases",
"description":"Contest-optimized ON4KST client for VHF, UHF and SHF amateur radio contests."
}
</script>