我正在为一位朋友开发一个使用GasbyJS和NetlifyCMS内容的商业网站。我在决定如何使用CMS来维护Markdown格式的信息时遇到了一些问题,这些信息的结构不像博客文章,因为那里的许多教程都是在那里工作的。
我的Netlify CMS配置如下:
backend:
name: github
repo: my/repo
media_folder: static/assets
public_folder: assets
collections:
- label: 'Pages'
name: 'pages'
files:
- label: 'Home Page'
name: 'home'
file: 'content/home.yml'
fields:
- {
label: 'Home Banner Text',
name: home-banner-text,
widget: markdown,
}
- {
label: 'Home Acting Text',
name: home-acting-text,
widget: markdown,
}
- {
label: 'Home Costume Design Text',
name: home-costume-design-text,
widget: markdown,
}
- {
label: 'Home Modeling Text',
name: home-modeling-text,
widget: markdown,
}它在C:/path/to/my/site/content/home.yml中生成一个YML文件,如下所示:
home-banner-text: 'Welcome to my site!'
home-acting-text: I **am an actor.** Click here to learn about my acting work.
home-costume-design-text: I am a costume designer. Click here to learn about my costume design work.
home-modeling-text: I am a model. Click here to learn about my modeling work.这一切看起来都很简单,我认为合乎逻辑--网站将有一个主页,上面有四个内容部分,我希望网站所有者能够用格式化的内容修改每个部分。
我不明白的是,一旦它从gatsby-source-filesystem获得,如何在Gatsby中进行转换。有一个gatsby-transform-yaml包,但它不会将YML字段值中的任何Markdown转换为HTML,虽然我发现了一些通过添加Markdown支持来扩展它的包,但它们都需要在Markdown值上添加某种类型的前缀(即home-acting-text: md//I **am an actor.**),以便确定应该解析哪些值,我想不出任何方法来让Netlify CMS注入这些前缀。
似乎我可能需要在gatsby-node.js中执行一些自定义逻辑,但是我有点不知道从哪里开始--这似乎是一个足够常见的用例,我想知道我是否遗漏了什么。
任何指导都将不胜感激!:)
发布于 2020-01-16 16:41:12
你查过盖茨比的文件了吗?我假设你有,但如果你没有,那么我建议从那里开始。快速搜索一下就会发现:Sourcing from Netlify CMS
https://stackoverflow.com/questions/59742710
复制相似问题