elevate-rehab-v3

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

post.ts (2499B)


      1 import type { Collection } from "tinacms";
      2 
      3 const Post: Collection = {
      4   label: "Blog Posts",
      5   name: "post",
      6   path: "content/posts",
      7   format: "mdx",
      8   ui: {
      9     router: ({ document }) => {                  
     10       return `/posts/${document._sys.breadcrumbs.join("/")}`;
     11     },
     12   },
     13   fields: [
     14     {
     15       type: "string",
     16       label: "Title",
     17       name: "title",
     18       isTitle: true,
     19       required: true,
     20     },
     21     {
     22       type: "image",
     23       name: "heroImg",
     24       label: "Hero Image",
     25     },
     26     {
     27       type: "rich-text",
     28       label: "Excerpt",
     29       name: "excerpt",
     30     },
     31     {
     32       type: "reference",
     33       label: "Author",
     34       name: "author",
     35       collections: ["author"],
     36     },
     37     {
     38       type: "datetime",
     39       label: "Posted Date",
     40       name: "date",
     41       ui: {
     42         dateFormat: "MMMM DD YYYY",
     43         timeFormat: "hh:mm A",
     44       },
     45     },
     46     {
     47       type: "rich-text",
     48       label: "Body",
     49       name: "_body",
     50       templates: [
     51         {
     52           name: "DateTime",
     53           label: "Date & Time",
     54           inline: true,
     55           fields: [
     56             {
     57               name: "format",
     58               label: "Format",
     59               type: "string",
     60               options: ["utc", "iso", "local"],
     61             },
     62           ],
     63         },
     64         {
     65           name: "BlockQuote",
     66           label: "Block Quote",
     67           fields: [
     68             {
     69               name: "children",
     70               label: "Quote",
     71               type: "rich-text",
     72             },
     73             {
     74               name: "authorName",
     75               label: "Author",
     76               type: "string",
     77             },
     78           ],
     79         },
     80         {
     81           name: "NewsletterSignup",
     82           label: "Newsletter Sign Up",
     83           fields: [
     84             {
     85               name: "children",
     86               label: "CTA",
     87               type: "rich-text",
     88             },
     89             {
     90               name: "placeholder",
     91               label: "Placeholder",
     92               type: "string",
     93             },
     94             {
     95               name: "buttonText",
     96               label: "Button Text",
     97               type: "string",
     98             },
     99             {
    100               name: "disclaimer",
    101               label: "Disclaimer",
    102               type: "rich-text",
    103             },
    104           ],
    105           ui: {
    106             defaultItem: {
    107               placeholder: "Enter your email",
    108               buttonText: "Notify Me",
    109             },
    110           },
    111         },
    112       ],
    113       isBody: true,
    114     },
    115   ],
    116 };
    117 
    118 export default Post;