toa://toacms
Ett CMS, fire moduler, én API-nøkkel.
Oversikt
cms er skriveflaten for hele økosystemet. Det begynte som toa://blog, og i august 2026 flyttet toa://comments, toa://contact og toa://ratings inn som moduler i den samme appen — én innlogging, ett admin, én API-nøkkel per nettsted, og en egen database per modul så de holder seg fra hverandre. Innholdet bor ett sted og hentes ut over et rent, versjonert REST-API: markdown inn, strukturert JSON ut. Hvert nettsted er sin egen tenant, row-level security i Postgres holder dem adskilt, og API-nøklene har scope per modul — nøkkelen som tar imot en kommentar kan ikke publisere en nyhet. Innlogging er single sign-on via toa://auth.
Funksjoner
Fire moduler, én app
Blogg, kommentarer, kontakt og anmeldelser deler én innlogging, ett admin og én API-nøkkel — tidligere var de fire separate applikasjoner på fire subdomener.
En database per modul
Felles tenant-database pluss én hver til blogg, kommentarer, kontakt og anmeldelser. En modul kan ikke lese en annens tabeller, så en feil blir værende der den oppsto.
Headless via API
Alle modulene leser og skriver over det samme versjonerte REST-API-et, med RSS-feed og sitemap.xml per nettsted. Nettstedet ditt eier utseendet; CMS-et eier dataene.
API-nøkler med modulscope
En nøkkel har scopes som blog:read eller contact:write, slik at nøkkelen et åpent skjema bruker for å ta imot en melding ikke kan publisere et innlegg.
Flere nettsteder, flere redaktører
Eiere inviterer redaktører til hvert nettsted; row-level security i Postgres holder innholdet adskilt på tvers av alle fire moduler.
Kladd, planlegg og publiser
Kladd → publisert med én bryter, eller sett et tidspunkt fram i tid og la en worker publisere for deg. Hver endring lagres og kan hentes tilbake med ett klikk.
Mediebibliotek
Eget bildebibliotek per nettsted — last opp, konverter automatisk til WebP, sorter i kategorier og gjenbruk på tvers av innlegg.
Laget for automasjon
n8n og eksterne verktøy leser og publiserer programmatisk med egne, snevre nøkler; en deploy-webhook bygger nettstedet på nytt ved publisering.
Nytt i denne
- changed toa://blog became toa://cms. toa://comments, toa://contact and toa://ratings were folded in as modules of one application and their stacks retired. One login, one admin, one API key per site, and a database per module so the four stay isolated. Now served at
cms.toaweb.com. - added Module-scoped API keys. The flat read/write pair became
blog:read,blog:write,comments:read,comments:write,contact:writeandratings:read. A key issued so a site can accept a visitor's comment can no longer publish a post — which the oldwritescope allowed. - added Security headers at the edge on every route: HSTS, a content security policy,
X-Frame-Options: DENY,X-Content-Type-Options: nosniff, a referrer policy, a permissions policy andX-Robots-Tag. - removed The embed and Turnstile surfaces the absorbed apps shipped with. Data leaves the CMS through the API, so each site designs its own comment thread and contact form rather than embedding someone else's.
- removed
blog.toaweb.com,comments.toaweb.com,contact.toaweb.comandratings.toaweb.com. All four are retired;cms.toaweb.comis the only host.
API
Selvhostet karakteroversikt for World of Warcraft. Hold styr på rosteret, item level og framdriften mot Best-in-Slot-utstyr for hver eneste karakter.