- Install @sanity/client + @portabletext/to-html - studio/ — Sanity v3 project with post schema (title, slug, date, category, summary, cover image with hotspot, Portable Text body). Run with `cd studio && npm install && sanity dev` after setting SANITY_STUDIO_PROJECT_ID. - src/lib/sanity.ts — typed client, GROQ queries, Portable Text → HTML conversion - src/lib/news.ts — adds getArticles() / getArticle() async functions that prefer Sanity when SANITY_PROJECT_ID is set; fall back to local markdown otherwise - events/index.astro, events/[slug].astro, events/page/[page].astro — switch to async getArticles()/getArticle(); [slug].astro drops getStaticPaths() in favour of SSR request-time fetch with redirect-on-not-found - .env.example — documents SANITY_PROJECT_ID / SANITY_DATASET / SANITY_API_TOKEN Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
22 lines
633 B
TypeScript
22 lines
633 B
TypeScript
import { defineConfig } from 'sanity';
|
|
import { structureTool } from 'sanity/structure';
|
|
import { visionTool } from '@sanity/vision';
|
|
import { schemaTypes } from './schemaTypes';
|
|
|
|
export default defineConfig({
|
|
name: 'rda-v3',
|
|
title: 'Highland Group RDA',
|
|
|
|
// Fill these in after running `sanity init` or creating a project at sanity.io/manage
|
|
projectId: process.env.SANITY_STUDIO_PROJECT_ID ?? '',
|
|
dataset: process.env.SANITY_STUDIO_DATASET ?? 'production',
|
|
|
|
plugins: [
|
|
structureTool(),
|
|
visionTool(), // GROQ query playground — remove in production if desired
|
|
],
|
|
|
|
schema: {
|
|
types: schemaTypes,
|
|
},
|
|
});
|