v.Latest
Documentation
使用TinaCMS进行内容建模
在此页面上
定义“集合”
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进行建模。 - 您的内容模型包含一个“集合”数组。“集合”将内容类型映射到仓库中的一个目录。
- 一个“集合”包含多个字段,这些字段可以是多种标量或非标量数据类型。