2

我正在为使用 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,
                  }

从而产生一个 YML 文件C:/path/to/my/site/content/home.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-transform-yaml包,但它不会将 YML 字段值中的任何 Markdown 转换为 HTML,虽然我找到了一些通过添加 Markdown 支持来扩展它的包,但它们都需要任何 Markdown 值的某种前缀(即home-acting-text: md//I **am an actor.**) 为了确定应该解析哪些,我想不出任何方法让 Netlify CMS 注入它。

似乎我可能不得不做一些自定义逻辑,gatsby-node.js但我有点迷失从哪里开始——这似乎是一个足够常见的用例,我想知道我是否遗漏了一些东西。

任何指导将不胜感激!:)

4

1 回答 1

0

你检查过 Gatsby 文档吗?我假设你有,但如果你还没有,那么我建议从那里开始。快速搜索显示:从 Netlify CMS 采购

于 2020-01-16T08:41:12.017 回答