Skip to content
Martin Berg Alstad edited this page Feb 11, 2024 · 1 revision

Sanity

Sanity Dokumentasjon

Sanity er et headless CMS som brukes til å administrere innholdet på nettsiden.

Innhold defineres ved hjelp av schemas som er laget i .ts filer. Schemas legges i sanity/schemas, og importeres inn i sanity/schema.ts og legges til i types listen.

Sanity Studio

Studio er et webgrensesnitt som brukes til å administrere innholdet på nettsiden. Studioet er tilgjengelig på /studio.

Studioet er tilgjenglig i produksjon på https://www.rootlinjeforening.no/studio

For å bruke studioet må du først ha fått tilgang til Sanity, via en invitasjon på epost.

Sanity Typed

Sanity typed er en plugin som genererer TypeScript typer basert på Sanity schemas.

For at typene skal genereres riktig, må imports for defineType, defineField og lignende være fra @sanity-typed/types ikke sanity. Referanser i schema må også markeres med as const for å ikke gi en feilmelding.

For å lage en type for et schema, må det legges inn i sanity/types.ts

// Henter ut typene fra schema som heter "event"
export type RootEvent = SanityValues["event"]

Merk at typer fra plugins blir ikke oppdaget av sanity-typed og de vil få typen unknown. De kan bli gitt en type explicit ved å legge det til i ts typen.

export type RootEvent = SanityValues["event"] & {
    // Overskriver eksisterende type som er "unknown"
    description: Markdown
}
Clone this wiki locally