collections
数组中的每个项目代表其自身的实体。在上面的例子中,我们定义了一个post
集合,并将其路径设置为content/posts
,这对应于我们网站仓库中的一个目录。每个集合包含一个fields
数组,每个字段都有一个定义的type
。
---title: 这是我的标题---这是我的主要文章内容。
注意:isBody
属性用于将给定字段输出到markdown主体,而不是其前置元数据。
一旦我们定义了一个集合,我们可以通过Tina UI编辑其字段,或者使用Tina内容API查询其内容。
对象类型接受fields
或templates
属性(就像collections
定义一样)。最简单的object
类型是具有fields
的对象:
// ...fields: [{label: '推荐',name: 'testimonial',type: 'object',fields: [{label: '作者',name: 'author',type: 'string',},{label: '角色',name: 'role',type: 'string',},{label: '引用',name: 'quote',type: 'string',ui: {component: 'textarea',},},],},]// ...
设置list: true
会将值转换为数组。
可以通过使用templates
属性构建更复杂的结构。这允许您的编辑者使用预定义的块构建页面。
reference
字段将一个文档连接到另一个文档,并且只需要在关系的一侧定义。您可以指定任意数量的集合进行连接:
// ...fields: [// ...{label: '作者',name: 'author',type: 'reference',collections: ['author'], // 指向名称为"author"的集合},]// ...
集合中的每个字段可以是以下type
之一:
对于那些喜欢通过视频学习的人,可以查看我们"TinaCMS深度探讨"系列中的媒体片段。
tina/config.{ts,js,tsx}
中使用defineConfig
进行建模。