Move features to Markdown content model

This commit is contained in:
Marc Froehlich
2026-07-07 00:01:59 +02:00
parent 42255e2b41
commit 59aade8004
16 changed files with 316 additions and 178 deletions
-90
View File
@@ -1,90 +0,0 @@
module.exports = [
{
slug: "priority-score",
title: "Priority Score System",
icon: "🎯",
category: "Contest Workflow",
since: "1.40",
summary: "Find the most promising stations faster using contest-aware candidate scoring.",
description: "KST4Contest ranks stations by activity, direction, sked context, band information, QRG hints and operator workflow signals.",
tags: ["ON4KST", "VHF", "UHF", "SHF", "contest", "priority candidates"],
related: ["timeline", "airscout", "sked-reminder"]
},
{
slug: "airscout",
title: "AirScout Integration",
icon: "✈️",
category: "Aircraft Scatter",
since: "1.26",
summary: "Use aircraft 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.",
tags: ["AirScout", "airplane scatter", "aircraft scatter", "VHF contest"],
related: ["timeline", "priority-score", "sked-reminder"]
},
{
slug: "timeline",
title: "Timeline View",
icon: "⏱️",
category: "Contest Awareness",
since: "1.40",
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.",
tags: ["timeline", "AP windows", "airplane scatter"],
related: ["airscout", "priority-score"]
},
{
slug: "sked-reminder",
title: "Sked Reminder",
icon: "🔔",
category: "Sked Management",
since: "1.40",
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.",
tags: ["sked", "ON4KST", "contest reminder"],
related: ["priority-score", "airscout", "timeline"]
},
{
slug: "log-sync",
title: "Log Synchronization",
icon: "🔄",
category: "Logger Integration",
since: "1.31",
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.",
tags: ["Win-Test", "UCXLog", "contest logger"],
related: ["priority-score", "dual-chat"]
},
{
slug: "dual-chat",
title: "Dual Chat Categories",
icon: "💬",
category: "ON4KST Chat",
since: "1.26",
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.",
tags: ["ON4KST", "dual chat", "microwave contest"],
related: ["priority-score", "log-sync"]
},
{
slug: "dx-cluster",
title: "DXCluster Server",
icon: "📡",
category: "Radio Workflow",
since: "1.23",
summary: "Use DXCluster information as part of the wider contest operating workflow.",
description: "KST4Contest includes DXCluster functionality to support situational awareness during contest operation.",
tags: ["DXCluster", "ham radio", "contest"],
related: ["log-sync", "priority-score"]
},
{
slug: "macros",
title: "Macros and Variables",
icon: "⚡",
category: "Operator Speed",
since: "1.0",
summary: "Send recurring contest messages faster with configurable macros and variables.",
description: "Macros reduce repetitive typing and help operators respond quickly during active ON4KST contest sessions.",
tags: ["macros", "ON4KST", "operator workflow"],
related: ["sked-reminder", "dual-chat"]
}
];
+39
View File
@@ -0,0 +1,39 @@
---
layout: base.njk
---
<section class="hero">
<p class="badge">{{ category }} · since {{ since }}</p>
<h1>{{ title }}</h1>
<p class="lead">{{ summary }}</p>
</section>
<section class="section narrow">
<article class="card content-card">
<div class="feature-icon large">{{ icon }}</div>
{{ content | safe }}
{% if tagsList %}
<h2>Keywords</h2>
<div class="tag-list">
{% for tag in tagsList %}
<span>{{ tag }}</span>
{% endfor %}
</div>
{% endif %}
{% if related %}
<h2>Related features</h2>
<div class="actions">
{% for slug in related %}
{% for item in collections.features %}
{% if item.fileSlug == slug %}
<a class="button secondary" href="{{ item.url }}">{{ item.data.title }}</a>
{% endif %}
{% endfor %}
{% endfor %}
</div>
{% endif %}
</article>
</section>
@@ -1,55 +0,0 @@
---
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="badge">{{ feature.category }} · since {{ feature.since }}</p>
<h1>{{ feature.title }}</h1>
<p class="lead">{{ feature.summary }}</p>
</section>
<section class="section narrow">
<article class="card content-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 supports real VHF, UHF and SHF contest workflows where timing,
awareness and fast decisions matter. It is part of the broader KST4Contest
approach: ON4KST chat should not just be displayed, it should actively support
contest operation.
</p>
{% if feature.tags %}
<h2>Keywords</h2>
<div class="tag-list">
{% for tag in feature.tags %}
<span>{{ tag }}</span>
{% endfor %}
</div>
{% endif %}
{% if feature.related %}
<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 %}
</article>
</section>
+27
View File
@@ -0,0 +1,27 @@
---
title: AirScout Integration
icon: ✈️
category: Aircraft Scatter
since: "1.26"
summary: Use aircraft 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.
tagsList:
- AirScout
- airplane scatter
- aircraft scatter
- VHF contest
related:
- timeline
- priority-score
- sked-reminder
---
## Airplane scatter in the operator workflow
Aircraft reflections can create short but valuable contact opportunities.
KST4Contest helps combine ON4KST chat activity with AirScout-based propagation awareness.
## From candidate to sked decision
AirScout information can support the decision whether a candidate station should be called immediately, scheduled later or monitored for a better window.
+25
View File
@@ -0,0 +1,25 @@
---
title: Dual Chat Categories
icon: 💬
category: ON4KST Chat
since: "1.26"
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.
tagsList:
- ON4KST
- dual chat
- microwave contest
related:
- priority-score
- log-sync
---
## Two categories, one workflow
KST4Contest can operate with two ON4KST chat categories at once.
This is useful when contest activity spans VHF/UHF and microwave operation.
## Less window switching
The operator can keep more information visible without constantly changing tools.
+23
View File
@@ -0,0 +1,23 @@
---
title: DXCluster Server
icon: 📡
category: Radio Workflow
since: "1.23"
summary: Use DXCluster information as part of the wider contest operating workflow.
description: KST4Contest includes DXCluster functionality to support situational awareness during contest operation.
tagsList:
- DXCluster
- ham radio
- contest
related:
- log-sync
- priority-score
---
## More situational awareness
DXCluster information can support contest operators by adding another source of activity information.
## Integrated workflow
The goal is not to open another isolated tool, but to connect activity information with the wider KST4Contest workflow.
+4
View File
@@ -0,0 +1,4 @@
{
"layout": "feature.njk",
"tags": "features"
}
+6 -6
View File
@@ -15,13 +15,13 @@ description: Contest-optimized ON4KST features for VHF, UHF and SHF operation.
<section class="section">
<div class="grid">
{% for feature in features %}
{% for feature in collections.features %}
<article class="card feature-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>
<div class="feature-icon">{{ feature.data.icon }}</div>
<p class="eyebrow">{{ feature.data.category }}</p>
<h3><a href="{{ feature.url }}">{{ feature.data.title }}</a></h3>
<p>{{ feature.data.summary }}</p>
<a href="{{ feature.url }}">Learn more →</a>
</article>
{% endfor %}
</div>
+25
View File
@@ -0,0 +1,25 @@
---
title: Log Synchronization
icon: 🔄
category: Logger Integration
since: "1.31"
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.
tagsList:
- Win-Test
- UCXLog
- contest logger
related:
- priority-score
- dual-chat
---
## Connect chat and logging
Contest operation is faster when chat information and log state are connected.
KST4Contest can use logger information to improve workflow awareness.
## Worked and band awareness
Log synchronization helps the client understand which stations and bands are relevant.
+23
View File
@@ -0,0 +1,23 @@
---
title: Macros and Variables
icon: ⚡
category: Operator Speed
since: "1.0"
summary: Send recurring contest messages faster with configurable macros and variables.
description: Macros reduce repetitive typing and help operators respond quickly during active ON4KST contest sessions.
tagsList:
- macros
- ON4KST
- operator workflow
related:
- sked-reminder
- dual-chat
---
## Faster messages
Macros reduce repetitive typing during active contest operation.
## More consistent operation
Variables help keep messages structured and reduce manual errors.
+29
View File
@@ -0,0 +1,29 @@
---
title: Priority Score System
icon: 🎯
category: Contest Workflow
since: "1.40"
summary: Find the most promising stations faster using contest-aware candidate scoring.
description: KST4Contest ranks stations by activity, direction, sked context, band information, QRG hints and operator workflow signals.
tagsList:
- ON4KST
- VHF
- UHF
- SHF
- contest
- priority candidates
related:
- timeline
- airscout
- sked-reminder
---
## Why it matters
During active VHF, UHF and microwave contests, relevant stations can disappear quickly in busy ON4KST chat traffic.
The Priority Score System helps operators focus on stations that are more likely to be useful during contest operation.
## Built for contest decisions
KST4Contest is not just a chat viewer. It evaluates contest-relevant context and helps turn chat activity into better operating decisions.
+26
View File
@@ -0,0 +1,26 @@
---
title: Sked Reminder
icon: 🔔
category: Sked Management
since: "1.40"
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.
tagsList:
- sked
- ON4KST
- contest reminder
related:
- priority-score
- airscout
- timeline
---
## Never lose important skeds
During active contests, it is easy to miss a planned contact while handling chat traffic, logging and band changes.
Sked Reminder keeps scheduled contacts visible.
## Built for real contest pressure
The workflow supports time-critical operation where missing a few minutes can mean missing a QSO.
+25
View File
@@ -0,0 +1,25 @@
---
title: Timeline View
icon: ⏱️
category: Contest Awareness
since: "1.40"
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.
tagsList:
- timeline
- AP windows
- airplane scatter
related:
- airscout
- priority-score
---
## Timing matters
Many VHF/UHF/SHF opportunities are short-lived.
The Timeline View helps operators see upcoming timing windows instead of keeping everything in mind manually.
## Designed for fast awareness
The timeline supports quick decisions during busy contest operation.
+8 -8
View File
@@ -29,8 +29,8 @@ description: KST4Contest is a modern ON4KST chat client built for VHF, UHF and S
<div class="mock-grid">
{% for feature in features | slice(0, 6) %}
<div class="mini-card">
<strong>{{ feature.icon }} {{ feature.title }}</strong>
<small>{{ feature.summary }}</small>
<strong>{{ feature.data.icon }} {{ feature.data.title }}</strong>
<small>{{ feature.data.summary }}</small>
</div>
{% endfor %}
</div>
@@ -45,13 +45,13 @@ description: KST4Contest is a modern ON4KST chat client built for VHF, UHF and S
</div>
<div class="grid">
{% for feature in features %}
{% for feature in collections.features %}
<article class="card feature-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>
<div class="feature-icon">{{ feature.data.icon }}</div>
<p class="eyebrow">{{ feature.data.category }}</p>
<h3><a href="{{ feature.url }}">{{ feature.data.title }}</a></h3>
<p>{{ feature.data.summary }}</p>
<a href="{{ feature.url }}">Learn more →</a>
</article>
{% endfor %}
</div>