在gatsby-plugin-feed中获取自定义字段

时间:2018-11-06 08:53:17

标签: rss gatsby

我不知道如何使用gatsby-plugin-feed将一些自定义内容从我的前题添加到rss feed中。这是我的配置:

{
      resolve: `gatsby-plugin-feed`,
      options: {
        query: `
          {
            site {
              siteMetadata {
                title
                description
                siteUrl
                site_url: siteUrl
              }
            }
          }
        `,
        feeds: [
          {
            serialize: ({ query: { site, allMarkdownRemark } }) => {
              return allMarkdownRemark.edges.map(edge => ({
                ...edge.node.frontmatter,
                description: edge.node.excerpt,
                url: site.siteMetadata.siteUrl + edge.node.fields.slug,
                guid: site.siteMetadata.siteUrl + edge.node.fields.slug,
              }));
            },
            query: `
              {
                allMarkdownRemark(
                  limit: 1000,
                  sort: { order: DESC, fields: [fields___prefix] },
                  filter: { fields: { source: {eq: "posts"}, slug: { ne: null } } }
                ) {
                  edges {
                    node {
                      excerpt
                      html
                      fields {
                        slug
                        prefix
                      }
                      frontmatter {
                        title
                        subtitle
                        tags
                        categories
                        youtube
                      }
                    }
                  }
                }
              }
            `,
            output: '/rss.xml',
          },
        ],
      },
    },

我认为在edge.node.frontmatter对象上使用spread运算符会添加所有字段,但结果导致缺少大量的frontmatter字段。

我确定我缺少某些内容,或者我对rss供稿不了解。谁能指出我正确的方向?谢谢。

0 个答案:

没有答案