Graphql 使用gatsby插件类别/gatsby插件标记标记云和类别列表

Graphql 使用gatsby插件类别/gatsby插件标记标记云和类别列表,graphql,gatsby,graphiql,gatsby-plugin,Graphql,Gatsby,Graphiql,Gatsby Plugin,我想创建一个标签云(或类别列表),它应该链接到相应的标签文章和类别。但是在我构建的查询中,只有名称或slug被连接起来,因为它们被放置在字段或frontmatter中,而不是一个对象中 我使用这两个广泛使用的插件: 这是我当前的查询: { tags: allMarkdownRemark(filter: {frontmatter: {title: {ne: ""}}}) { group(field: frontmatter___tags) { field

我想创建一个标签云(或类别列表),它应该链接到相应的标签文章和类别。但是在我构建的查询中,只有
名称
slug
被连接起来,因为它们被放置在
字段
frontmatter
中,而不是一个对象中

我使用这两个广泛使用的插件:

这是我当前的查询:

{
  tags: allMarkdownRemark(filter: {frontmatter: {title: {ne: ""}}}) {
    group(field: frontmatter___tags) {
      fieldValue
      totalCount
      edges {
        node {
          fields {
            tags
          }
          frontmatter {
            tags
          }
        }
      }
    }
  }
}

如何获取类似以下内容的对象:

{ "tags": 
  [
   { "slug": "another-tag", "frontmatter": "Another Tag"},
   { "slug": "example", "frontmatter": "Example"}
  ]
}

我目前的做法是在视图本身。我遍历fields.tags并在数组中搜索它们。我保存索引并将其用于frontmatter.tags(它们的顺序相同)

正是这个代码:

    {tags.group.map((tag,idx)=>{ var index=tag.edges[0]。node.frontmatter.tags.indexOf( tag.fieldValue ) 返回(
  • {tag.fieldValue}
  • ) })}
{ "tags": 
  [
   { "slug": "another-tag", "frontmatter": "Another Tag"},
   { "slug": "example", "frontmatter": "Example"}
  ]
}