the home site for me: also iteration 3 or 4 of my site
1<hr />
2<div id="footer-container">
3 <p class="badge-row">
4 <a href="https://512kb.club"><img src="/badges/green-team.gif"
5 alt="a proud member of the green team of 512KB club" /></a>
6 <a href="https://hackclub.com"><img src="/badges/hackclub.png" alt="linux powered" /></a>
7 <a href="https://dunkirk.sh/ai"><img src="/badges/MadeByAHuman_04.svg" alt="made by a human" /></a>
8 <a href="https://tangled.org"><img src="/badges/tangled.png" alt="tangled beta" /></a>
9 <a href="https://kagi.com/smallweb"><img src="/badges/kagi.gif" alt="kagi smallweb" /></a>
10 <a href="https://tangled.org/@dunkirk.sh/dots"><img src="/badges/powered-by-nix.gif" alt="powered by nix" /></a>
11 <a href="https://tangled.org/@dunkirk.sh/nixvim"><img src="/badges/made-with-neovim.png" /></a>
12 </p>
13 <p style="margin-bottom: 0.5rem">
14 <span id="status-indicator"></span>
15 <code id="visits">0</code> page visits || {% set hash =
16 get_env(name="CF_PAGES_COMMIT_SHA", default=load_data(path=".git/refs/heads/main", required=false))%}{% if hash is
17 not string %}{% set hash = "unknown" %}{% endif %}<a href=https://tangled.sh/@dunkirk.sh/zera/commit/{{ hash
18 }}>zera@{{ hash |
19 truncate(length=7, end="")}}</a>
20 </p>
21 <p style="margin-bottom: 0.5rem">
22 Webrings:
23 <a href="https://ctp-webr.ing">ctp</a>
24 [<a href="https://ctp-webr.ing/dunkirk/previous">prev</a> |
25 <a href="https://ctp-webr.ing/dunkirk/next">next</a>]
26 </p>
27
28 <script>
29 (function () {
30 fetch("https://infra.dunkirk.sh/api/status/overall")
31 .then(r => r.json())
32 .then(data => {
33 const el = document.getElementById("status-indicator");
34 const labels = {
35 up: "all systems operational",
36 degraded: `degraded · ${data.uptime_7d}% uptime`,
37 partial: `partial outage · ${data.uptime_7d}% uptime`,
38 down: "systems down",
39 unknown: "status unknown"
40 };
41 el.innerHTML = `<code>${labels[data.status] || data.status}</code> ||`;
42 el.style.cssText = "display:inline;margin-right:0.3em;";
43 })
44 .catch(() => { });
45 })();
46 </script>
47</div>