我正在使用Gatsby.js和GraphQL从markdown文件中检索数据。 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代码中的值上进行映射(循环)?
谢谢
答案 0 :(得分:1)
您要建立目录吗? Gatsby的备注插件自动generate a table of content for you,您还可以传递一些选项来对其进行修改。
从文档复制:
{
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
}
}
}
}
}
如果您要自定义内容表,则在最前面进行操作会更容易。如果那不可能,我知道的最后一个选择是编写一个备注插件,用于自定义解析数据,然后将其附加到graphql节点