import { defineConfig } from "tinacms"; // Your hosting provider likely exposes this as an environment variable const branch = process.env.GITHUB_BRANCH || process.env.VERCEL_GIT_COMMIT_REF || process.env.HEAD || "main"; export default defineConfig({ branch, // Get this from tina.io clientId: process.env.NEXT_PUBLIC_TINA_CLIENT_ID, // Get this from tina.io token: process.env.TINA_TOKEN, build: { outputFolder: "admin", publicFolder: "public", }, media: { tina: { mediaRoot: "", publicFolder: "public", }, }, // See docs on content modeling for more info on how to setup new content models: https://tina.io/docs/schema/ schema: { collections: [ { name: "books", label: "Library", path: 'content/books', match: { include: "*" }, format: "md", fields: [ { type: "string", name: "title", label: "Title", isTitle: true, required: true, }, { type: 'string', name: "author", label: "Author", required: true }, { type: 'number', name: "stars", label: "Stars", required: true }, { type: 'datetime', name: "readDate", label: "Read date", required: false }, { type: 'string', name: "url", label: "URL", required: false }, { type: 'string', name: "thumbnailUrl", label: "Thumbnail URL", required: false }, { type: 'string', name: "tags", label: "Tags", required: true }, { type: "rich-text", name: "body", label: "Body", isBody: true, }, ] }, { name: "writing", label: "Writing", path: "content/writing", match: { include: "*" }, format: "md", fields: [ { type: "string", name: "title", label: "Title", isTitle: true, required: true, }, { type: "datetime", name: "pubdate", label: "Publish Date", }, { type: "string", ui: { component: "textarea" }, name: "desc", label: "Description", }, { type: "string", name: "tags", label: "Tags", list: true }, { type: "rich-text", name: "body", label: "Body", isBody: true, }, ], }, ], }, });