mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-07-14 00:26:52 +02:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6d3351175f | |||
| 674c5a62e3 | |||
| 750d0a3be1 |
@@ -17,7 +17,7 @@
|
||||
<meta name="twitter:title" content="About KST4Contest">
|
||||
<meta name="twitter:description" content="About KST4Contest and its contest-oriented ON4KST workflow.">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -87,22 +85,7 @@
|
||||
The project is open source and focused on practical contest station workflows.
|
||||
Features are designed around real operating pressure, not theoretical UI concepts.
|
||||
</p>
|
||||
|
||||
<h2>Community supported</h2>
|
||||
|
||||
<p>
|
||||
|
||||
KST4Contest is developed independently.
|
||||
|
||||
Community support helps finance hosting,
|
||||
online services,
|
||||
testing across multiple operating systems
|
||||
and future contest-oriented features.
|
||||
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
</main>
|
||||
|
||||
@@ -126,7 +109,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -136,8 +118,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -11,18 +11,6 @@
|
||||
--accent2: #a855f7;
|
||||
--accent3: #22c55e;
|
||||
--shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
|
||||
|
||||
--accent: #54d63d;
|
||||
--accent2: #8aef64;
|
||||
--accent3: #31b54a;
|
||||
|
||||
--fx-plane: #79ff73;
|
||||
--fx-plane-muted: rgba(121, 255, 115, 0.42);
|
||||
--fx-beam: #52ff65;
|
||||
--fx-beam-glow: rgba(82, 255, 101, 0.28);
|
||||
--fx-reflection: #d2ffc8;
|
||||
--fx-trail: rgba(121, 255, 115, 0.17);
|
||||
--fx-grid: rgba(121, 255, 115, 0.055);
|
||||
}
|
||||
|
||||
* {
|
||||
@@ -37,7 +25,6 @@ html {
|
||||
body {
|
||||
margin: 0;
|
||||
min-height: 100vh;
|
||||
|
||||
background:
|
||||
radial-gradient(circle at 14% 12%, rgba(168, 85, 247, 0.30), transparent 28%),
|
||||
radial-gradient(circle at 82% 16%, rgba(56, 189, 248, 0.24), transparent 30%),
|
||||
@@ -574,53 +561,4 @@ a:hover {
|
||||
.footer-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Full-width, full-height home hero
|
||||
*/
|
||||
|
||||
main {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.hero.hero-split {
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
min-height: calc(100vh - 77px);
|
||||
padding:
|
||||
clamp(56px, 7vh, 100px)
|
||||
clamp(28px, 6vw, 110px);
|
||||
align-content: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.hero.hero-split > div:first-of-type {
|
||||
max-width: 760px;
|
||||
}
|
||||
|
||||
.hero.hero-split .hero-panel {
|
||||
width: min(100%, 700px);
|
||||
justify-self: center;
|
||||
}
|
||||
|
||||
@media (min-width: 1600px) {
|
||||
.hero.hero-split {
|
||||
grid-template-columns:
|
||||
minmax(520px, 0.85fr)
|
||||
minmax(600px, 1.15fr);
|
||||
gap: clamp(50px, 6vw, 130px);
|
||||
}
|
||||
|
||||
.hero.hero-split .hero-panel {
|
||||
width: min(100%, 780px);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.hero.hero-split {
|
||||
min-height: auto;
|
||||
padding-top: 60px;
|
||||
padding-bottom: 60px;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,7 @@
|
||||
<meta name="twitter:title" content="Contact | KST4Contest">
|
||||
<meta name="twitter:description" content="Contact options for KST4Contest.">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -114,7 +112,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -124,8 +121,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -227,34 +225,6 @@
|
||||
<a class="button secondary" href="/faq/">FAQ</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
|
||||
<div class="card content-card">
|
||||
|
||||
<h2>Enjoying KST4Contest?</h2>
|
||||
|
||||
<p>
|
||||
|
||||
If KST4Contest makes contesting easier for you,
|
||||
please consider supporting future development.
|
||||
|
||||
</p>
|
||||
|
||||
<div class="actions">
|
||||
|
||||
<a class="button"
|
||||
href="/support/">
|
||||
|
||||
❤️ Support Development
|
||||
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</main>
|
||||
|
||||
@@ -278,7 +248,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -288,8 +257,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -157,7 +155,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -167,8 +164,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -212,7 +210,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -222,8 +219,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -188,7 +186,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -198,8 +195,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -187,7 +185,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -197,8 +194,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -173,7 +171,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -183,8 +180,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -188,7 +186,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -198,8 +195,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -187,7 +185,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -197,8 +194,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -216,7 +214,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -226,8 +223,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -210,7 +208,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -220,8 +217,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -188,7 +186,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -198,8 +195,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -66,14 +64,6 @@
|
||||
<main>
|
||||
|
||||
<section class="hero hero-split">
|
||||
|
||||
<canvas
|
||||
class="hero-radio-fx"
|
||||
data-hero-radio-fx
|
||||
aria-hidden="true">
|
||||
</canvas>
|
||||
|
||||
<div class="hero-fx-vignette" aria-hidden="true"></div>
|
||||
<div>
|
||||
<p class="badge">The contest-optimized ON4KST client</p>
|
||||
<h1>KST4Contest</h1>
|
||||
@@ -247,7 +237,6 @@
|
||||
<div class="actions">
|
||||
<a class="button" href="/download/">Download KST4Contest</a>
|
||||
<a class="button secondary" href="/features/">Explore features</a>
|
||||
<a class="button ghost" href="/support/">❤️ Support Development</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -286,7 +275,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -296,10 +284,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="/assets/js/hero-radio-fx.js?v=1783893151167" defer></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -17,7 +17,7 @@
|
||||
<meta name="twitter:title" content="Legal Notice | KST4Contest">
|
||||
<meta name="twitter:description" content="Legal notice for the KST4Contest website.">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -124,7 +122,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -134,8 +131,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -198,7 +196,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -208,8 +205,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -200,7 +198,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -210,8 +207,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -335,7 +333,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -345,8 +342,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -162,7 +160,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -172,8 +169,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -284,7 +282,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -294,8 +291,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -191,7 +189,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -201,8 +198,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -187,7 +185,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -197,8 +194,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -306,7 +304,6 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -316,8 +313,5 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -242,7 +240,6 @@ Zudem wird die <strong>primäre Chat-Kategorie</strong> (z. B. IARU Region 1 VHF
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -252,8 +249,5 @@ Zudem wird die <strong>primäre Chat-Kategorie</strong> (z. B. IARU Region 1 VHF
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -220,7 +218,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -230,8 +227,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -231,7 +229,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -241,8 +238,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -198,7 +196,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -208,8 +205,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -335,7 +333,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -345,8 +342,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -242,7 +240,6 @@ Also, select the <strong>primary chat category</strong> (e.g., IARU Region 1 VHF
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -252,8 +249,5 @@ Also, select the <strong>primary chat category</strong> (e.g., IARU Region 1 VHF
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -162,7 +160,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -172,8 +169,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -283,7 +281,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -293,8 +290,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -191,7 +189,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -201,8 +198,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -187,7 +185,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -197,8 +194,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -306,7 +304,6 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -316,8 +313,5 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -220,7 +218,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -230,8 +227,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -231,7 +229,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -241,8 +238,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -200,7 +198,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -210,8 +207,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -99,7 +97,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -109,8 +106,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -17,7 +17,7 @@
|
||||
<meta name="twitter:title" content="Hotfix Version 1.41.1">
|
||||
<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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -100,7 +98,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -110,8 +107,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -17,7 +17,7 @@
|
||||
<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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -104,7 +102,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -114,8 +111,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -114,7 +112,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -124,8 +121,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -17,7 +17,7 @@
|
||||
<meta name="twitter:title" content="Privacy Policy | KST4Contest">
|
||||
<meta name="twitter:description" content="Privacy policy for the KST4Contest website.">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -105,22 +103,6 @@
|
||||
GitHub is responsible for its own data processing.
|
||||
</p>
|
||||
|
||||
<h2>
|
||||
|
||||
Support via Ko-fi
|
||||
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
|
||||
This website links to Ko-fi for voluntary financial support.
|
||||
|
||||
Payments are processed entirely by Ko-fi and its payment providers.
|
||||
|
||||
KST4Contest itself never receives or processes payment information.
|
||||
|
||||
</p>
|
||||
|
||||
<h2>Your rights</h2>
|
||||
<p>
|
||||
You may have the right to access, rectification, erasure, restriction of processing,
|
||||
@@ -155,7 +137,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -165,8 +146,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -17,7 +17,7 @@
|
||||
<meta name="twitter:title" content="KST4Contest Roadmap">
|
||||
<meta name="twitter:description" content="Planned enhancements for upcoming KST4Contest versions, generated from GitHub milestones and issues.">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -175,48 +173,6 @@
|
||||
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
|
||||
<div class="cta-panel">
|
||||
|
||||
<p class="eyebrow">
|
||||
|
||||
Community
|
||||
|
||||
</p>
|
||||
|
||||
<h2>
|
||||
|
||||
Development is driven by the community.
|
||||
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Many roadmap items require
|
||||
time,
|
||||
online services
|
||||
and infrastructure.
|
||||
|
||||
Community support helps accelerate development.
|
||||
|
||||
</p>
|
||||
|
||||
<div class="actions">
|
||||
|
||||
<a class="button"
|
||||
|
||||
href="/support/">
|
||||
|
||||
❤️ Support Development
|
||||
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
@@ -239,7 +195,6 @@ href="/support/">
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -249,8 +204,5 @@ href="/support/">
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -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=1783893151167">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783632276803">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
@@ -57,8 +57,6 @@
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
@@ -125,7 +123,6 @@
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -135,8 +132,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
+22
-26
@@ -10,94 +10,90 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/about/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/contact/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/download/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/faq/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/airscout/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/dual-chat/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/dx-cluster/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/log-sync/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/macros/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/priority-score/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/sked-reminder/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/features/timeline/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/legal-notice/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/de/airscout-integration/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/de/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/en/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/manual/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/privacy/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/roadmap/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/screenshots/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://kst4contest.hamradioonline.de/support/</loc>
|
||||
<lastmod>2026-07-12</lastmod>
|
||||
<lastmod>2026-07-09</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
@@ -1,274 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Support KST4Contest</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="Help support the ongoing development of KST4Contest.">
|
||||
<link rel="canonical" href="https://kst4contest.hamradioonline.de/support/">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Support KST4Contest">
|
||||
<meta property="og:description" content="Help support the ongoing development of KST4Contest.">
|
||||
<meta property="og:url" content="https://kst4contest.hamradioonline.de/support/">
|
||||
<meta property="og:site_name" content="KST4Contest">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Support KST4Contest">
|
||||
<meta name="twitter:description" content="Help support the ongoing development of KST4Contest.">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=1783893151167">
|
||||
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
|
||||
|
||||
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
|
||||
|
||||
</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="/manual/">Manual</a>
|
||||
|
||||
<a href="/news/">News</a>
|
||||
|
||||
<a href="/roadmap/">Roadmap</a>
|
||||
|
||||
<a href="/about/">About</a>
|
||||
|
||||
<a href="/faq/">FAQ</a>
|
||||
|
||||
<a href="/support/">Support</a>
|
||||
|
||||
<a class="nav-cta" href="/download/">Download</a>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
||||
<section class="hero">
|
||||
<p class="badge">Support Development</p>
|
||||
|
||||
<h1>Help shape the future of KST4Contest.</h1>
|
||||
|
||||
<p class="lead">
|
||||
KST4Contest is an independent open-source project developed in my free time.
|
||||
Your support helps cover infrastructure costs and enables new contest-oriented
|
||||
features that would otherwise be difficult to implement.
|
||||
</p>
|
||||
|
||||
<div class="actions">
|
||||
<a class="button"
|
||||
href="https://ko-fi.com/praktimarc"
|
||||
target="_blank"
|
||||
rel="noopener">
|
||||
❤️ Support on Ko-fi
|
||||
</a>
|
||||
|
||||
<a class="button secondary"
|
||||
href="https://github.com/praktimarc/kst4contest">
|
||||
View Source Code
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="section">
|
||||
|
||||
<div class="section-heading">
|
||||
<p class="eyebrow">What previous support has enabled</p>
|
||||
|
||||
<h2>Real improvements funded by the community.</h2>
|
||||
</div>
|
||||
|
||||
<div class="grid">
|
||||
|
||||
<article class="card">
|
||||
|
||||
<h3>🛰 PSTRotator Integration</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Support helped justify the investment into rotor hardware and the required
|
||||
PSTRotator license. Today KST4Contest can automatically control antennas
|
||||
during contest operation.
|
||||
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
<article class="card">
|
||||
|
||||
<h3>🗺 Interactive Map</h3>
|
||||
|
||||
<p>
|
||||
|
||||
The interactive station map required commercial map API usage.
|
||||
Community support helped cover those API costs and made the feature possible.
|
||||
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section class="section">
|
||||
|
||||
<div class="section-heading">
|
||||
|
||||
<p class="eyebrow">Future goals</p>
|
||||
|
||||
<h2>What future support will fund</h2>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="grid">
|
||||
|
||||
<article class="card">
|
||||
|
||||
<h3>☁ Map API</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Keeping the online map service available requires ongoing API usage.
|
||||
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
<article class="card">
|
||||
|
||||
<h3>📡 Tropo Server</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Future propagation prediction services and server-side calculations
|
||||
will require dedicated hosting infrastructure.
|
||||
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
<article class="card">
|
||||
|
||||
<h3>🔌 New Integrations</h3>
|
||||
|
||||
<p>
|
||||
|
||||
Development of additional interfaces, logging software integrations,
|
||||
contest tools and automation features.
|
||||
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
<article class="card">
|
||||
|
||||
<h3>🚀 Faster Development</h3>
|
||||
|
||||
<p>
|
||||
|
||||
More development time means more contest-oriented features,
|
||||
better testing and better documentation.
|
||||
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section class="section">
|
||||
|
||||
<div class="cta-panel">
|
||||
|
||||
<p class="eyebrow">Every contribution helps</p>
|
||||
|
||||
<h2>Whether it's one coffee or ongoing support.</h2>
|
||||
|
||||
<p>
|
||||
|
||||
Your support directly improves KST4Contest.
|
||||
|
||||
Unlike commercial software, every new feature is driven by real contest
|
||||
experience and community feedback.
|
||||
|
||||
</p>
|
||||
|
||||
<div class="actions">
|
||||
|
||||
<a class="button"
|
||||
href="https://ko-fi.com/praktimarc"
|
||||
target="_blank"
|
||||
rel="noopener">
|
||||
|
||||
❤️ Support KST4Contest
|
||||
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="footer-grid">
|
||||
<div>
|
||||
<strong>KST4Contest</strong>
|
||||
<p>Contest-optimized ON4KST workflow for VHF/UHF/SHF operators.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<strong>Project</strong>
|
||||
<p><a href="/features/">Features</a></p>
|
||||
<p><a href="/download/">Download</a></p>
|
||||
<p><a href="/manual/">Manual</a></p>
|
||||
<p><a href="/roadmap/">Roadmap</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<strong>Community</strong>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
|
||||
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
|
||||
<p><a href="/contact/">Contact</a></p>
|
||||
<p><a href="/support/">❤️ Support KST4Contest</a></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<strong>Legal</strong>
|
||||
<p><a href="/legal-notice/">Legal Notice</a></p>
|
||||
<p><a href="/privacy/">Privacy Policy</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
+166
-38
@@ -7,9 +7,9 @@
|
||||
--text: #f8fafc;
|
||||
--muted: #aab6ca;
|
||||
--soft: #64748b;
|
||||
--accent: #38bdf8;
|
||||
--accent2: #a855f7;
|
||||
--accent3: #22c55e;
|
||||
/*--accent: #38bdf8;*/
|
||||
/*--accent2: #a855f7;*/
|
||||
/*--accent3: #22c55e;*/
|
||||
--shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
|
||||
|
||||
--accent: #54d63d;
|
||||
@@ -39,12 +39,37 @@ body {
|
||||
min-height: 100vh;
|
||||
|
||||
background:
|
||||
radial-gradient(circle at 14% 12%, rgba(168, 85, 247, 0.30), transparent 28%),
|
||||
radial-gradient(circle at 82% 16%, rgba(56, 189, 248, 0.24), transparent 30%),
|
||||
radial-gradient(circle at 50% 85%, rgba(34, 197, 94, 0.11), transparent 35%),
|
||||
linear-gradient(180deg, #050816 0%, #07111f 100%);
|
||||
radial-gradient(
|
||||
circle at 14% 12%,
|
||||
rgba(52, 165, 57, 0.20),
|
||||
transparent 30%
|
||||
),
|
||||
radial-gradient(
|
||||
circle at 82% 16%,
|
||||
rgba(95, 218, 82, 0.14),
|
||||
transparent 32%
|
||||
),
|
||||
radial-gradient(
|
||||
circle at 50% 85%,
|
||||
rgba(32, 126, 55, 0.12),
|
||||
transparent 36%
|
||||
),
|
||||
linear-gradient(
|
||||
180deg,
|
||||
#070b09 0%,
|
||||
#0b1410 100%
|
||||
);
|
||||
|
||||
color: var(--text);
|
||||
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||
font-family:
|
||||
Inter,
|
||||
ui-sans-serif,
|
||||
system-ui,
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
"Segoe UI",
|
||||
sans-serif;
|
||||
|
||||
line-height: 1.65;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
@@ -577,50 +602,153 @@ a:hover {
|
||||
}
|
||||
|
||||
/*
|
||||
* Full-width, full-height home hero
|
||||
* Interactive radio / aircraft-scatter hero layer
|
||||
*/
|
||||
|
||||
main {
|
||||
.hero-radio-fx {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
pointer-events: none;
|
||||
opacity: 0.76;
|
||||
}
|
||||
|
||||
.hero.hero-split {
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
min-height: calc(100vh - 77px);
|
||||
padding:
|
||||
clamp(56px, 7vh, 100px)
|
||||
clamp(28px, 6vw, 110px);
|
||||
align-content: center;
|
||||
overflow: hidden;
|
||||
.hero-fx-vignette {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
|
||||
background:
|
||||
linear-gradient(
|
||||
90deg,
|
||||
rgba(7, 11, 9, 0.92) 0%,
|
||||
rgba(7, 11, 9, 0.68) 34%,
|
||||
rgba(7, 11, 9, 0.16) 64%,
|
||||
rgba(7, 11, 9, 0.42) 100%
|
||||
),
|
||||
linear-gradient(
|
||||
180deg,
|
||||
rgba(7, 11, 9, 0.10),
|
||||
rgba(7, 11, 9, 0.58)
|
||||
);
|
||||
}
|
||||
|
||||
.hero.hero-split > div:first-of-type {
|
||||
max-width: 760px;
|
||||
.hero-split > *:not(.hero-radio-fx):not(.hero-fx-vignette) {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.hero.hero-split .hero-panel {
|
||||
width: min(100%, 700px);
|
||||
justify-self: center;
|
||||
/*
|
||||
* Operator-console badge styling
|
||||
*/
|
||||
|
||||
.badge,
|
||||
.eyebrow {
|
||||
color: #caffc0;
|
||||
background: rgba(52, 165, 57, 0.12);
|
||||
border-color: rgba(105, 232, 88, 0.32);
|
||||
box-shadow: 0 0 22px rgba(82, 255, 101, 0.08);
|
||||
}
|
||||
|
||||
@media (min-width: 1600px) {
|
||||
.hero.hero-split {
|
||||
grid-template-columns:
|
||||
minmax(520px, 0.85fr)
|
||||
minmax(600px, 1.15fr);
|
||||
gap: clamp(50px, 6vw, 130px);
|
||||
}
|
||||
/*
|
||||
* Light-mode identity:
|
||||
* white/grey UI with red contest accents
|
||||
*/
|
||||
|
||||
.hero.hero-split .hero-panel {
|
||||
width: min(100%, 780px);
|
||||
}
|
||||
html[data-theme="light"] {
|
||||
--bg: #f4f4f2;
|
||||
--bg2: #ffffff;
|
||||
--panel: rgba(255, 255, 255, 0.88);
|
||||
--panel2: rgba(242, 242, 239, 0.92);
|
||||
--border: rgba(91, 91, 86, 0.20);
|
||||
--text: #252522;
|
||||
--muted: #656560;
|
||||
--soft: #888881;
|
||||
|
||||
--accent: #d33732;
|
||||
--accent2: #f25a51;
|
||||
--accent3: #ae2727;
|
||||
|
||||
--fx-plane: #df3732;
|
||||
--fx-plane-muted: rgba(211, 55, 50, 0.38);
|
||||
--fx-beam: #ef4039;
|
||||
--fx-beam-glow: rgba(239, 64, 57, 0.22);
|
||||
--fx-reflection: #ff8d84;
|
||||
--fx-trail: rgba(211, 55, 50, 0.15);
|
||||
--fx-grid: rgba(185, 47, 43, 0.045);
|
||||
}
|
||||
|
||||
html[data-theme="light"] body {
|
||||
background:
|
||||
radial-gradient(
|
||||
circle at 14% 12%,
|
||||
rgba(211, 55, 50, 0.12),
|
||||
transparent 30%
|
||||
),
|
||||
radial-gradient(
|
||||
circle at 82% 16%,
|
||||
rgba(242, 90, 81, 0.09),
|
||||
transparent 32%
|
||||
),
|
||||
linear-gradient(
|
||||
180deg,
|
||||
#ffffff 0%,
|
||||
#f0f0ed 100%
|
||||
);
|
||||
}
|
||||
|
||||
html[data-theme="light"] .hero-fx-vignette {
|
||||
background:
|
||||
linear-gradient(
|
||||
90deg,
|
||||
rgba(255, 255, 255, 0.95) 0%,
|
||||
rgba(255, 255, 255, 0.76) 34%,
|
||||
rgba(255, 255, 255, 0.18) 66%,
|
||||
rgba(255, 255, 255, 0.48) 100%
|
||||
),
|
||||
linear-gradient(
|
||||
180deg,
|
||||
rgba(255, 255, 255, 0.06),
|
||||
rgba(240, 240, 237, 0.62)
|
||||
);
|
||||
}
|
||||
|
||||
html[data-theme="light"] .badge,
|
||||
html[data-theme="light"] .eyebrow {
|
||||
color: #962a27;
|
||||
background: rgba(211, 55, 50, 0.08);
|
||||
border-color: rgba(211, 55, 50, 0.24);
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.hero.hero-split {
|
||||
min-height: auto;
|
||||
padding-top: 60px;
|
||||
padding-bottom: 60px;
|
||||
.hero-radio-fx {
|
||||
opacity: 0.48;
|
||||
}
|
||||
|
||||
.hero-fx-vignette {
|
||||
background:
|
||||
linear-gradient(
|
||||
180deg,
|
||||
rgba(7, 11, 9, 0.82),
|
||||
rgba(7, 11, 9, 0.34)
|
||||
);
|
||||
}
|
||||
|
||||
html[data-theme="light"] .hero-fx-vignette {
|
||||
background:
|
||||
linear-gradient(
|
||||
180deg,
|
||||
rgba(255, 255, 255, 0.90),
|
||||
rgba(255, 255, 255, 0.42)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.hero-radio-fx {
|
||||
opacity: 0.28;
|
||||
}
|
||||
}
|
||||
@@ -270,91 +270,40 @@
|
||||
];
|
||||
}
|
||||
|
||||
function getRadioStations() {
|
||||
const centerX = state.width * 0.54;
|
||||
const centerY = state.height * 0.43;
|
||||
|
||||
const left = {
|
||||
x: state.width * 0.075,
|
||||
y: state.height * 0.82,
|
||||
label: "JN49EM"
|
||||
function createBeam(target) {
|
||||
const leftStation = {
|
||||
x: state.width * 0.12,
|
||||
y: state.height * 0.82
|
||||
};
|
||||
|
||||
const right = {
|
||||
x: state.width * 0.925,
|
||||
y: state.height * 0.80,
|
||||
label: "JO66MD"
|
||||
const rightStation = {
|
||||
x: state.width * 0.88,
|
||||
y: state.height * 0.78
|
||||
};
|
||||
|
||||
left.angle = Math.atan2(
|
||||
centerY - left.y,
|
||||
centerX - left.x
|
||||
);
|
||||
|
||||
right.angle = Math.atan2(
|
||||
centerY - right.y,
|
||||
centerX - right.x
|
||||
);
|
||||
|
||||
return [left, right];
|
||||
}
|
||||
|
||||
function createBeam(target) {function createBeam(target) {
|
||||
const stations = getRadioStations();
|
||||
|
||||
const source = stations
|
||||
.map((station) => ({
|
||||
station,
|
||||
distance: Math.hypot(
|
||||
target.x - station.x,
|
||||
target.y - station.y
|
||||
)
|
||||
}))
|
||||
.sort((a, b) => a.distance - b.distance)[0].station;
|
||||
|
||||
const beamAngle = Math.atan2(
|
||||
target.y - source.y,
|
||||
target.x - source.x
|
||||
);
|
||||
|
||||
/*
|
||||
* Der Strahl beginnt nicht im Antennenmast,
|
||||
* sondern etwas vor der Yagi.
|
||||
*/
|
||||
const antennaTipDistance = 45;
|
||||
|
||||
const startX =
|
||||
source.x +
|
||||
Math.cos(beamAngle) * antennaTipDistance;
|
||||
|
||||
const startY =
|
||||
source.y +
|
||||
Math.sin(beamAngle) * antennaTipDistance;
|
||||
const source =
|
||||
Math.abs(target.x - leftStation.x) <
|
||||
Math.abs(target.x - rightStation.x)
|
||||
? leftStation
|
||||
: rightStation;
|
||||
|
||||
state.beams.push({
|
||||
startX,
|
||||
startY,
|
||||
startX: source.x,
|
||||
startY: source.y,
|
||||
endX: target.x,
|
||||
endY: target.y,
|
||||
age: 0,
|
||||
maximumAge: 0.72
|
||||
maximumAge: 0.62
|
||||
});
|
||||
|
||||
target.hit = 1;
|
||||
|
||||
const probabilities = [50, 75, 100];
|
||||
const probability =
|
||||
probabilities[
|
||||
Math.floor(Math.random() * probabilities.length)
|
||||
];
|
||||
|
||||
state.reflections.push({
|
||||
x: target.x,
|
||||
y: target.y,
|
||||
age: 0,
|
||||
maximumAge: 1.25,
|
||||
radius: randomBetween(8, 13),
|
||||
probability
|
||||
maximumAge: 0.9,
|
||||
radius: randomBetween(8, 15)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -445,126 +394,6 @@
|
||||
context.restore();
|
||||
}
|
||||
|
||||
function drawYagi(station, palette) {
|
||||
context.save();
|
||||
|
||||
context.translate(station.x, station.y);
|
||||
context.rotate(station.angle);
|
||||
|
||||
context.strokeStyle = palette.plane;
|
||||
context.fillStyle = palette.plane;
|
||||
context.lineCap = "round";
|
||||
context.lineWidth = 1.5;
|
||||
|
||||
context.shadowColor = palette.beamGlow;
|
||||
context.shadowBlur = 9;
|
||||
|
||||
/*
|
||||
* Mast
|
||||
*/
|
||||
context.beginPath();
|
||||
context.moveTo(-30, 26);
|
||||
context.lineTo(-30, -5);
|
||||
context.stroke();
|
||||
|
||||
/*
|
||||
* Ausleger / Boom
|
||||
*/
|
||||
context.beginPath();
|
||||
context.moveTo(-32, 0);
|
||||
context.lineTo(43, 0);
|
||||
context.stroke();
|
||||
|
||||
/*
|
||||
* Reflektor
|
||||
*/
|
||||
context.beginPath();
|
||||
context.moveTo(-27, -17);
|
||||
context.lineTo(-27, 17);
|
||||
context.stroke();
|
||||
|
||||
/*
|
||||
* Dipol
|
||||
*/
|
||||
context.beginPath();
|
||||
context.moveTo(-12, -14);
|
||||
context.lineTo(-12, 14);
|
||||
context.stroke();
|
||||
|
||||
/*
|
||||
* Direktoren
|
||||
*/
|
||||
const directors = [
|
||||
{ x: 2, length: 22 },
|
||||
{ x: 14, length: 19 },
|
||||
{ x: 25, length: 16 },
|
||||
{ x: 35, length: 13 }
|
||||
];
|
||||
|
||||
for (const director of directors) {
|
||||
context.beginPath();
|
||||
context.moveTo(
|
||||
director.x,
|
||||
-director.length / 2
|
||||
);
|
||||
context.lineTo(
|
||||
director.x,
|
||||
director.length / 2
|
||||
);
|
||||
context.stroke();
|
||||
}
|
||||
|
||||
/*
|
||||
* Einspeisepunkt
|
||||
*/
|
||||
context.beginPath();
|
||||
context.arc(-12, 0, 3.2, 0, Math.PI * 2);
|
||||
context.fill();
|
||||
|
||||
context.restore();
|
||||
|
||||
/*
|
||||
* Locator bleibt waagerecht lesbar.
|
||||
*/
|
||||
context.save();
|
||||
|
||||
context.font =
|
||||
'700 11px Inter, system-ui, sans-serif';
|
||||
|
||||
const labelWidth =
|
||||
context.measureText(station.label).width + 14;
|
||||
|
||||
const labelX = station.x - labelWidth / 2;
|
||||
const labelY = station.y + 32;
|
||||
|
||||
context.fillStyle = "rgba(6, 18, 10, 0.86)";
|
||||
context.strokeStyle = palette.planeMuted;
|
||||
context.lineWidth = 1;
|
||||
|
||||
context.beginPath();
|
||||
context.roundRect(
|
||||
labelX,
|
||||
labelY,
|
||||
labelWidth,
|
||||
23,
|
||||
6
|
||||
);
|
||||
context.fill();
|
||||
context.stroke();
|
||||
|
||||
context.fillStyle = palette.plane;
|
||||
context.textAlign = "center";
|
||||
context.textBaseline = "middle";
|
||||
|
||||
context.fillText(
|
||||
station.label,
|
||||
station.x,
|
||||
labelY + 11.5
|
||||
);
|
||||
|
||||
context.restore();
|
||||
}
|
||||
|
||||
function drawPlane(plane, palette) {
|
||||
context.save();
|
||||
|
||||
@@ -636,20 +465,17 @@
|
||||
|
||||
context.globalAlpha = alpha;
|
||||
context.strokeStyle = palette.beamGlow;
|
||||
context.lineWidth = 8;
|
||||
context.lineWidth = 6;
|
||||
context.shadowColor = palette.beam;
|
||||
context.shadowBlur = 15;
|
||||
|
||||
context.setLineDash([10, 6]);
|
||||
context.lineDashOffset = -progress * 36;
|
||||
|
||||
context.beginPath();
|
||||
context.moveTo(beam.startX, beam.startY);
|
||||
context.lineTo(beam.endX, beam.endY);
|
||||
context.stroke();
|
||||
|
||||
context.strokeStyle = palette.beam;
|
||||
context.lineWidth = 1.8;
|
||||
context.lineWidth = 1.4;
|
||||
context.shadowBlur = 5;
|
||||
|
||||
context.beginPath();
|
||||
@@ -657,144 +483,33 @@
|
||||
context.lineTo(beam.endX, beam.endY);
|
||||
context.stroke();
|
||||
|
||||
context.setLineDash([]);
|
||||
|
||||
context.restore();
|
||||
}
|
||||
|
||||
function drawReflection(reflection, palette) {
|
||||
const progress =
|
||||
reflection.age / reflection.maximumAge;
|
||||
function drawReflection(reflection, palette) {
|
||||
const progress =
|
||||
reflection.age / reflection.maximumAge;
|
||||
|
||||
const alpha = 1 - progress;
|
||||
context.save();
|
||||
|
||||
context.save();
|
||||
context.globalAlpha = 1 - progress;
|
||||
context.strokeStyle = palette.reflection;
|
||||
context.lineWidth = 1.5;
|
||||
context.shadowColor = palette.beam;
|
||||
context.shadowBlur = 12;
|
||||
|
||||
context.translate(
|
||||
reflection.x,
|
||||
reflection.y
|
||||
);
|
||||
context.beginPath();
|
||||
context.arc(
|
||||
reflection.x,
|
||||
reflection.y,
|
||||
reflection.radius,
|
||||
0,
|
||||
Math.PI * 2
|
||||
);
|
||||
context.stroke();
|
||||
|
||||
context.globalAlpha = alpha;
|
||||
|
||||
/*
|
||||
* Äußerer Reflexionsring
|
||||
*/
|
||||
context.strokeStyle = palette.reflection;
|
||||
context.lineWidth = 1.6;
|
||||
context.shadowColor = palette.beam;
|
||||
context.shadowBlur = 18;
|
||||
|
||||
context.beginPath();
|
||||
context.arc(
|
||||
0,
|
||||
0,
|
||||
reflection.radius,
|
||||
0,
|
||||
Math.PI * 2
|
||||
);
|
||||
context.stroke();
|
||||
|
||||
/*
|
||||
* Zweiter Ring
|
||||
*/
|
||||
context.globalAlpha = alpha * 0.55;
|
||||
|
||||
context.beginPath();
|
||||
context.arc(
|
||||
0,
|
||||
0,
|
||||
reflection.radius * 1.65,
|
||||
0,
|
||||
Math.PI * 2
|
||||
);
|
||||
context.stroke();
|
||||
|
||||
/*
|
||||
* Reflexionskreuz
|
||||
*/
|
||||
context.globalAlpha = alpha * 0.8;
|
||||
context.lineWidth = 1;
|
||||
|
||||
const crossSize =
|
||||
reflection.radius * 1.25;
|
||||
|
||||
context.beginPath();
|
||||
context.moveTo(-crossSize, 0);
|
||||
context.lineTo(crossSize, 0);
|
||||
context.moveTo(0, -crossSize);
|
||||
context.lineTo(0, crossSize);
|
||||
context.stroke();
|
||||
|
||||
/*
|
||||
* Heller Reflexionspunkt
|
||||
*/
|
||||
context.globalAlpha = alpha;
|
||||
context.fillStyle = palette.reflection;
|
||||
context.shadowBlur = 24;
|
||||
|
||||
context.beginPath();
|
||||
context.arc(0, 0, 3.8, 0, Math.PI * 2);
|
||||
context.fill();
|
||||
|
||||
context.restore();
|
||||
|
||||
/*
|
||||
* AP-Prozentwert
|
||||
*/
|
||||
context.save();
|
||||
|
||||
const label = `${reflection.probability}%`;
|
||||
|
||||
context.font =
|
||||
'800 12px Inter, system-ui, sans-serif';
|
||||
|
||||
const textWidth =
|
||||
context.measureText(label).width;
|
||||
|
||||
const boxWidth = textWidth + 16;
|
||||
const boxHeight = 25;
|
||||
|
||||
const boxX =
|
||||
reflection.x + reflection.radius + 12;
|
||||
|
||||
const boxY =
|
||||
reflection.y - reflection.radius - 17;
|
||||
|
||||
context.globalAlpha =
|
||||
clamp(alpha * 1.25, 0, 1);
|
||||
|
||||
context.fillStyle = "rgba(6, 18, 10, 0.91)";
|
||||
context.strokeStyle = palette.plane;
|
||||
context.lineWidth = 1;
|
||||
|
||||
context.shadowColor = palette.beamGlow;
|
||||
context.shadowBlur = 10;
|
||||
|
||||
context.beginPath();
|
||||
context.roundRect(
|
||||
boxX,
|
||||
boxY,
|
||||
boxWidth,
|
||||
boxHeight,
|
||||
6
|
||||
);
|
||||
context.fill();
|
||||
context.stroke();
|
||||
|
||||
context.shadowBlur = 0;
|
||||
context.fillStyle = palette.reflection;
|
||||
context.textAlign = "center";
|
||||
context.textBaseline = "middle";
|
||||
|
||||
context.fillText(
|
||||
label,
|
||||
boxX + boxWidth / 2,
|
||||
boxY + boxHeight / 2
|
||||
);
|
||||
|
||||
context.restore();
|
||||
}
|
||||
context.restore();
|
||||
}
|
||||
|
||||
function drawStaticScene() {
|
||||
const palette = getPalette();
|
||||
@@ -808,10 +523,6 @@
|
||||
|
||||
drawGrid(palette);
|
||||
drawRadarTarget(palette);
|
||||
|
||||
for (const station of getRadioStations()) {
|
||||
drawYagi(station, palette);
|
||||
}
|
||||
}
|
||||
|
||||
function drawScene() {
|
||||
@@ -827,10 +538,6 @@
|
||||
drawGrid(palette);
|
||||
drawRadarTarget(palette);
|
||||
|
||||
for (const station of getRadioStations()) {
|
||||
drawYagi(station, palette);
|
||||
}
|
||||
|
||||
for (const plane of state.planes) {
|
||||
drawPlane(plane, palette);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user