Add dedicated edition pages (server, workstation, cloud)
- Add /server, /workstation, /cloud routes with per-page SEO titles - Extract shared nav, footer, and waitlist form into partials - Nav links to edition pages with active-state highlighting; swap About/Security order - Waitlist form pre-checks the current edition and adds a Cloud option - Add page-hero variant, edition switcher, and active-nav styles - Responsive fixes: nav wraps at 540px, waitlist checkboxes wrap on narrow screens
This commit is contained in:
36
templates/partials/footer.html
Normal file
36
templates/partials/footer.html
Normal file
@@ -0,0 +1,36 @@
|
||||
{{define "footer"}}
|
||||
<footer class="footer">
|
||||
<div class="footer-grid">
|
||||
<div class="footer-col">
|
||||
<a href="/" class="footer-logo">Arcline Project</a>
|
||||
<p>An open-source operating system for people who defend infrastructure. Hardened Debian base. Pre-configured security stack. Zero telemetry. Defense-ready.</p>
|
||||
</div>
|
||||
<div class="footer-col">
|
||||
<h4>Editions</h4>
|
||||
<ul>
|
||||
<li><a href="/server">Server</a></li>
|
||||
<li><a href="/workstation">Workstation</a></li>
|
||||
<li><a href="/cloud">Cloud</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer-col">
|
||||
<h4>Project</h4>
|
||||
<ul>
|
||||
<li><a href="/#about">About</a></li>
|
||||
<li><a href="/#contribute">Contribute</a></li>
|
||||
<li><a href="https://git.arcline.it">Source Code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer-col">
|
||||
<h4>Connect</h4>
|
||||
<ul>
|
||||
<li><a href="https://arcline.it">Arcline IT</a></li>
|
||||
<li><a href="https://git.arcline.it">Git</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<p>© 2026 Arcline IT LLC. GPL Licensed. No telemetry. No tracking.</p>
|
||||
</div>
|
||||
</footer>
|
||||
{{end}}
|
||||
47
templates/partials/nav.html
Normal file
47
templates/partials/nav.html
Normal file
@@ -0,0 +1,47 @@
|
||||
{{define "nav"}}
|
||||
<a href="#main" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav">
|
||||
<div class="nav-inner">
|
||||
<a href="/" class="logo">
|
||||
<svg class="logo-icon" width="28" height="28" viewBox="0 0 32 32" fill="none">
|
||||
<rect width="32" height="32" fill="#0b0c0e"/>
|
||||
<path d="M5 27L16 5L27 27" fill="none" stroke="#f59e0b" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M9 20H23" fill="none" stroke="#f59e0b" stroke-width="2.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span>Arcline Project</span>
|
||||
</a>
|
||||
<nav>
|
||||
<a href="/server"{{if eq .Active "server"}} class="nav-active" aria-current="page"{{end}}>Server</a>
|
||||
<a href="/workstation"{{if eq .Active "workstation"}} class="nav-active" aria-current="page"{{end}}>Workstation</a>
|
||||
<a href="/cloud"{{if eq .Active "cloud"}} class="nav-active" aria-current="page"{{end}}>Cloud</a>
|
||||
<a href="/#about">About</a>
|
||||
<a href="/#security">Security</a>
|
||||
<a href="/#contribute">Contribute</a>
|
||||
<button
|
||||
type="button"
|
||||
data-theme-toggle
|
||||
class="theme-toggle"
|
||||
aria-label="Toggle theme"
|
||||
title="Toggle light / dark mode"
|
||||
>
|
||||
<svg class="theme-icon theme-icon-light" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"/>
|
||||
<line x1="12" y1="1" x2="12" y2="3"/>
|
||||
<line x1="12" y1="21" x2="12" y2="23"/>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
|
||||
<line x1="1" y1="12" x2="3" y2="12"/>
|
||||
<line x1="21" y1="12" x2="23" y2="12"/>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
|
||||
</svg>
|
||||
<svg class="theme-icon theme-icon-dark" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/>
|
||||
</svg>
|
||||
</button>
|
||||
<a href="#get-started" class="nav-cta">Get Started</a>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
{{end}}
|
||||
34
templates/partials/waitlist_form.html
Normal file
34
templates/partials/waitlist_form.html
Normal file
@@ -0,0 +1,34 @@
|
||||
{{define "waitlistForm"}}
|
||||
<form
|
||||
hx-post="/partials/waitlist"
|
||||
hx-target="#waitlist-result"
|
||||
hx-swap="outerHTML"
|
||||
class="waitlist-form"
|
||||
>
|
||||
<fieldset class="edition-checkboxes">
|
||||
<legend>I'm interested in:</legend>
|
||||
<label class="edition-checkbox">
|
||||
<input type="checkbox" name="edition" value="server"{{if eq .Edition "server"}} checked{{end}}>
|
||||
<span>Server</span>
|
||||
</label>
|
||||
<label class="edition-checkbox">
|
||||
<input type="checkbox" name="edition" value="workstation"{{if eq .Edition "workstation"}} checked{{end}}>
|
||||
<span>Workstation</span>
|
||||
</label>
|
||||
<label class="edition-checkbox">
|
||||
<input type="checkbox" name="edition" value="cloud"{{if eq .Edition "cloud"}} checked{{end}}>
|
||||
<span>Cloud</span>
|
||||
</label>
|
||||
</fieldset>
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
placeholder="you@example.com"
|
||||
required
|
||||
class="input"
|
||||
>
|
||||
<button type="submit" class="btn">Get Early Access</button>
|
||||
</form>
|
||||
<div id="waitlist-result"></div>
|
||||
<p class="waitlist-note">No spam. No tracking. We'll only email you when there's something to try.</p>
|
||||
{{end}}
|
||||
Reference in New Issue
Block a user