# Een Sanity-website koppelen

Voor een Sanity-website verandert er niets in de code van de site. SiteHome werkt met één API-token en het schema dat je Studio publiceert.

## 1. Het schema publiceren

SiteHome leest welke velden er zijn uit het schema dat Sanity bewaart als je Studio wordt gepubliceerd. Wordt de Studio niet door Sanity gehost, publiceer het schema dan zelf na elke wijziging:

```sh
npx sanity schema deploy
```

## 2. Een token maken

Open in Sanity Manage het project, ga naar **API → Tokens**, kies **Add API token**, noem hem `SiteHome` en kies de rol **Editor** (met **Viewer** kan SiteHome content tonen maar niet publiceren). Kopieer de token.

## 3. Koppelen in SiteHome

In de SiteHome-app: **Website koppelen → Sanity**, plak de token, bevestig het websiteadres en kies de dataset en de contentsoorten. Publiceren staat eerst uit, tot een beheerder het aanzet. Een dataset die al gekoppeld is in SiteHome wordt nooit overgenomen; de beheerder ervan nodigt je uit.

## Hoe SiteHome publiceert

Elke wijziging wordt eerst gecontroleerd. SiteHome schrijft een concept en publiceert dat via de Actions API van Sanity met een revisiecontrole, zodat een nieuwere wijziging of een concept van iemand anders nooit wordt overschreven. Een item van de website halen gebeurt met Sanity's unpublish; het item blijft als concept terug te halen.

## Wat SiteHome bewerkt

Velden uit je gepubliceerde schema, volgens één regel: velden zonder eigen regel zijn bewerkbaar; velden met een eigen validatieregel, of die alleen onder een voorwaarde verschijnen, blijven alleen-lezen met een neutrale uitleg. Tekst, getallen, ja/nee, datums, keuzes, het adres van nieuwe items, afbeeldingen (met alt-tekst), lijsten, Portable Text en lijsten van eenvoudige objecten worden ondersteund.
