feat: flyt sitet fra Astro til Zola
Samme indhold, URL'er og udseende, bygget af en enkelt zola-binær og Tailwind standalone-CLI uden Node. Kanonisk domæne er asger.weirsoe.dk. Blogindlæg ligger som page bundles med frontmatter Zola forstår, så de gamle stempler er ugyldige, indtil scripts/omstempl.py er kørt med PUBLISH_KEY. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7e13068dd2
commit
e58a11c2b4
@@ -0,0 +1,24 @@
|
||||
// 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, også de gamle workbox-caches.
|
||||
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)));
|
||||
});
|
||||
Reference in New Issue
Block a user