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 } ] } ] } })