Я использую gatsby-plugin-feed
в моем личном проекте. Я попытался использовать limit
в запросе GraphQL, как вы предложили в своем вопросе, и в моем случае это сработало.
Я предполагаю, что какой-то другой плагин или код в вашем проекте мешает генерации xml. Единственный способ отладить вашу проблему - это создать базовый проект и попытаться сначала ограничить ваши элементы. Я помню, что я дважды перечислил gatsby-plugin-feed
по ошибке, таким образом упрощая инструкции из первого списка.
Это мой код. Может быть, это поможет вам:
// gatsby-config.js
{
resolve: `gatsby-plugin-feed`,
options: {
query: `
{
site {
siteMetadata {
title
description
siteUrl
site_url: siteUrl
}
}
}
`,
feeds: [
{
serialize: ({ query: { site, allMarkdownRemark } }) => {
return allMarkdownRemark.edges.map(edge => {
return Object.assign({}, edge.node.frontmatter, {
description: edge.node.excerpt,
url: site.siteMetadata.siteUrl + "/blog" + edge.node.fields.slug,
guid: site.siteMetadata.siteUrl + "/blog" + edge.node.fields.slug,
categories: ["Startup"],
custom_elements: [
{ "content:encoded": edge.node.html },
{ "author": edge.node.frontmatter.author },
{ "language": "en" },
],
});
});
},
query: `
{
allMarkdownRemark(
sort: { order: DESC, fields: [frontmatter___date] },
filter: {fileAbsolutePath: {regex: "content/blog/"}},
limit: 2
) {
edges {
node {
excerpt
html
fields { slug }
frontmatter {
title
date
author
}
}
}
}
}
`,
output: "/rss.xml",
title: "Blog",
match: "^/blog/",
},
],
},
},