Reactjs 在Gatsby NetlifyCMS项目中从frontmatter呈现markdown/HTML

Reactjs 在Gatsby NetlifyCMS项目中从frontmatter呈现markdown/HTML,reactjs,markdown,gatsby,netlify-cms,Reactjs,Markdown,Gatsby,Netlify Cms,NetlifyCMS提供了一个标记编辑器,允许在frontmatter中插入标记(和代码块) 生成的标记文件可能包含以下内容: --- featureSubtitle: |- ![fdsaf](/img/cdc-w9keokhajkw-unsplash.jpg "blah") # Markdown H1 ## Markdown H2 <h1>Test</h1> <p>Paragraph</p> --- 及 {featu

NetlifyCMS提供了一个标记编辑器,允许在frontmatter中插入标记(和代码块)

生成的标记文件可能包含以下内容:

---
featureSubtitle: |-
  ![fdsaf](/img/cdc-w9keokhajkw-unsplash.jpg "blah")

  # Markdown H1

  ## Markdown H2


  <h1>Test</h1>
  <p>Paragraph</p>
---

{featureSubtitle&&featureSubtitle(
):null}
但是,这似乎可以正确呈现HTML,但不能正确呈现标记

在标记文件的正文中,会将标记转换为html,并在标记文件的顶部获取frontmatter数据。frontmatter主要用于元数据。但是,您可以自己将frontmatter字段转换为html。见链接

或者确保您在netlify cms的config.yml中使用如下标记字段的正文:

fields:
      - { label: "featureSubtitle", name: "body", widget: "markdown" }
然后可以使用graphql查询中的html字段将其检索为html,并按如下方式使用:

<div dangerouslySetInnerHTML={{ __html: html}} />

在标记文件的正文中将标记转换为html,并在标记文件的顶部获取frontmatter数据。frontmatter主要用于元数据。但是,您可以自己将frontmatter字段转换为html。见链接

或者确保您在netlify cms的config.yml中使用如下标记字段的正文:

fields:
      - { label: "featureSubtitle", name: "body", widget: "markdown" }
然后可以使用graphql查询中的html字段将其检索为html,并按如下方式使用:

<div dangerouslySetInnerHTML={{ __html: html}} />


线程中的链接有一个非常适合我需要的解决方案。谢谢。线程中的链接有一个非常适合我需要的解决方案。谢谢你。