1

我正在使用 Gatsby.js 并使用 GraphQL 从降价文件中检索数据。markdown 文件的内容结构为:

---
title: abc
---

- heading A
 - sub-heading A
 - sub-heading B
- heading B
 - sub-heading A
 - sub-heading B
 - sub-heading C
...

使用插件gatsby-transformer-remark,我得到的 graphql 输出是这样的:

{
  "data": {
    "allMarkdownRemark": {
      "edges": [
        {
          "node": {
            "internal": {
              "content": "\n- heading A\n  - sub-heading An  - sub-heading B\n- heading B ....

是否可以获得降价列表的数组甚至对象,以便我可以映射(循环)我的 javascript 代码中的值?

谢谢

4

1 回答 1

1

你在建立一个目录吗?Gatsby 的备注插件会自动为你生成一个目录,你也可以传入一些选项来修改它。

从文档复制:

{
  allMarkdownRemark {
    edges {
      node {
        html
        tableOfContents(
          pathToSlugField: "frontmatter.path"
          heading: "only show toc from this heading onwards"
          maxDepth: 2
        )
        frontmatter {
          # Assumes you're using path in your frontmatter.
          path
        }
      }
    }
  }
}

如果你正在做一个自定义的目录,那么在frontmatter中做它会更容易。如果这不可能,我知道的最后一个选项是编写一个自定义解析数据的备注插件,然后将其附加到 graphql 节点

于 2019-04-05T03:06:28.510 回答