ZDDC/website/releases/index.html
ZDDC 9b3b11fc20 refactor: drop install scripts; containerize zddc-server build
Drops the install/distribution machinery in favor of two simpler paths:
  - Local: download a tool .html from website/releases/ and open it.
  - Server: run zddc-server, which embeds current-stable HTMLs at compile
    time via //go:embed (delivered in the next commit).

Removed:
  - bootstrap/install.sh, bootstrap/README.md, bootstrap/level{1,2}.html.tmpl
  - website/bootstrap/{level1,track-stable,track-beta,track-alpha}/
  - website/install.sh symlink
  - The bootstrap-stub generation in top-level build.sh

Rewritten:
  - website/index.html "Install on your server" section: two cards
    (server / local) replacing the old four script-based snippets.
  - website/reference.html, website/css/style.css: updated to match.
  - website/releases/index.html: regenerated by build.sh from filesystem.

Top-level build.sh:
  - All five tool HTMLs now copied into zddc/dist/web/ and into the
    new zddc/internal/apps/embedded/ for //go:embed.
  - Cross-compile is always containerized via podman or docker against
    docker.io/golang:1.24-alpine (the same image the helm prod chart
    uses), with named volumes for module + build cache. ZDDC_GO_BUILD_IMAGE
    overrides for air-gapped or pinned-mirror deployments.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 15:24:52 -05:00

143 lines
7.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Releases — ZDDC</title>
<meta name="description" content="All released versions and channel builds of every ZDDC tool.">
<meta name="theme-color" content="#2a5a8a">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<link rel="stylesheet" href="../css/style.css">
<style>
.rel-tool { margin-top: var(--spacing-xl); padding: var(--spacing-md); border: 1px solid var(--color-border); border-radius: 8px; }
.rel-tool h2 { margin-top: 0; }
.rel-channels { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0 1.25rem 0; }
.rel-channels a { padding: 0.25rem 0.625rem; border-radius: 999px; text-decoration: none; border: 1px solid var(--color-border); color: var(--color-text); font-size: 0.9rem; }
.rel-channels a.stable { border-color: var(--color-primary); color: var(--color-primary); font-weight: 600; }
.rel-channels a.beta, .rel-channels a.alpha { color: var(--color-text-muted); }
.rel-channels a:hover { background: var(--color-bg-subtle); }
.rel-versions { font-size: 0.875rem; color: var(--color-text-muted); }
.rel-versions a { margin-right: 0.5rem; color: var(--color-text); text-decoration: none; padding: 0.1rem 0.4rem; border-radius: 4px; }
.rel-versions a:hover { background: var(--color-bg-subtle); text-decoration: underline; }
.rel-meta { font-size: 0.85rem; color: var(--color-text-muted); margin-top: 0.5rem; }
.rel-bin-table { width: 100%; border-collapse: collapse; margin: 0.5rem 0 1rem; font-size: 0.9rem; }
.rel-bin-table th, .rel-bin-table td { text-align: left; padding: 0.4rem 0.6rem; border-bottom: 1px solid var(--color-border); }
.rel-bin-table th { font-weight: 600; color: var(--color-text-muted); }
.rel-bin-table td.ch-stable { color: var(--color-primary); font-weight: 600; }
.rel-bin-table td.ch-beta, .rel-bin-table td.ch-alpha { color: var(--color-text-muted); }
.rel-bin-table a { color: var(--color-text); text-decoration: none; padding: 0.1rem 0.35rem; border-radius: 4px; }
.rel-bin-table a:hover { background: var(--color-bg-subtle); text-decoration: underline; }
.rel-bin-table td.empty { color: var(--color-text-muted); font-style: italic; }
.rel-pull { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85rem; background: var(--color-bg-subtle); padding: 0.25rem 0.5rem; border-radius: 4px; display: inline-block; margin: 0.2rem 0; }
</style>
</head>
<body>
<header class="site-header">
<div class="container header-content">
<a href="/" class="brand">
<svg class="brand-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" aria-hidden="true">
<rect width="64" height="64" rx="12" fill="#1e3a5f"/>
<g fill="#fff">
<rect x="14" y="18" width="36" height="7"/>
<polygon points="43,25 50,25 21,43 14,43"/>
<rect x="14" y="43" width="36" height="7"/>
</g>
</svg>
<span class="brand-name">ZDDC</span>
</a>
<nav class="header-nav">
<a href="/" class="nav-link">Home</a>
<a href="../reference.html" class="nav-link">Docs</a>
<a href="index.html" class="nav-link active">Releases</a>
</nav>
</div>
</header>
<section class="hero">
<div class="container">
<h1>Releases</h1>
<p class="hero-subtitle">All published versions and channel builds of every ZDDC tool. Stable releases are immutable; alpha and beta channels are rebuilt without notice.</p>
</div>
</section>
<main class="container" style="margin-bottom: var(--spacing-2xl);">
<section class="rel-tool">
<h2>Archive</h2>
<div class="rel-channels">
<a class="stable" href="archive_stable.html">stable</a>
<a class="beta" href="archive_beta.html">beta</a>
<a class="alpha" href="archive_alpha.html">alpha</a>
</div>
<div class="rel-versions"><strong>Pin to version:</strong>
<a href="archive_v0.0.2.html">v0.0.2</a>
<a href="archive_v0.0.1.html">v0.0.1</a>
</div>
</section>
<section class="rel-tool">
<h2>Transmittal</h2>
<div class="rel-channels">
<a class="stable" href="transmittal_stable.html">stable</a>
<a class="beta" href="transmittal_beta.html">beta</a>
<a class="alpha" href="transmittal_alpha.html">alpha</a>
</div>
<div class="rel-versions"><strong>Pin to version:</strong>
<a href="transmittal_v0.0.2.html">v0.0.2</a>
<a href="transmittal_v0.0.1.html">v0.0.1</a>
</div>
</section>
<section class="rel-tool">
<h2>Classifier</h2>
<div class="rel-channels">
<a class="stable" href="classifier_stable.html">stable</a>
<a class="beta" href="classifier_beta.html">beta</a>
<a class="alpha" href="classifier_alpha.html">alpha</a>
</div>
<div class="rel-versions"><strong>Pin to version:</strong>
<a href="classifier_v0.0.2.html">v0.0.2</a>
<a href="classifier_v0.0.1.html">v0.0.1</a>
</div>
</section>
<section class="rel-tool">
<h2>Markdown Editor</h2>
<div class="rel-channels">
<a class="stable" href="mdedit_stable.html">stable</a>
<a class="beta" href="mdedit_beta.html">beta</a>
<a class="alpha" href="mdedit_alpha.html">alpha</a>
</div>
<div class="rel-versions"><strong>Pin to version:</strong>
<a href="mdedit_v0.0.2.html">v0.0.2</a>
<a href="mdedit_v0.0.1.html">v0.0.1</a>
</div>
</section>
<section class="rel-tool">
<h2>Landing (project picker)</h2>
<div class="rel-channels">
<a class="stable" href="landing_stable.html">stable</a>
<a class="beta" href="landing_beta.html">beta</a>
<a class="alpha" href="landing_alpha.html">alpha</a>
</div>
<div class="rel-versions"><strong>Pin to version:</strong>
<a href="landing_v0.0.2.html">v0.0.2</a>
<a href="landing_v0.0.1.html">v0.0.1</a>
</div>
</section>
<section class="rel-tool">
<h2>zddc-server (Go file server)</h2>
<p>Binaries are published as Codeberg release assets. Pick a platform from the release page; or build from source via the helm charts under <code>helm/</code>.</p>
<p><a href="https://codeberg.org/VARASYS/ZDDC/releases">Browse zddc-server releases on Codeberg →</a></p>
</section>
<section style="margin-top: var(--spacing-2xl); color: var(--color-text-muted); font-size: 0.9rem;">
<p>Each link above is a real static file (or a checked-in symlink resolving to one). Channel chips track the current build of that channel and may change at any time; per-version files are immutable. To install or pin in your own deployment, see <a href="../">the home page</a>.</p>
</section>
</main>
<footer class="site-footer">
<div class="container footer-content">
<span>ZDDC is open source — <a href="https://codeberg.org/VARASYS/ZDDC">codeberg.org/VARASYS/ZDDC</a></span>
</div>
</footer>
</body>
</html>