Files
txarli.dev/tina/config.js
2023-10-22 00:11:59 -05:00

92 lines
1.7 KiB
JavaScript

import { defineConfig } from "tinacms";
// Your hosting provider likely exposes this as an environment variable
const branch = process.env.HEAD || "main";
export default defineConfig({
branch,
clientId: process.env.TINACLIENTID, // Get this from tina.io
token: process.env.TINATOKEN, // Get this from tina.io
build: {
outputFolder: "admin",
publicFolder: "public",
},
media: {
tina: {
mediaRoot: "assets",
publicFolder: "public",
},
},
schema: {
collections: [
{
name: "post",
label: "Posts",
path: "src/posts",
defaultItem: () => ({
title: "New Post",
layout: "../layouts/BlogPost.astro",
added: new Date(),
tags: [],
}),
fields: [
{
name: "layout",
label: "Layout",
type: "string",
required: true,
searchable: false,
},
{
name: "title",
label: "Title",
type: "string",
isTitle: true,
required: true,
},
{
label: "Slug",
name: "slug",
type: "string",
required: true,
},
{
label: "Description",
name: "description",
type: "string",
required: true,
},
{
label: "Tags",
name: "tags",
type: "string",
list: true,
},
{
label: "Added",
name: "added",
type: "datetime",
dateFormat: "MMM DD YYYY",
required: true,
},
{
type: "rich-text",
name: "body",
label: "Body",
isBody: true,
},
],
},
],
},
search: {
tina: {
indexerToken: process.env.TINASEARCH,
stopwordLanguages: ["eng"],
},
indexBatchSize: 50,
maxSearchIndexFieldLength: 100,
},
});