我正在通过markdown文件以编程方式创建页面。我还如何将文件名添加为菜单项,以便可以以编程方式生成菜单项?您可能会问为什么我需要它。我需要它,因为当我使用netlifyCMS添加另一个markdown页面时,应将其添加到菜单中而不进行代码修改。 Gatsby本身或其任何其他插件是否提供任何简便的方法。非常感谢您的时间和帮助?
答案 0 :(得分:0)
您需要在模板中进行GraphQL查询以获取allMarkdownRemark
。
export const query = graphql`
query CoursesQuery {
allMarkdownRemark {
edges {
node {
{... what you want}
}
}
}
}
`
它为您提供了一个包含所有降价页面的数组。
您可以使用graphQL查询像往常一样在道具中检索它。
然后必须循环以在菜单中每页生成一个项目。
例如:
const items = this.props.data.allMarkdownRemark.edges
.map(({ node }) => {
return (
<li>{ node.data.you.want }</li>
)
})
您现在可以将items
放在菜单中,以查看每个页面的li
。