v0.17.0 ab8e178

commits-root.html RawHistoryFolder

1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<meta name="color-scheme" content="light dark">
7<title>commits · long · example.test</title>
8<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
9<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0c0c0c">
10<meta name="apple-mobile-web-app-title" content="ermite">
11<link rel="icon" type="image/svg+xml" href="/-/static/img/icon.HASH.svg">
12<link rel="apple-touch-icon" href="/-/static/app/apple-touch-icon.HASH.png">
13<link rel="manifest" href="/-/static/app/manifest.HASH.webmanifest">
14<link rel="preload" href="/-/static/fonts/atkinson-next.HASH.woff2" as="font" type="font/woff2" crossorigin>
15<link rel="stylesheet" href="/-/static/css/ermite.HASH.css">
16<meta name="htmx-config" content='{"history":false,"includeIndicatorCSS":false,"extensions":"sse, hx-live"}'>
17<script src="/-/static/js/htmx.min.HASH.js" defer>
18</script>
19<script src="/-/static/js/hx-live.min.HASH.js" defer>
20</script>
21<script src="/-/static/js/hx-sse.min.HASH.js" defer>
22</script>
23<script src="/-/static/js/ermite.HASH.js" defer>
24</script>
25<script src="/-/static/js/files.HASH.js" defer>
26</script>
27<script src="/-/static/js/passkey.HASH.js" defer>
28</script>
29<script src="/-/static/js/log.HASH.js" defer>
30</script>
31</head>
32<body data-ref="main" data-sha="SHA40" data-sel="" data-nav="" data-paths="/long/paths/SHA40" data-blob="/long/blob/main">
33<a class="skip" href="#main">skip to content</a>
34<header class="hdr">
35<div class="hdr-top">
36<a class="brand" href="/" data-g="h" aria-label="home" title="home (g h)">
37<span class="brand-mark" aria-hidden="true">
38</span>
39</a>
40<nav class="crumbs" aria-label="Path">
41<ol>
42<li>
43<a href="/long">long</a>
44</li>
45<li>
46<a href="/long/commits/main">commits</a>
47</li>
48<li>
49<a href="/long/commits/main" aria-current="page">main</a>
50</li>
51</ol>
52</nav>
53<div class="hdr-acts">
54<a class="btn ref" href="/long/refs" data-fire="refs" aria-keyshortcuts="b" title="switch branch or tag (b)">
55<span class="ico i-branch" aria-hidden="true">
56</span>
57<span class="ref-name">main</span>
58<span class="sha">SHA7</span>
59</a>
60<button type="button" class="btn search" data-js aria-haspopup="dialog" aria-controls="panel-cmd" aria-keyshortcuts="Control+K :" title="go to a section, ref, file or repo (ctrl k or :)" data-fire="cmd">
61<span class="ico i-search" aria-hidden="true">
62</span>
63<span class="search-label">Go to…</span>
64<kbd aria-hidden="true">ctrl k</kbd>
65</button>
66</div>
67</div>
68<nav class="tabs" aria-label="Sections">
69<ul>
70<li>
71<a href="/long" data-key="s" aria-keyshortcuts="s">Summary<kbd aria-hidden="true">s</kbd>
72</a>
73</li>
74<li>
75<a href="/long/tree/main" data-key="t" aria-keyshortcuts="t">Files<kbd aria-hidden="true">t</kbd>
76</a>
77</li>
78<li>
79<a href="/long/commits/main" data-key="c" aria-keyshortcuts="c" aria-current="page">Commits<kbd aria-hidden="true">c</kbd>
80</a>
81</li>
82<li>
83<a href="/long/refs" data-key="r" aria-keyshortcuts="r">Branches &amp; tags<kbd aria-hidden="true">r</kbd>
84</a>
85</li>
86<li>
87<a href="/long/merge-requests" data-key="m" aria-keyshortcuts="m">Merge requests<kbd aria-hidden="true">m</kbd>
88</a>
89</li>
90<li>
91<a href="/long/actions" data-key="a" aria-keyshortcuts="a">Actions<kbd aria-hidden="true">a</kbd>
92</a>
93</li>
94</ul>
95</nav>
96</header>
97<div class="work has-rail">
98<main id="main" tabindex="-1">
99<div class="filter">
100<label for="commit-filter" class="sr">filter</label>
101<input id="commit-filter" type="search" data-filter=".days tr" data-groups=".days section" placeholder="Filter by subject, sha or author…" autocomplete="off" hx-on:input="ermite.filter(this)">
102</div>
103<div id="commits-head" class="live-slot" role="status" data-slot>
104</div>
105<div class="days">
106<section aria-label="2026-03-26">
107<h2 class="rule-h">
108<span>2026-03-26</span>
109</h2>
110<table class="list commits" aria-label="Commits">
111<tbody data-rows>
112<tr id="c-SHA7" data-cursor>
113<td class="cur" aria-hidden="true">
114</td>
115<td class="c-sha mute">SHA7</td>
116<td class="c-subject">
117<a href="/long/commit/SHA40">commit number 51</a>
118<span class="pill">main</span>
119</td>
120<td class="c-ck">
121</td>
122<td class="c-who dim">T</td>
123<td class="c-when nowrap dim">
124<time datetime="STAMP" title="STAMP">AGO</time>
125</td>
126</tr>
127<tr id="c-SHA7">
128<td class="cur" aria-hidden="true">
129</td>
130<td class="c-sha mute">SHA7</td>
131<td class="c-subject">
132<a href="/long/commit/SHA40">commit number 50</a>
133</td>
134<td class="c-ck">
135</td>
136<td class="c-who dim">T</td>
137<td class="c-when nowrap dim">
138<time datetime="STAMP" title="STAMP">AGO</time>
139</td>
140</tr>
141</tbody>
142</table>
143</section>
144<section aria-label="2026-03-25">
145<h2 class="rule-h">
146<span>2026-03-25</span>
147</h2>
148<table class="list commits" aria-label="Commits">
149<tbody data-rows>
150<tr id="c-SHA7">
151<td class="cur" aria-hidden="true">
152</td>
153<td class="c-sha mute">SHA7</td>
154<td class="c-subject">
155<a href="/long/commit/SHA40">commit number 49</a>
156</td>
157<td class="c-ck">
158</td>
159<td class="c-who dim">T</td>
160<td class="c-when nowrap dim">
161<time datetime="STAMP" title="STAMP">AGO</time>
162</td>
163</tr>
164<tr id="c-SHA7">
165<td class="cur" aria-hidden="true">
166</td>
167<td class="c-sha mute">SHA7</td>
168<td class="c-subject">
169<a href="/long/commit/SHA40">commit number 48</a>
170</td>
171<td class="c-ck">
172</td>
173<td class="c-who dim">T</td>
174<td class="c-when nowrap dim">
175<time datetime="STAMP" title="STAMP">AGO</time>
176</td>
177</tr>
178</tbody>
179</table>
180</section>
181<section aria-label="2026-03-24">
182<h2 class="rule-h">
183<span>2026-03-24</span>
184</h2>
185<table class="list commits" aria-label="Commits">
186<tbody data-rows>
187<tr id="c-SHA7">
188<td class="cur" aria-hidden="true">
189</td>
190<td class="c-sha mute">SHA7</td>
191<td class="c-subject">
192<a href="/long/commit/SHA40">commit number 47</a>
193</td>
194<td class="c-ck">
195</td>
196<td class="c-who dim">T</td>
197<td class="c-when nowrap dim">
198<time datetime="STAMP" title="STAMP">AGO</time>
199</td>
200</tr>
201<tr id="c-SHA7">
202<td class="cur" aria-hidden="true">
203</td>
204<td class="c-sha mute">SHA7</td>
205<td class="c-subject">
206<a href="/long/commit/SHA40">commit number 46</a>
207</td>
208<td class="c-ck">
209</td>
210<td class="c-who dim">T</td>
211<td class="c-when nowrap dim">
212<time datetime="STAMP" title="STAMP">AGO</time>
213</td>
214</tr>
215</tbody>
216</table>
217</section>
218<section aria-label="2026-03-23">
219<h2 class="rule-h">
220<span>2026-03-23</span>
221</h2>
222<table class="list commits" aria-label="Commits">
223<tbody data-rows>
224<tr id="c-SHA7">
225<td class="cur" aria-hidden="true">
226</td>
227<td class="c-sha mute">SHA7</td>
228<td class="c-subject">
229<a href="/long/commit/SHA40">commit number 45</a>
230</td>
231<td class="c-ck">
232</td>
233<td class="c-who dim">T</td>
234<td class="c-when nowrap dim">
235<time datetime="STAMP" title="STAMP">AGO</time>
236</td>
237</tr>
238<tr id="c-SHA7">
239<td class="cur" aria-hidden="true">
240</td>
241<td class="c-sha mute">SHA7</td>
242<td class="c-subject">
243<a href="/long/commit/SHA40">commit number 44</a>
244</td>
245<td class="c-ck">
246</td>
247<td class="c-who dim">T</td>
248<td class="c-when nowrap dim">
249<time datetime="STAMP" title="STAMP">AGO</time>
250</td>
251</tr>
252</tbody>
253</table>
254</section>
255<section aria-label="2026-03-22">
256<h2 class="rule-h">
257<span>2026-03-22</span>
258</h2>
259<table class="list commits" aria-label="Commits">
260<tbody data-rows>
261<tr id="c-SHA7">
262<td class="cur" aria-hidden="true">
263</td>
264<td class="c-sha mute">SHA7</td>
265<td class="c-subject">
266<a href="/long/commit/SHA40">commit number 43</a>
267</td>
268<td class="c-ck">
269</td>
270<td class="c-who dim">T</td>
271<td class="c-when nowrap dim">
272<time datetime="STAMP" title="STAMP">AGO</time>
273</td>
274</tr>
275<tr id="c-SHA7">
276<td class="cur" aria-hidden="true">
277</td>
278<td class="c-sha mute">SHA7</td>
279<td class="c-subject">
280<a href="/long/commit/SHA40">commit number 42</a>
281</td>
282<td class="c-ck">
283</td>
284<td class="c-who dim">T</td>
285<td class="c-when nowrap dim">
286<time datetime="STAMP" title="STAMP">AGO</time>
287</td>
288</tr>
289</tbody>
290</table>
291</section>
292<section aria-label="2026-03-21">
293<h2 class="rule-h">
294<span>2026-03-21</span>
295</h2>
296<table class="list commits" aria-label="Commits">
297<tbody data-rows>
298<tr id="c-SHA7">
299<td class="cur" aria-hidden="true">
300</td>
301<td class="c-sha mute">SHA7</td>
302<td class="c-subject">
303<a href="/long/commit/SHA40">commit number 41</a>
304</td>
305<td class="c-ck">
306</td>
307<td class="c-who dim">T</td>
308<td class="c-when nowrap dim">
309<time datetime="STAMP" title="STAMP">AGO</time>
310</td>
311</tr>
312<tr id="c-SHA7">
313<td class="cur" aria-hidden="true">
314</td>
315<td class="c-sha mute">SHA7</td>
316<td class="c-subject">
317<a href="/long/commit/SHA40">commit number 40</a>
318</td>
319<td class="c-ck">
320</td>
321<td class="c-who dim">T</td>
322<td class="c-when nowrap dim">
323<time datetime="STAMP" title="STAMP">AGO</time>
324</td>
325</tr>
326</tbody>
327</table>
328</section>
329<section aria-label="2026-03-20">
330<h2 class="rule-h">
331<span>2026-03-20</span>
332</h2>
333<table class="list commits" aria-label="Commits">
334<tbody data-rows>
335<tr id="c-SHA7">
336<td class="cur" aria-hidden="true">
337</td>
338<td class="c-sha mute">SHA7</td>
339<td class="c-subject">
340<a href="/long/commit/SHA40">commit number 39</a>
341</td>
342<td class="c-ck">
343</td>
344<td class="c-who dim">T</td>
345<td class="c-when nowrap dim">
346<time datetime="STAMP" title="STAMP">AGO</time>
347</td>
348</tr>
349<tr id="c-SHA7">
350<td class="cur" aria-hidden="true">
351</td>
352<td class="c-sha mute">SHA7</td>
353<td class="c-subject">
354<a href="/long/commit/SHA40">commit number 38</a>
355</td>
356<td class="c-ck">
357</td>
358<td class="c-who dim">T</td>
359<td class="c-when nowrap dim">
360<time datetime="STAMP" title="STAMP">AGO</time>
361</td>
362</tr>
363</tbody>
364</table>
365</section>
366<section aria-label="2026-03-19">
367<h2 class="rule-h">
368<span>2026-03-19</span>
369</h2>
370<table class="list commits" aria-label="Commits">
371<tbody data-rows>
372<tr id="c-SHA7">
373<td class="cur" aria-hidden="true">
374</td>
375<td class="c-sha mute">SHA7</td>
376<td class="c-subject">
377<a href="/long/commit/SHA40">commit number 37</a>
378</td>
379<td class="c-ck">
380</td>
381<td class="c-who dim">T</td>
382<td class="c-when nowrap dim">
383<time datetime="STAMP" title="STAMP">AGO</time>
384</td>
385</tr>
386<tr id="c-SHA7">
387<td class="cur" aria-hidden="true">
388</td>
389<td class="c-sha mute">SHA7</td>
390<td class="c-subject">
391<a href="/long/commit/SHA40">commit number 36</a>
392</td>
393<td class="c-ck">
394</td>
395<td class="c-who dim">T</td>
396<td class="c-when nowrap dim">
397<time datetime="STAMP" title="STAMP">AGO</time>
398</td>
399</tr>
400</tbody>
401</table>
402</section>
403<section aria-label="2026-03-18">
404<h2 class="rule-h">
405<span>2026-03-18</span>
406</h2>
407<table class="list commits" aria-label="Commits">
408<tbody data-rows>
409<tr id="c-SHA7">
410<td class="cur" aria-hidden="true">
411</td>
412<td class="c-sha mute">SHA7</td>
413<td class="c-subject">
414<a href="/long/commit/SHA40">commit number 35</a>
415</td>
416<td class="c-ck">
417</td>
418<td class="c-who dim">T</td>
419<td class="c-when nowrap dim">
420<time datetime="STAMP" title="STAMP">AGO</time>
421</td>
422</tr>
423<tr id="c-SHA7">
424<td class="cur" aria-hidden="true">
425</td>
426<td class="c-sha mute">SHA7</td>
427<td class="c-subject">
428<a href="/long/commit/SHA40">commit number 34</a>
429</td>
430<td class="c-ck">
431</td>
432<td class="c-who dim">T</td>
433<td class="c-when nowrap dim">
434<time datetime="STAMP" title="STAMP">AGO</time>
435</td>
436</tr>
437</tbody>
438</table>
439</section>
440<section aria-label="2026-03-17">
441<h2 class="rule-h">
442<span>2026-03-17</span>
443</h2>
444<table class="list commits" aria-label="Commits">
445<tbody data-rows>
446<tr id="c-SHA7">
447<td class="cur" aria-hidden="true">
448</td>
449<td class="c-sha mute">SHA7</td>
450<td class="c-subject">
451<a href="/long/commit/SHA40">commit number 33</a>
452</td>
453<td class="c-ck">
454</td>
455<td class="c-who dim">T</td>
456<td class="c-when nowrap dim">
457<time datetime="STAMP" title="STAMP">AGO</time>
458</td>
459</tr>
460<tr id="c-SHA7">
461<td class="cur" aria-hidden="true">
462</td>
463<td class="c-sha mute">SHA7</td>
464<td class="c-subject">
465<a href="/long/commit/SHA40">commit number 32</a>
466</td>
467<td class="c-ck">
468</td>
469<td class="c-who dim">T</td>
470<td class="c-when nowrap dim">
471<time datetime="STAMP" title="STAMP">AGO</time>
472</td>
473</tr>
474</tbody>
475</table>
476</section>
477<section aria-label="2026-03-16">
478<h2 class="rule-h">
479<span>2026-03-16</span>
480</h2>
481<table class="list commits" aria-label="Commits">
482<tbody data-rows>
483<tr id="c-SHA7">
484<td class="cur" aria-hidden="true">
485</td>
486<td class="c-sha mute">SHA7</td>
487<td class="c-subject">
488<a href="/long/commit/SHA40">commit number 31</a>
489</td>
490<td class="c-ck">
491</td>
492<td class="c-who dim">T</td>
493<td class="c-when nowrap dim">
494<time datetime="STAMP" title="STAMP">AGO</time>
495</td>
496</tr>
497<tr id="c-SHA7">
498<td class="cur" aria-hidden="true">
499</td>
500<td class="c-sha mute">SHA7</td>
501<td class="c-subject">
502<a href="/long/commit/SHA40">commit number 30</a>
503</td>
504<td class="c-ck">
505</td>
506<td class="c-who dim">T</td>
507<td class="c-when nowrap dim">
508<time datetime="STAMP" title="STAMP">AGO</time>
509</td>
510</tr>
511</tbody>
512</table>
513</section>
514<section aria-label="2026-03-15">
515<h2 class="rule-h">
516<span>2026-03-15</span>
517</h2>
518<table class="list commits" aria-label="Commits">
519<tbody data-rows>
520<tr id="c-SHA7">
521<td class="cur" aria-hidden="true">
522</td>
523<td class="c-sha mute">SHA7</td>
524<td class="c-subject">
525<a href="/long/commit/SHA40">commit number 29</a>
526</td>
527<td class="c-ck">
528</td>
529<td class="c-who dim">T</td>
530<td class="c-when nowrap dim">
531<time datetime="STAMP" title="STAMP">AGO</time>
532</td>
533</tr>
534<tr id="c-SHA7">
535<td class="cur" aria-hidden="true">
536</td>
537<td class="c-sha mute">SHA7</td>
538<td class="c-subject">
539<a href="/long/commit/SHA40">commit number 28</a>
540</td>
541<td class="c-ck">
542</td>
543<td class="c-who dim">T</td>
544<td class="c-when nowrap dim">
545<time datetime="STAMP" title="STAMP">AGO</time>
546</td>
547</tr>
548</tbody>
549</table>
550</section>
551<section aria-label="2026-03-14">
552<h2 class="rule-h">
553<span>2026-03-14</span>
554</h2>
555<table class="list commits" aria-label="Commits">
556<tbody data-rows>
557<tr id="c-SHA7">
558<td class="cur" aria-hidden="true">
559</td>
560<td class="c-sha mute">SHA7</td>
561<td class="c-subject">
562<a href="/long/commit/SHA40">commit number 27</a>
563</td>
564<td class="c-ck">
565</td>
566<td class="c-who dim">T</td>
567<td class="c-when nowrap dim">
568<time datetime="STAMP" title="STAMP">AGO</time>
569</td>
570</tr>
571<tr id="c-SHA7">
572<td class="cur" aria-hidden="true">
573</td>
574<td class="c-sha mute">SHA7</td>
575<td class="c-subject">
576<a href="/long/commit/SHA40">commit number 26</a>
577</td>
578<td class="c-ck">
579</td>
580<td class="c-who dim">T</td>
581<td class="c-when nowrap dim">
582<time datetime="STAMP" title="STAMP">AGO</time>
583</td>
584</tr>
585</tbody>
586</table>
587</section>
588<section aria-label="2026-03-13">
589<h2 class="rule-h">
590<span>2026-03-13</span>
591</h2>
592<table class="list commits" aria-label="Commits">
593<tbody data-rows>
594<tr id="c-SHA7">
595<td class="cur" aria-hidden="true">
596</td>
597<td class="c-sha mute">SHA7</td>
598<td class="c-subject">
599<a href="/long/commit/SHA40">commit number 25</a>
600</td>
601<td class="c-ck">
602</td>
603<td class="c-who dim">T</td>
604<td class="c-when nowrap dim">
605<time datetime="STAMP" title="STAMP">AGO</time>
606</td>
607</tr>
608<tr id="c-SHA7">
609<td class="cur" aria-hidden="true">
610</td>
611<td class="c-sha mute">SHA7</td>
612<td class="c-subject">
613<a href="/long/commit/SHA40">commit number 24</a>
614</td>
615<td class="c-ck">
616</td>
617<td class="c-who dim">T</td>
618<td class="c-when nowrap dim">
619<time datetime="STAMP" title="STAMP">AGO</time>
620</td>
621</tr>
622</tbody>
623</table>
624</section>
625<section aria-label="2026-03-12">
626<h2 class="rule-h">
627<span>2026-03-12</span>
628</h2>
629<table class="list commits" aria-label="Commits">
630<tbody data-rows>
631<tr id="c-SHA7">
632<td class="cur" aria-hidden="true">
633</td>
634<td class="c-sha mute">SHA7</td>
635<td class="c-subject">
636<a href="/long/commit/SHA40">commit number 23</a>
637</td>
638<td class="c-ck">
639</td>
640<td class="c-who dim">T</td>
641<td class="c-when nowrap dim">
642<time datetime="STAMP" title="STAMP">AGO</time>
643</td>
644</tr>
645<tr id="c-SHA7">
646<td class="cur" aria-hidden="true">
647</td>
648<td class="c-sha mute">SHA7</td>
649<td class="c-subject">
650<a href="/long/commit/SHA40">commit number 22</a>
651</td>
652<td class="c-ck">
653</td>
654<td class="c-who dim">T</td>
655<td class="c-when nowrap dim">
656<time datetime="STAMP" title="STAMP">AGO</time>
657</td>
658</tr>
659</tbody>
660</table>
661</section>
662<section aria-label="2026-03-11">
663<h2 class="rule-h">
664<span>2026-03-11</span>
665</h2>
666<table class="list commits" aria-label="Commits">
667<tbody data-rows>
668<tr id="c-SHA7">
669<td class="cur" aria-hidden="true">
670</td>
671<td class="c-sha mute">SHA7</td>
672<td class="c-subject">
673<a href="/long/commit/SHA40">commit number 21</a>
674</td>
675<td class="c-ck">
676</td>
677<td class="c-who dim">T</td>
678<td class="c-when nowrap dim">
679<time datetime="STAMP" title="STAMP">AGO</time>
680</td>
681</tr>
682<tr id="c-SHA7">
683<td class="cur" aria-hidden="true">
684</td>
685<td class="c-sha mute">SHA7</td>
686<td class="c-subject">
687<a href="/long/commit/SHA40">commit number 20</a>
688</td>
689<td class="c-ck">
690</td>
691<td class="c-who dim">T</td>
692<td class="c-when nowrap dim">
693<time datetime="STAMP" title="STAMP">AGO</time>
694</td>
695</tr>
696</tbody>
697</table>
698</section>
699<section aria-label="2026-03-10">
700<h2 class="rule-h">
701<span>2026-03-10</span>
702</h2>
703<table class="list commits" aria-label="Commits">
704<tbody data-rows>
705<tr id="c-SHA7">
706<td class="cur" aria-hidden="true">
707</td>
708<td class="c-sha mute">SHA7</td>
709<td class="c-subject">
710<a href="/long/commit/SHA40">commit number 19</a>
711</td>
712<td class="c-ck">
713</td>
714<td class="c-who dim">T</td>
715<td class="c-when nowrap dim">
716<time datetime="STAMP" title="STAMP">AGO</time>
717</td>
718</tr>
719<tr id="c-SHA7">
720<td class="cur" aria-hidden="true">
721</td>
722<td class="c-sha mute">SHA7</td>
723<td class="c-subject">
724<a href="/long/commit/SHA40">commit number 18</a>
725</td>
726<td class="c-ck">
727</td>
728<td class="c-who dim">T</td>
729<td class="c-when nowrap dim">
730<time datetime="STAMP" title="STAMP">AGO</time>
731</td>
732</tr>
733</tbody>
734</table>
735</section>
736<section aria-label="2026-03-09">
737<h2 class="rule-h">
738<span>2026-03-09</span>
739</h2>
740<table class="list commits" aria-label="Commits">
741<tbody data-rows>
742<tr id="c-SHA7">
743<td class="cur" aria-hidden="true">
744</td>
745<td class="c-sha mute">SHA7</td>
746<td class="c-subject">
747<a href="/long/commit/SHA40">commit number 17</a>
748</td>
749<td class="c-ck">
750</td>
751<td class="c-who dim">T</td>
752<td class="c-when nowrap dim">
753<time datetime="STAMP" title="STAMP">AGO</time>
754</td>
755</tr>
756<tr id="c-SHA7">
757<td class="cur" aria-hidden="true">
758</td>
759<td class="c-sha mute">SHA7</td>
760<td class="c-subject">
761<a href="/long/commit/SHA40">commit number 16</a>
762</td>
763<td class="c-ck">
764</td>
765<td class="c-who dim">T</td>
766<td class="c-when nowrap dim">
767<time datetime="STAMP" title="STAMP">AGO</time>
768</td>
769</tr>
770</tbody>
771</table>
772</section>
773<section aria-label="2026-03-08">
774<h2 class="rule-h">
775<span>2026-03-08</span>
776</h2>
777<table class="list commits" aria-label="Commits">
778<tbody data-rows>
779<tr id="c-SHA7">
780<td class="cur" aria-hidden="true">
781</td>
782<td class="c-sha mute">SHA7</td>
783<td class="c-subject">
784<a href="/long/commit/SHA40">commit number 15</a>
785</td>
786<td class="c-ck">
787</td>
788<td class="c-who dim">T</td>
789<td class="c-when nowrap dim">
790<time datetime="STAMP" title="STAMP">AGO</time>
791</td>
792</tr>
793<tr id="c-SHA7">
794<td class="cur" aria-hidden="true">
795</td>
796<td class="c-sha mute">SHA7</td>
797<td class="c-subject">
798<a href="/long/commit/SHA40">commit number 14</a>
799</td>
800<td class="c-ck">
801</td>
802<td class="c-who dim">T</td>
803<td class="c-when nowrap dim">
804<time datetime="STAMP" title="STAMP">AGO</time>
805</td>
806</tr>
807</tbody>
808</table>
809</section>
810<section aria-label="2026-03-07">
811<h2 class="rule-h">
812<span>2026-03-07</span>
813</h2>
814<table class="list commits" aria-label="Commits">
815<tbody data-rows>
816<tr id="c-SHA7">
817<td class="cur" aria-hidden="true">
818</td>
819<td class="c-sha mute">SHA7</td>
820<td class="c-subject">
821<a href="/long/commit/SHA40">commit number 13</a>
822</td>
823<td class="c-ck">
824</td>
825<td class="c-who dim">T</td>
826<td class="c-when nowrap dim">
827<time datetime="STAMP" title="STAMP">AGO</time>
828</td>
829</tr>
830<tr id="c-SHA7">
831<td class="cur" aria-hidden="true">
832</td>
833<td class="c-sha mute">SHA7</td>
834<td class="c-subject">
835<a href="/long/commit/SHA40">commit number 12</a>
836</td>
837<td class="c-ck">
838</td>
839<td class="c-who dim">T</td>
840<td class="c-when nowrap dim">
841<time datetime="STAMP" title="STAMP">AGO</time>
842</td>
843</tr>
844</tbody>
845</table>
846</section>
847<section aria-label="2026-03-06">
848<h2 class="rule-h">
849<span>2026-03-06</span>
850</h2>
851<table class="list commits" aria-label="Commits">
852<tbody data-rows>
853<tr id="c-SHA7">
854<td class="cur" aria-hidden="true">
855</td>
856<td class="c-sha mute">SHA7</td>
857<td class="c-subject">
858<a href="/long/commit/SHA40">commit number 11</a>
859</td>
860<td class="c-ck">
861</td>
862<td class="c-who dim">T</td>
863<td class="c-when nowrap dim">
864<time datetime="STAMP" title="STAMP">AGO</time>
865</td>
866</tr>
867<tr id="c-SHA7">
868<td class="cur" aria-hidden="true">
869</td>
870<td class="c-sha mute">SHA7</td>
871<td class="c-subject">
872<a href="/long/commit/SHA40">commit number 10</a>
873</td>
874<td class="c-ck">
875</td>
876<td class="c-who dim">T</td>
877<td class="c-when nowrap dim">
878<time datetime="STAMP" title="STAMP">AGO</time>
879</td>
880</tr>
881</tbody>
882</table>
883</section>
884<section aria-label="2026-03-05">
885<h2 class="rule-h">
886<span>2026-03-05</span>
887</h2>
888<table class="list commits" aria-label="Commits">
889<tbody data-rows>
890<tr id="c-SHA7">
891<td class="cur" aria-hidden="true">
892</td>
893<td class="c-sha mute">SHA7</td>
894<td class="c-subject">
895<a href="/long/commit/SHA40">commit number 9</a>
896</td>
897<td class="c-ck">
898</td>
899<td class="c-who dim">T</td>
900<td class="c-when nowrap dim">
901<time datetime="STAMP" title="STAMP">AGO</time>
902</td>
903</tr>
904<tr id="c-SHA7">
905<td class="cur" aria-hidden="true">
906</td>
907<td class="c-sha mute">SHA7</td>
908<td class="c-subject">
909<a href="/long/commit/SHA40">commit number 8</a>
910</td>
911<td class="c-ck">
912</td>
913<td class="c-who dim">T</td>
914<td class="c-when nowrap dim">
915<time datetime="STAMP" title="STAMP">AGO</time>
916</td>
917</tr>
918</tbody>
919</table>
920</section>
921<section aria-label="2026-03-04">
922<h2 class="rule-h">
923<span>2026-03-04</span>
924</h2>
925<table class="list commits" aria-label="Commits">
926<tbody data-rows>
927<tr id="c-SHA7">
928<td class="cur" aria-hidden="true">
929</td>
930<td class="c-sha mute">SHA7</td>
931<td class="c-subject">
932<a href="/long/commit/SHA40">commit number 7</a>
933</td>
934<td class="c-ck">
935</td>
936<td class="c-who dim">T</td>
937<td class="c-when nowrap dim">
938<time datetime="STAMP" title="STAMP">AGO</time>
939</td>
940</tr>
941<tr id="c-SHA7">
942<td class="cur" aria-hidden="true">
943</td>
944<td class="c-sha mute">SHA7</td>
945<td class="c-subject">
946<a href="/long/commit/SHA40">commit number 6</a>
947</td>
948<td class="c-ck">
949</td>
950<td class="c-who dim">T</td>
951<td class="c-when nowrap dim">
952<time datetime="STAMP" title="STAMP">AGO</time>
953</td>
954</tr>
955</tbody>
956</table>
957</section>
958<section aria-label="2026-03-03">
959<h2 class="rule-h">
960<span>2026-03-03</span>
961</h2>
962<table class="list commits" aria-label="Commits">
963<tbody data-rows>
964<tr id="c-SHA7">
965<td class="cur" aria-hidden="true">
966</td>
967<td class="c-sha mute">SHA7</td>
968<td class="c-subject">
969<a href="/long/commit/SHA40">commit number 5</a>
970</td>
971<td class="c-ck">
972</td>
973<td class="c-who dim">T</td>
974<td class="c-when nowrap dim">
975<time datetime="STAMP" title="STAMP">AGO</time>
976</td>
977</tr>
978<tr id="c-SHA7">
979<td class="cur" aria-hidden="true">
980</td>
981<td class="c-sha mute">SHA7</td>
982<td class="c-subject">
983<a href="/long/commit/SHA40">commit number 4</a>
984</td>
985<td class="c-ck">
986</td>
987<td class="c-who dim">T</td>
988<td class="c-when nowrap dim">
989<time datetime="STAMP" title="STAMP">AGO</time>
990</td>
991</tr>
992</tbody>
993</table>
994</section>
995<section aria-label="2026-03-02">
996<h2 class="rule-h">
997<span>2026-03-02</span>
998</h2>
999<table class="list commits" aria-label="Commits">
1000<tbody data-rows>
1001<tr id="c-SHA7">
1002<td class="cur" aria-hidden="true">
1003</td>
1004<td class="c-sha mute">SHA7</td>
1005<td class="c-subject">
1006<a href="/long/commit/SHA40">commit number 3</a>
1007</td>
1008<td class="c-ck">
1009</td>
1010<td class="c-who dim">T</td>
1011<td class="c-when nowrap dim">
1012<time datetime="STAMP" title="STAMP">AGO</time>
1013</td>
1014</tr>
1015<tr id="c-SHA7">
1016<td class="cur" aria-hidden="true">
1017</td>
1018<td class="c-sha mute">SHA7</td>
1019<td class="c-subject">
1020<a href="/long/commit/SHA40">commit number 2</a>
1021</td>
1022<td class="c-ck">
1023</td>
1024<td class="c-who dim">T</td>
1025<td class="c-when nowrap dim">
1026<time datetime="STAMP" title="STAMP">AGO</time>
1027</td>
1028</tr>
1029</tbody>
1030</table>
1031</section>
1032</div>
1033<nav class="pager" aria-label="Pages">
1034<span class="btn" aria-disabled="true">← Newest</span>
1035<a class="btn" href="/long/commits/main?page=YzE6MzMzZGFjMWY5YmY4MjIzMmQxOTAzNGVlZTliZmI2NzFmM2QxMWEzNDo1MDplM2IwYzQ0Mjk4ZmM" rel="next">Older →</a>
1036</nav>
1037</main>
1038<aside class="rail" aria-label="Context">
1039<section aria-labelledby="r-hist">
1040<h2 id="r-hist">History</h2>
1041<dl class="kv">
1042<dt>ref</dt>
1043<dd>main</dd>
1044<dt>on page</dt>
1045<dd>50</dd>
1046</dl>
1047</section>
1048<section aria-labelledby="r-refs">
1049<h2 id="r-refs">Refs on this page</h2>
1050<nav class="outline" aria-label="Refs on this page">
1051<a href="#c-SHA7">branch main</a>
1052</nav>
1053</section>
1054</aside>
1055</div>
1056<footer class="foot">
1057<span>ermite devel</span>
1058<a href="http://example.test/ermite" rel="noopener" title="source of this version (AGPL-3.0-or-later)">source</a>
1059<button type="button" class="foot-keys" data-js data-fire="help" aria-haspopup="dialog" aria-controls="panel-help" aria-keyshortcuts="?">
1060<kbd aria-hidden="true">?</kbd> keyboard shortcuts</button>
1061</footer>
1062<div class="hint" role="status" aria-live="polite">
1063<span class="hint-nav" :text="document.body.dataset.nav || ''">
1064</span>
1065<span class="hint-sel" :text="document.body.dataset.sel ? document.body.dataset.sel + ' · y permalink' : ''">
1066</span>
1067<span class="hint-flash" :text="document.body.dataset.flash || ''">
1068</span>
1069<span class="hint-live" data-state="connecting" hx-sse:connect="/-/events?topic=repo%3Along&amp;view=commits&amp;ref=main&amp;head=SHA40" hx-swap="none" :text="data.state === 'offline' ? 'live updates paused' : ''" hx-on="htmx:sse:after:connection -> ermiteLive.back();
1070           htmx:sse:close, htmx:sse:error -> ermiteLive.lost();
1071           htmx:sse:error -> ermiteLive.error(event.detail.status);
1072           htmx:sse:before:connection -> ermiteLive.gate(event);
1073           home-list, repo-last-push, refs-list, commits-head, mr-notice, ci-run, ci-job -> ermiteLive.swap(event.detail.data);
1074           gap -> ermiteLive.reload()">
1075</span>
1076</div>
1077<dialog id="panel-help" class="panel modal" aria-label="Keyboard shortcuts" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1078<div class="panel-head">
1079<h2>Keyboard shortcuts</h2>
1080<button type="button" class="panel-x" aria-label="Close" hx-on:click="closest('dialog').close()">
1081<kbd>esc</kbd> close</button>
1082</div>
1083<dl class="keys">
1084<div>
1085<dt>
1086<kbd>ctrl k</kbd>
1087<kbd>:</kbd>
1088</dt>
1089<dd>go to a section, branch, tag, file or repository</dd>
1090</div>
1091<div>
1092<dt>
1093<kbd>?</kbd>
1094</dt>
1095<dd>this list</dd>
1096</div>
1097<div>
1098<dt>
1099<kbd>j</kbd>
1100<kbd>k</kbd>
1101</dt>
1102<dd>move the row cursor down / up</dd>
1103</div>
1104<div>
1105<dt>
1106<kbd>enter</kbd>
1107</dt>
1108<dd>open the row under the cursor</dd>
1109</div>
1110<div>
1111<dt>
1112<kbd>g g</kbd>
1113<kbd>G</kbd>
1114</dt>
1115<dd>first / last row</dd>
1116</div>
1117<div>
1118<dt>
1119<kbd>/</kbd>
1120</dt>
1121<dd>filter the list; on Files, find a file in the repository</dd>
1122</div>
1123<div>
1124<dt>
1125<kbd>b</kbd>
1126</dt>
1127<dd>switch branch or tag</dd>
1128</div>
1129<div>
1130<dt>
1131<kbd>s</kbd>
1132<kbd>t</kbd>
1133<kbd>c</kbd>
1134<kbd>r</kbd>
1135<kbd>m</kbd>
1136</dt>
1137<dd>tabs: summary, files, commits, branches &amp; tags, merge requests</dd>
1138</div>
1139<div>
1140<dt>
1141<kbd>g h</kbd>
1142</dt>
1143<dd>home</dd>
1144</div>
1145<div>
1146<dt>
1147<kbd>y</kbd>
1148</dt>
1149<dd>copy a permalink pinned to the commit</dd>
1150</div>
1151<div>
1152<dt>
1153<kbd>d</kbd>
1154<kbd>u</kbd>
1155<kbd>x</kbd>
1156</dt>
1157<dd>diff: split / unified / collapse or expand all</dd>
1158</div>
1159<div>
1160<dt>
1161<kbd>n</kbd>
1162</dt>
1163<dd>merge request: next note in the diff</dd>
1164</div>
1165<div>
1166<dt>
1167<kbd>esc</kbd>
1168</dt>
1169<dd>close a dialog, leave a field</dd>
1170</div>
1171</dl>
1172</dialog>
1173<dialog id="panel-refs" class="panel modal" aria-label="Switch ref" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1174<div class="panel-head">
1175<label for="refs-filter" class="sr">filter branches and tags</label>
1176<input id="refs-filter" type="search" placeholder="Switch branch or tag…" autocomplete="off" data-pick="#panel-refs li" hx-on:input="ermite.filter(this)">
1177<button type="button" class="panel-x" aria-label="Close" hx-on:click="closest('dialog').close()">
1178<kbd>esc</kbd>
1179</button>
1180</div>
1181<div class="panel-cols" data-picklist>
1182<section aria-label="Branches">
1183<h2>Branches <span class="count">1</span>
1184</h2>
1185<ul>
1186<li>
1187<a href="/long/tree/main" aria-current="true">
1188<span class="mark" aria-hidden="true">●</span>main</a>
1189</li>
1190</ul>
1191</section>
1192<section aria-label="Tags">
1193<h2>Tags <span class="count">0</span>
1194</h2>
1195<ul>
1196</ul>
1197</section>
1198</div>
1199</dialog>
1200<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1201<div class="panel-head">
1202<label for="cmd-q" class="sr">go to</label>
1203<input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="ermite.cmdFilter(this); ermiteFinder.palette(this)" hx-on:keydown="ermite.cmdKey(event)">
1204<button type="button" class="panel-x" aria-label="Close" hx-on:click="closest('dialog').close()">
1205<kbd>esc</kbd>
1206</button>
1207</div>
1208<ul id="cmd-list" class="cmd-list" aria-label="Targets">
1209<li data-k="go home" data-cursor>
1210<a href="/" tabindex="-1">
1211<span class="lbl">home</span>
1212<span class="k">go</span>
1213</a>
1214</li>
1215<li data-k="section summary">
1216<a href="/long" tabindex="-1">
1217<span class="lbl">summary</span>
1218<span class="k">section</span>
1219</a>
1220</li>
1221<li data-k="section files">
1222<a href="/long/tree/main" tabindex="-1">
1223<span class="lbl">files</span>
1224<span class="k">section</span>
1225</a>
1226</li>
1227<li data-k="section commits">
1228<a href="/long/commits/main" tabindex="-1">
1229<span class="lbl">commits</span>
1230<span class="k">section</span>
1231</a>
1232</li>
1233<li data-k="section branches &amp; tags">
1234<a href="/long/refs" tabindex="-1">
1235<span class="lbl">branches &amp; tags</span>
1236<span class="k">section</span>
1237</a>
1238</li>
1239<li data-k="section merge requests">
1240<a href="/long/merge-requests" tabindex="-1">
1241<span class="lbl">merge requests</span>
1242<span class="k">section</span>
1243</a>
1244</li>
1245<li data-k="section actions">
1246<a href="/long/actions" tabindex="-1">
1247<span class="lbl">actions</span>
1248<span class="k">section</span>
1249</a>
1250</li>
1251<li data-k="branch main">
1252<a href="/long/tree/main" tabindex="-1">
1253<span class="lbl">main</span>
1254<span class="k">branch</span>
1255</a>
1256</li>
1257<li data-k="repo diffs">
1258<a href="/diffs" tabindex="-1">
1259<span class="lbl">diffs</span>
1260<span class="k">repo</span>
1261</a>
1262</li>
1263</ul>
1264<p class="panel-foot">
1265<span>
1266<kbd>↑</kbd>
1267<kbd>↓</kbd> move</span>
1268<span>
1269<kbd>enter</kbd> open</span>
1270<span>
1271<kbd>esc</kbd> close</span>
1272</p>
1273</dialog>
1274<div id="keys" hidden hx-on="k-j from:body -> ermite.move(1);
1275         k-k from:body -> ermite.move(-1);
1276         k-top from:body -> ermite.edge(false);
1277         k-bottom from:body -> ermite.edge(true);
1278         k-open from:body -> ermite.open();
1279         k-esc from:body -> ermite.closeDialogs();
1280         k-help from:body -> ermite.dialog('panel-help');
1281         k-refs from:body -> ermite.dialog('panel-refs', 'refs-filter');
1282         k-cmd from:body -> ermite.dialog('panel-cmd', 'cmd-q'); ermiteFinder.load();
1283         k-filter from:body -> ermite.focusFilter();
1284         k-gh from:body -> ermite.go('.brand');
1285         k-s from:body -> ermite.tab('s');
1286         k-t from:body -> ermite.tab('t');
1287         k-c from:body -> ermite.tab('c');
1288         k-r from:body -> ermite.tab('r');
1289         k-m from:body -> ermite.tab('m');
1290         k-next from:body -> ermite.nextNote();
1291         k-split from:body -> ermite.layout('split');
1292         k-unified from:body -> ermite.layout('unified');
1293         k-collapse from:body -> ermite.collapse();
1294         k-permalink from:body -> ermite.permalink()">
1295</div>
1296</body>
1297</html>

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 45

↑↓ moveenter openesc close