我正在尝试使用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 在我的预览中阅读的内容: