# Lappa på Obsidian Publish med ein Cloudflare Worker Obsidian Publish let deg ikkje leggja noko inn i `<head>`. Det tyder at ein ikkje kan få ein verifisert `rel="me"` slik at Mastodon kan gje deg eit grønt flagg. ✅ I tillegg fekk eg ikkje nytta `fediverse:creator` som lenkjer til min konto dersom andre delar lenkjer frå tankehavet mitt på mastodon. Løysninga blei ein [Cloudflare Worker](https://developers.cloudflare.com/workers/). Domenet, markus.plus, går allereie gjennom Cloudflare, og ein Worker kan skriva om svaret på veg tilbake til den som spør etter sida. Dette er den viktige biten, og eigentleg heile greia: ```javascript export default { async fetch(request) { const response = await fetch(request); const type = response.headers.get("content-type") || ""; if (!type.includes("text/html")) return response; return new HTMLRewriter() .on("head", { element(el) { el.append('<link rel="me" href="https://skvip.lol/@markus">', { html: true }); el.append('<meta name="fediverse:creator" content="@[email protected]">', { html: true }); }, }) .transform(response); }, }; ``` Bytt sjølvklart ut dei to lenkjene med dine eigne, slik at du ikkje berre verifiserer at Obsidian-sida di er mi. 1. Lag ein Worker i Cloudflare-dashbordet. Gratisplanen held i massevis, dette er eit par linjer som køyrer på kvar sidevisning. 2. Legg på ei **route** 1. `dittdomene.no/*`: Ikkje eit «custom domain» 3. Legg koda over inn i Workeren Og sidan eg fyrst var i gang: - Obsidian server-rendrar berre Open Graph-taggar for ei handfull kjende kryparar. Mastodon er ikkje ein av dei, og får eit tomt JavaScript-skal. Workeren kan spørja Obsidian med ein krypar-User-Agent på vegner av alle som ikkje er ein vevlesar, så får delte lenkjer skikkelege kort. - Sider som ikkje finst svarar `200`. Det kan du gjera om til `404`. - `rss.xml` kjem utan `pubDate` og `description`. Du kan byggja han på nytt frå Obsidian sin eigen indeks. Alt saman blir fiksa ved å endre på svaret frå Obsidian, utan at lesaren treng bry seg om noko ekstra.