Public Access
Site: roro9stack.net, phase 1 (the home page, Install with a browser flasher, Downloads)
A Zola site in site/, from the design: both themes on the device's palette, notched shapes, self-hosted fonts, the wordmark and icons, two generated hero drawings, nine App cards (the mesh messenger marked planned), real screenshots, the updates and build sections. The Install page builds ESP Web Tools' manifest in the browser from the Gitea API (it needs Caddy to allow the origin), refuses any download that isn't on the project's server, and falls back to the esptool steps. Downloads lists the releases. The focus ring shows on notched controls. A page checker fails the build if a page loads from another origin. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}Downloads: roro9stack{% endblock %}
|
||||
{% block description %}{{ page.description }}{% endblock %}
|
||||
{% block main %}
|
||||
{% set releases = load_data(url=config.extra.api ~ "/releases?limit=30&draft=false&pre-release=false", format="json", required=false) %}
|
||||
<div class="wrap page">
|
||||
<header>
|
||||
<span class="eyebrow">Downloads</span>
|
||||
<h1>{{ page.title }}</h1>
|
||||
<p class="lead">{{ page.description }} To put one on a device, <a class="accent-link" href="/install/">install it from your browser</a>.</p>
|
||||
</header>
|
||||
|
||||
<div class="prose">
|
||||
<p>Each release has a <strong>signed update file</strong> (<code>.ota</code>: copy it to <code>/updates</code> on the SD card and install it from Settings → Firmware or the Storage App, or push it over Wi-Fi), a <strong>factory image</strong> (<code>-factory.bin</code>, the whole flash at offset 0 for a first install over USB), the <strong>symbols</strong> (<code>.elf.gz</code>, to decode a crash report) and <code>SHA256SUMS</code>. Debug Builds aren't published.</p>
|
||||
</div>
|
||||
|
||||
{% if releases %}
|
||||
<div class="releases">
|
||||
{% for r in releases %}
|
||||
<article class="release n-md">
|
||||
<h2>{{ r.tag_name }}</h2>
|
||||
<p class="meta">{{ r.published_at | date(format="%Y-%m-%d") }} · <a class="accent-link" href="{{ r.html_url }}">release notes</a></p>
|
||||
<p>{{ r.body | split(pat="\n\n") | first }}</p>
|
||||
<p class="files">
|
||||
{% for a in r.assets %}<a href="{{ a.browser_download_url }}">{{ a.name }}</a> <span class="muted">({{ a.size | filesizeformat }})</span>{% endfor %}
|
||||
</p>
|
||||
</article>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<p class="prose">The list of releases couldn't be read when this page was built. They're all on <a class="accent-link" href="{{ config.extra.repo }}/releases">Gitea</a>.</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock main %}
|
||||
Reference in New Issue
Block a user