映射标记文件中列表的graphql输出
我正在使用Gatsby.js&使用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
---
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从每篇文章的正面内容中提取标题。