Tabeller ruller nu inden i sig selv, så siden ikke bliver bredere end skærmen ved 390 px. Kodeblokke og tabeller kan igen nås med tastatur. Kolofon, uses, humans.txt og banner beskriver den nye stak. Mermaid er fjernet, da intet indlæg bruger det. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
1018 B
JavaScript
25 lines
1018 B
JavaScript
// Håndskrevet service worker: precacher sitet, så det virker offline.
|
|
// postbuild.py sætter version og URL-liste ind. Alt der ikke er precachet, går til netværket.
|
|
const CACHE = 'pw-__VERSION__';
|
|
const URLS = __URLS__;
|
|
const known = new Set(URLS);
|
|
|
|
self.addEventListener('install', (e) => {
|
|
e.waitUntil(caches.open(CACHE).then((c) => c.addAll(URLS)).then(() => self.skipWaiting()));
|
|
});
|
|
|
|
// Rydder forrige version og caches fra tidligere service workers.
|
|
self.addEventListener('activate', (e) => {
|
|
e.waitUntil(caches.keys()
|
|
.then((keys) => Promise.all(keys.filter((k) => k !== CACHE).map((k) => caches.delete(k))))
|
|
.then(() => self.clients.claim()));
|
|
});
|
|
|
|
self.addEventListener('fetch', (e) => {
|
|
const url = new URL(e.request.url);
|
|
if (e.request.method !== 'GET' || url.origin !== location.origin) return;
|
|
const p = url.pathname;
|
|
const key = [p, p.replace(/\/?$/, '/index.html')].find((k) => known.has(k));
|
|
if (key) e.respondWith(caches.match(key).then((r) => r || fetch(e.request)));
|
|
});
|