Commit 6c4d1e1454

6c4d1e14547d21b3675dbc339a5237826099e775

parent: e4ba4be971

Verified · cmc ci/build: success ci/test: success

cmc <hello@cleberg.net> · 2026-09-23 23:21 UTC

landing: drop the merge request picture and the help comment

The recording replaces the picture; its PNGs, the .shot img rule and the png entry go with it.

Ref #253
e2e/design_test.go +2 −2
@@ -189,8 +189,8 @@ func TestLandingRoutes(t *testing.T) {
189189 `class="button primary" href="/explore">Explore repositories</a>`,
190190 `class="button btn" href="/register">Create an account</a>`,
191191 "web login</code>",
192 "/static/img/mr-dark.png",
193 "<picture>",
192 "/static/img/demo.webm",
193 "<video autoplay muted loop playsinline controls",
194194 } {
195195 if !strings.Contains(body, want) {
196196 t.Errorf("landing lacks %q", want)
internal/httpd/web.go +2 −3
@@ -118,14 +118,13 @@ func (s *Server) font(w http.ResponseWriter, r *http.Request) {
118118}
119119
120120var staticTypes = map[string]string{
121 ".png": "image/png",
122121 ".gif": "image/gif",
123122 ".webm": "video/webm",
124123 ".mp4": "video/mp4",
125124}
126125
127// image serves the embedded landing pictures and recording with the font
128// cache policy. ServeContent answers Range, which Safari needs to play video.
126// image serves the embedded landing recording with the font cache policy.
127// ServeContent answers Range, which Safari needs to play video.
129128func (s *Server) image(w http.ResponseWriter, r *http.Request) {
130129 name := "static" + r.URL.Path[len("/static"):]
131130 data, err := web.ImageFS.ReadFile(name)
internal/web/static/img/mr-dark.png deleted

Binary file not shown.

internal/web/static/img/mr-light.png deleted

Binary file not shown.

internal/web/static/style.css −1
@@ -1703,7 +1703,6 @@ details.refmenu .refdrop a.allrefs {
17031703.lede { font-size: var(--fs-4); color: var(--muted); line-height: 1.5; max-width: 40rem; margin: 0 0 var(--sp-5); }
17041704pre.quickstart { margin: 0 0 var(--sp-4); }
17051705.shot { border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; margin: var(--sp-5) 0; }
1706.shot img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; object-position: top; }
17071706.shot video { display: block; width: 100%; height: auto; }
17081707.shot figcaption {
17091708 border-top: 1px solid var(--line);
internal/web/templates/landing.html +1 −7
@@ -4,7 +4,7 @@
44<div class="landing">
55<h1>{{template "mark"}}{{.Site}}</h1>
66<p class="lede">A git forge you drive from the terminal. Repositories, issues, merge requests and CI over SSH, with a fast, readable web view of the same state.</p>
7<pre class="quickstart" tabindex="0">ssh git@{{.Host}} help # every command, no client to install
7<pre class="quickstart" tabindex="0">ssh git@{{.Host}} help
88git clone ssh://git@{{.Host}}/owner/repo.git</pre>
99<div class="routes"><a class="button primary" href="/explore">Explore repositories</a>{{if .Signup}}<a class="button btn" href="/register">Create an account</a>{{end}}</div>
1010<figure class="shot"><video autoplay muted loop playsinline controls width="1248" height="688" aria-describedby="demo-caption">
@@ -13,12 +13,6 @@ git clone ssh://git@{{.Host}}/owner/repo.git</pre>
1313</video>
1414<figcaption id="demo-caption">Signup to release on gitbay.org from a terminal: register an SSH key, verify the mailed code, create a repository and push, file an issue, open and merge a request that closes it, then tag and publish a release.</figcaption>
1515</figure>
16<figure class="shot"><picture>
17 <source srcset="/static/img/mr-dark.png" media="(prefers-color-scheme: dark)">
18 <img src="/static/img/mr-light.png" width="1280" height="900" alt="A merged merge request: the description on the left, and on the right two CI checks reporting success with how long each ran, an approval, and the source and target branches.">
19</picture>
20<figcaption>A merged merge request on this instance. The description is on the left; the column beside it carries the CI checks, the approval that let it merge, and the branches it went between.</figcaption>
21</figure>
2216<div class="facets">
2317 <section><h2>Read</h2><p>Browse and clone any public repository over HTTPS or <code>git://</code>, no account. Every commit shows whether its signature verified.</p></section>
2418 <section><h2>Write</h2><p>Push over SSH with the key you already have. Create a repository, file an issue, open and merge a request, all as commands.</p></section>
internal/web/web.go +1 −1
@@ -29,7 +29,7 @@ var FaviconSVG []byte
2929//go:embed static/fonts/*.woff2
3030var FontFS embed.FS
3131
32//go:embed static/img/*.png static/img/*.gif static/img/*.webm static/img/*.mp4
32//go:embed static/img/*.gif static/img/*.webm static/img/*.mp4
3333var ImageFS embed.FS
3434
3535// version returns the short VCS revision baked into the binary, or "" when