映射标记文件中列表的graphql输出

映射标记文件中列表的graphql输出,graphql,markdown,gatsby,remarkjs,Graphql,Markdown,Gatsby,Remarkjs,我正在使用Gatsby.js&使用GraphQL从标记文件中检索数据。标记文件的内容结构如下: --- 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": { "al

我正在使用Gatsby.js&使用GraphQL从标记文件中检索数据。标记文件的内容结构如下:

---
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代码中的值


谢谢

您正在建立目录吗?盖茨比的评论插件是自动的,你也可以通过一些选项来修改它

从文件中复制:

{
  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节点

感谢Derek再次帮助我。由于一些我现在不知道的原因,我得到了一个空的目录,即使有'fields.slug'参数值。在探究原因的同时,我将使用您的第二个建议,即让graphql从每篇文章的正面内容中提取标题。