3

我正在尝试使用gatsby-remark-embed-video创建一个 youtube 编辑器组件。我正在使用 Gatsby、Netlify CMS 和 Netlify。我想在 Netlify CMS 的预览中预览视频(可以是视频本身或图像)。但是,它会导致冲突。如果它在 Netlify CMS 中有效,则对 Gatsby 无效,反之亦然。

gatsby-remark-embed-video依靠模式youtube: ID嵌入视频,这在 gatsby 上可以正常工作。问题是,在使用 Netlify CMS 时,它被解析youtube: ID为 markdown 代码,因为通常我们使用 Backtick(重音)来编写代码!

{
  id: 'youtube',
  label: 'Youtube',
  fields: [{ name: 'id', label: 'Youtube Video ID', widget: 'string' }],
  pattern: /^`youtube: (\S+)`$/,
  fromBlock: match => {
    const id = match[1];
    return { id };
  },
  toBlock: obj => `\`youtube: ${obj.id}\``,
  toPreview: obj =>
    `<img src="http://img.youtube.com/vi/${
      obj.id
    }/maxresdefault.jpg" alt="Youtube Video"/>`
}

总而言之,基本上它不适用于 Netlify CMS。它总是在 Netlify CMS 预览中产生一行代码。如果我从我的降价文件中删除反引号(重音),它是通过普通文本而不是视频来读取的。我不知道该怎么办,有人可以帮助我吗?

谢谢!=)

Netlify CMS 在我的预览中阅读的内容: 图片

4

0 回答 0