# 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.