- /download/ and /de/download/: big download button, file name, size and release date, requirements (64-bit PC, UEFI or BIOS, >=16 GB disk that gets erased, USB stick, network cable with internet, second device), five install steps (Etcher / Rufus DD mode / dd, boot menu, Secure Boot off, proksi.local:5000, wizard, pull stick), checksum + verify commands when the release has one, alpha notice, link to all releases - the release data comes from the Forgejo API at build time (partials/release.html): newest release with an .iso asset, falling back to params.version if the lookup fails; getresource cache disabled so a build never pins an old release - homepage: status chip follows the latest release, 'Download ISO' primary CTA + 'Source code' ghost CTA, numbered how-it-works cards, download band before the closer - releases now upload furtka-<ver>.iso.sha256, and release.yml rebuilds the site after publishing so the download page follows each release Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wq1hzUp4ZmCKHDuLKCnu73
75 lines
2.5 KiB
HTML
75 lines
2.5 KiB
HTML
{{ define "main" }}
|
|
{{- $r := partialCached "release.html" . "release" -}}
|
|
{{- $dl := "download/" | relLangURL -}}
|
|
<article class="home">
|
|
<header class="hero">
|
|
<p class="status-chip reveal"><span class="mono">{{ $r.version }}</span> — {{ .Params.status_text }}</p>
|
|
<h1 class="reveal">{{ .Title }}</h1>
|
|
{{ with site.Params.description }}<p class="lede reveal">{{ . }}</p>{{ end }}
|
|
<p class="cta-row reveal">
|
|
<a class="cta cta--primary" href="{{ $dl }}">
|
|
{{ .Params.cta_download }}
|
|
<span aria-hidden="true">→</span>
|
|
</a>
|
|
<a class="cta cta--ghost" href="{{ site.Params.forgejoURL }}/{{ site.Params.repoPath }}">{{ .Params.cta_source }}</a>
|
|
</p>
|
|
{{ with .Params.poll_link }}
|
|
<p class="reveal"><a class="home-poll" href="{{ . }}">{{ partial "mark-m.html" (dict "class" "" "id" "hm") }}{{ partial "mark-r.html" (dict "class" "" "id" "hr") }}<span>{{ $.Params.poll_text }} →</span></a></p>
|
|
{{ end }}
|
|
</header>
|
|
|
|
{{ with .Params.intro }}
|
|
<section class="intro">{{ . | markdownify }}</section>
|
|
{{ end }}
|
|
|
|
{{ with .Params.steps }}
|
|
<section class="feature-section">
|
|
{{ with $.Params.steps_label }}<p class="section-eyebrow">{{ . }}</p>{{ end }}
|
|
<ol class="how-steps">
|
|
{{ range . }}
|
|
<li class="how-step" data-gsap="card">
|
|
<h3>{{ .title }}</h3>
|
|
<p>{{ .body | markdownify }}</p>
|
|
</li>
|
|
{{ end }}
|
|
</ol>
|
|
</section>
|
|
{{ end }}
|
|
|
|
{{ if .Params.features_today }}
|
|
<section class="feature-section">
|
|
{{ with .Params.features_today_label }}<p class="section-eyebrow">{{ . }}</p>{{ end }}
|
|
<div class="feature-grid">
|
|
{{ range .Params.features_today }}
|
|
<article class="feature-card" data-gsap="card">{{ . | markdownify }}</article>
|
|
{{ end }}
|
|
</div>
|
|
</section>
|
|
{{ end }}
|
|
|
|
{{ if .Params.features_next }}
|
|
<section class="feature-section">
|
|
{{ with .Params.features_next_label }}<p class="section-eyebrow">{{ . }}</p>{{ end }}
|
|
<div class="feature-grid">
|
|
{{ range .Params.features_next }}
|
|
<article class="feature-card" data-gsap="card">{{ . | markdownify }}</article>
|
|
{{ end }}
|
|
</div>
|
|
</section>
|
|
{{ end }}
|
|
|
|
{{ with .Params.band_title }}
|
|
<section class="dl-band" data-gsap="card">
|
|
<div>
|
|
<h2>{{ . }}</h2>
|
|
<p>{{ $.Params.band_text }}</p>
|
|
</div>
|
|
<a class="cta cta--primary" href="{{ $dl }}">{{ $.Params.cta_download }} <span aria-hidden="true">→</span></a>
|
|
</section>
|
|
{{ end }}
|
|
|
|
{{ with .Content }}
|
|
<section class="prose closer">{{ . }}</section>
|
|
{{ end }}
|
|
</article>
|
|
{{ end }}
|