Loving Tina? us on GitHub0.0k

文档

学习

v.Latest
Documentation
迁移时的常见错误
目录

以下是从Forestry迁移到TinaCMS时可能遇到的常见问题列表。

迁移包含非字母数字字符的字段

在TinaCMS中,所有字段只能包含字母数字字符或下划线。而在Forestry中,你可以使用包含非字母数字字符的字段,例如my-field-namemy field name

TinaCMS提供了一个nameOverride属性,允许你指定如何输出包含特殊字符的字段。

例如:

当导入你的模板时,Forestry迁移工具(npx @tinacms/cli init)应该会自动应用nameOverride。

迁移块

_template vs template

在Forestry中使用块作为字段类型的概念在TinaCMS中被支持为在对象字段中提供模板。在迁移过程中,迁移工具会将你的块转换为模板。

在TinaCMS中,我们默认使用_template而不是template键。Forestry迁移工具会自动处理这一点,为Forestry站点设置templateKey为"template",但需要注意这一点。

在块名称中使用连字符

在TinaCMS中,前置元数据模板中通常会在名称中包含-。TinaCMS本身不支持字段名称中使用连字符,但支持使用nameOverride属性来处理这种情况。

例如,如果你有一个前置元数据模板如下所示。

以及如下所示的内容

那么在Tina中,你的块字段将如下所示:

你的输出内容将继续如下所示:

常见错误信息及其修复方法

错误:块模板"TemplateName"未为字段"FieldName"定义

在Forestry中,你可能有一个块字段,其模板未在前置元数据模板中定义。在TinaCMS中,这是不允许的。你需要将Forestry中的模板添加到块字段的模板列表中,并为该模板定义字段。

在管理界面获取内容时的错误

这可能由于多种原因发生。一些常见原因是你尝试获取的数据

  • 格式不正确
  • 缺少必填字段
  • 缺少_template键。 如果查看终端中的错误信息,你应该能看到导致问题的确切错误。

例如,如果你缺少_template,你将看到如下错误

这可以通过在文件的前置元数据中添加_template键来修复。

..其中"my_template"是文件所属集合中的模板名称。

错误 YAMLException: duplicated mapping key

当你的Markdown文件的前置元数据中有两个相同的键时会发生这种情况。在Forestry中,这是允许的,但在TinaCMS中不允许。你需要删除其中一个键。

例如,如果你有一个文件如下所示

需要更改为

信息:Match被转换为newMatch

在TinaCMS中,match属性的工作方式与在Forestry中略有不同。在Forestry中,match属性是一个包含文件扩展名的glob模式。在TinaCMS中,match属性是一个不包含文件扩展名的glob模式。

在TinaCMS中,match属性为每个集合设置并嵌套。

查看match属性文档以获取更多信息。

由于此迁移工具是从Forestry转换到TinaCMS,它将自动将match属性转换为TinaCMS格式。最好仔细检查它是否匹配正确。

上次编辑: August 30, 2024