Compare commits
1 Commits
63a0b28d48
...
redesign/f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f343ced979 |
1219
static/css/style.css
1219
static/css/style.css
File diff suppressed because it is too large
Load Diff
61
static/js/theme-toggle.js
Normal file
61
static/js/theme-toggle.js
Normal file
@@ -0,0 +1,61 @@
|
||||
// ── Theme Toggle ──
|
||||
// Dark mode is the default. No data-theme attribute means dark mode.
|
||||
// Light mode is [data-theme="light"].
|
||||
|
||||
(function () {
|
||||
const STORAGE_KEY = "arcline-theme";
|
||||
const LIGHT = "light";
|
||||
const DARK = "dark";
|
||||
|
||||
function applyTheme(theme) {
|
||||
if (theme === LIGHT) {
|
||||
document.documentElement.setAttribute("data-theme", LIGHT);
|
||||
} else {
|
||||
document.documentElement.removeAttribute("data-theme");
|
||||
}
|
||||
}
|
||||
|
||||
// Read saved preference, default to dark
|
||||
function getSavedTheme() {
|
||||
try {
|
||||
const stored = localStorage.getItem(STORAGE_KEY);
|
||||
if (stored === LIGHT || stored === DARK) return stored;
|
||||
} catch (_) {
|
||||
// localStorage unavailable — ignore
|
||||
}
|
||||
return DARK;
|
||||
}
|
||||
|
||||
function saveTheme(theme) {
|
||||
try {
|
||||
localStorage.setItem(STORAGE_KEY, theme);
|
||||
} catch (_) {
|
||||
// localStorage unavailable — ignore
|
||||
}
|
||||
}
|
||||
|
||||
// Apply the saved theme immediately (before page render)
|
||||
const current = getSavedTheme();
|
||||
applyTheme(current);
|
||||
|
||||
// Wire up toggle button(s) once the DOM is ready
|
||||
function initToggle() {
|
||||
const buttons = document.querySelectorAll("[data-theme-toggle]");
|
||||
buttons.forEach(function (btn) {
|
||||
btn.addEventListener("click", function () {
|
||||
const next = document.documentElement.hasAttribute("data-theme")
|
||||
? DARK
|
||||
: LIGHT;
|
||||
applyTheme(next);
|
||||
saveTheme(next);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", initToggle);
|
||||
} else {
|
||||
initToggle();
|
||||
}
|
||||
})();
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400..700&family=JetBrains+Mono:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/static/css/style.css">
|
||||
<script src="/static/js/htmx.min.js"></script>
|
||||
<script src="/static/js/theme-toggle.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
{{template "content" .}}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{{define "content"}}
|
||||
<a href="#main" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav">
|
||||
<div class="nav-inner">
|
||||
<a href="/" class="logo">
|
||||
@@ -10,15 +12,39 @@
|
||||
<span>Arcline Project</span>
|
||||
</a>
|
||||
<nav>
|
||||
<a href="#editions">Editions</a>
|
||||
<a href="#about">About</a>
|
||||
<a href="#toolchain">Toolchain</a>
|
||||
<a href="#contribute">Contribute</a>
|
||||
<a href="#get-started">Get Started</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>
|
||||
|
||||
<main>
|
||||
<main id="main">
|
||||
|
||||
<!-- Hero -->
|
||||
<section class="hero">
|
||||
<div class="hero-inner">
|
||||
@@ -37,10 +63,71 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Editions -->
|
||||
<section id="editions" class="section">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">Editions</div>
|
||||
<h2>Our flagship Arcline OS variants<br>for different use cases.</h2>
|
||||
<p class="section-desc">
|
||||
Pick the edition that matches your workload. All share the same
|
||||
hardened Debian base and zero-telemetry guarantee.
|
||||
</p>
|
||||
<div class="editions-grid">
|
||||
<div class="edition-card">
|
||||
<div class="edition-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<rect x="2" y="2" width="20" height="20" rx="3"/>
|
||||
<rect x="6" y="6" width="12" height="12" rx="1.5"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3>Arcline Server</h3>
|
||||
<p>A hardened, production-ready server OS with built-in observability and zero telemetry. Run applications on bare metal or the cloud.</p>
|
||||
<div class="card-actions">
|
||||
<a href="#get-started" class="card-btn card-btn-primary">Get Access</a>
|
||||
<a href="#about" class="card-btn card-btn-secondary">Learn More</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="edition-card">
|
||||
<div class="edition-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<rect x="2" y="3" width="20" height="14" rx="2"/>
|
||||
<path d="M8 21h8"/>
|
||||
<path d="M12 17v4"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3>Arcline Workstation</h3>
|
||||
<p>Same hardened base, with a lightweight KDE Plasma desktop, pre-configured dev toolchains, and privacy-hardened browser profiles.</p>
|
||||
<div class="card-actions">
|
||||
<a href="#get-started" class="card-btn card-btn-primary">Get Access</a>
|
||||
<a href="#about" class="card-btn card-btn-secondary">Coming Soon</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="edition-card">
|
||||
<div class="edition-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="10"/>
|
||||
<path d="M2 12h20"/>
|
||||
<path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10"/>
|
||||
<path d="M12 2a15.3 15.3 0 00-4 10 15.3 15.3 0 004 10"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3>Arcline Cloud</h3>
|
||||
<p>Minimal base images optimized for cloud infrastructures. Ready for AWS, GCP, Azure, or your own private cloud.</p>
|
||||
<div class="card-actions">
|
||||
<a href="#get-started" class="card-btn card-btn-primary">Get Access</a>
|
||||
<a href="#about" class="card-btn card-btn-secondary">Learn More</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- What is Arcline OS -->
|
||||
<section id="about" class="section section-alt">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">what is arcline os?</div>
|
||||
<div class="section-label">What is Arcline OS?</div>
|
||||
<h2>A Debian-derived OS that doesn't<br>make you start from scratch.</h2>
|
||||
<p class="section-desc">
|
||||
Debian gives you a rock-solid base. Arcline OS hardens it, layers on a
|
||||
@@ -132,7 +219,7 @@
|
||||
<!-- What's Included -->
|
||||
<section class="section">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">what's included</div>
|
||||
<div class="section-label">What's Included</div>
|
||||
<h2>Production-ready from first boot.</h2>
|
||||
<p class="section-desc">
|
||||
Arcline OS layers pre-configured infrastructure tooling on top of a hardened
|
||||
@@ -179,21 +266,13 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="edition-teaser">
|
||||
<div class="edition-teaser-badge">// arcline workstation — in development</div>
|
||||
<p>
|
||||
<strong>Arcline Workstation</strong> — same hardened base, with a lightweight KDE Plasma desktop,
|
||||
pre-configured dev toolchains, and privacy-hardened browser profiles.
|
||||
One ISO. Two targets. Pick yours at install time.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Toolchain deep-dive -->
|
||||
<section id="toolchain" class="section section-alt">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">the toolchain</div>
|
||||
<div class="section-label">The Toolchain</div>
|
||||
<h2>11 Go tools. Built in production.<br>Yours to use.</h2>
|
||||
<p class="section-desc">
|
||||
Every Arcline tool was built to solve real infrastructure problems.
|
||||
@@ -251,7 +330,7 @@
|
||||
<!-- Why Arcline OS -->
|
||||
<section class="section">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">why arcline os?</div>
|
||||
<div class="section-label">Why Arcline OS?</div>
|
||||
<h2>No major Linux distro ships<br>pre-hardened for production.</h2>
|
||||
<p class="section-desc">
|
||||
Debian gives you the packages. Arcline OS assembles them into a finished
|
||||
@@ -283,7 +362,7 @@
|
||||
<!-- Contribute -->
|
||||
<section id="contribute" class="section section-alt">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">community</div>
|
||||
<div class="section-label">Community</div>
|
||||
<h2>Built in the open. Shaped by the<br>people who use it.</h2>
|
||||
<p class="section-desc">
|
||||
Arcline OS is open-source under the GPL. The code lives on
|
||||
@@ -329,7 +408,7 @@
|
||||
<!-- Get Started -->
|
||||
<section id="get-started" class="section">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">get started</div>
|
||||
<div class="section-label">Get Started</div>
|
||||
<h2>Arcline OS is in active development.<br>Be there at the start.</h2>
|
||||
<p class="section-desc">
|
||||
We're packaging the tools, building the ISO pipeline, and hardening the defaults.
|
||||
@@ -369,7 +448,7 @@
|
||||
<!-- Sponsor -->
|
||||
<section class="section section-alt sponsor-section">
|
||||
<div class="section-inner">
|
||||
<div class="section-label">sponsored by</div>
|
||||
<div class="section-label">Sponsored By</div>
|
||||
<div class="sponsor-content">
|
||||
<div class="sponsor-desc">
|
||||
<p>The Arcline Project is funded and operated by <strong>Arcline IT LLC</strong> — the same model as Red Hat and Fedora. The commercial services business at <a href="https://arcline.it" class="inline-link">arcline.it</a> keeps the lights on so the OS stays independent and sustainable.</p>
|
||||
@@ -378,17 +457,38 @@
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-brand">
|
||||
<div class="footer-grid">
|
||||
<div class="footer-col">
|
||||
<a href="/" class="footer-logo">Arcline Project</a>
|
||||
<p>An open-source OS for people who run infrastructure.</p>
|
||||
<p>An open-source operating system for people who run infrastructure. Hardened Debian base. Zero telemetry. Production-ready.</p>
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="https://arcline.it">Arcline IT</a>
|
||||
<a href="https://git.arcline.it">Git</a>
|
||||
<div class="footer-col">
|
||||
<h4>Editions</h4>
|
||||
<ul>
|
||||
<li><a href="#editions">Server</a></li>
|
||||
<li><a href="#editions">Workstation</a></li>
|
||||
<li><a href="#editions">Cloud</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer-col">
|
||||
<h4>Project</h4>
|
||||
<ul>
|
||||
<li><a href="#about">About</a></li>
|
||||
<li><a href="#toolchain">Toolchain</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">
|
||||
|
||||
Reference in New Issue
Block a user