mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-07-14 00:26:52 +02:00
Move features to Markdown content model
This commit is contained in:
@@ -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"]
|
||||
}
|
||||
];
|
||||
@@ -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>
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"layout": "feature.njk",
|
||||
"tags": "features"
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user