Initial website — Astro + Tailwind + Sanity schema, 9 pages

This commit is contained in:
2026-06-04 15:53:52 +00:00
commit 1d1492e611
33 changed files with 7472 additions and 0 deletions

39
sanity/schemas/post.ts Normal file
View File

@@ -0,0 +1,39 @@
import { defineType, defineField } from "sanity";
export default defineType({
name: "post",
title: "Aktuelles / Blog",
type: "document",
fields: [
defineField({ name: "title", title: "Titel", type: "string", validation: (r) => r.required() }),
defineField({ name: "slug", title: "URL-Slug", type: "slug", options: { source: "title" }, validation: (r) => r.required() }),
defineField({ name: "publishedAt", title: "Veröffentlicht am", type: "datetime", validation: (r) => r.required() }),
defineField({ name: "excerpt", title: "Kurzbeschreibung", type: "text", rows: 3 }),
defineField({ name: "coverImage", title: "Titelbild", type: "image", options: { hotspot: true } }),
defineField({
name: "body",
title: "Inhalt",
type: "array",
of: [
{ type: "block" },
{ type: "image", options: { hotspot: true } },
],
}),
defineField({
name: "category",
title: "Kategorie",
type: "string",
options: {
list: [
{ title: "Vereinsnews", value: "news" },
{ title: "Projekte", value: "projects" },
{ title: "Veranstaltungen", value: "events" },
{ title: "Presse", value: "press" },
],
},
}),
],
preview: {
select: { title: "title", subtitle: "publishedAt", media: "coverImage" },
},
});