0

対応するタグ付けされた記事とカテゴリにリンクするタグ クラウド (またはカテゴリ リスト) を作成したいと考えています。しかし、私が作成したクエリでは、nameORのみslugが連結されます。これは、fieldsOR に配置されているfrontmatterが、1 つのオブジェクトには配置されていないためです。

広く使用されているこの 2 つのプラグインを使用します: https://github.com/rmcfadzean/gatsby-pantry

これは私の現在のクエリです:

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

{
  "data": {
    "allMarkdownRemark": {
      "group": [
        {
          "fieldValue": "Another tag",
          "totalCount": 1,
          "edges": [
            {
              "node": {
                "fields": {
                  "tags": [
                    "another-tag",
                    "my-example",
                    "post"
                  ]
                },
                "frontmatter": {
                  "tags": [
                    "Another tag",
                    "My example",
                    "Post"
                  ]
                }
              }
            }
          ]
        },
        {
          "fieldValue": "Example",
          "totalCount": 1,
          "edges": [
            {
              "node": {
                "fields": {
                  "tags": [
                    "example",
                    "post"
                  ]
                },
                "frontmatter": {
                  "tags": [
                    "Example",
                    "Post"
                  ]
                }
              }
            }
          ]
        },
        {
          "fieldValue": "My example",
          "totalCount": 1,
          "edges": [
            {
              "node": {
                "fields": {
                  "tags": [
                    "another-tag",
                    "my-example",
                    "post"
                  ]
                },
                "frontmatter": {
                  "tags": [
                    "Another tag",
                    "My example",
                    "Post"
                  ]
                }
              }
            }
          ]
        },
        {
          "fieldValue": "Post",
          "totalCount": 2,
          "edges": [
            {
              "node": {
                "fields": {
                  "tags": [
                    "another-tag",
                    "my-example",
                    "post"
                  ]
                },
                "frontmatter": {
                  "tags": [
                    "Another tag",
                    "My example",
                    "Post"
                  ]
                }
              }
            },
            {
              "node": {
                "fields": {
                  "tags": [
                    "example",
                    "post"
                  ]
                },
                "frontmatter": {
                  "tags": [
                    "Example",
                    "Post"
                  ]
                }
              }
            }
          ]
        }
      ]
    }
  },
}

次のようなオブジェクトを取得するにはどうすればよいですか。

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

1 に答える 1