
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
gatsby-plugin-feed
Advanced tools
Create an RSS feed (or multiple feeds) for your Gatsby site.
npm install gatsby-plugin-feed
// In your gatsby-config.js
module.exports = {
plugins: [
{
resolve: `gatsby-plugin-feed`,
options: {
query: `
{
site {
siteMetadata {
title
description
siteUrl
site_url: siteUrl
}
}
}
`,
feeds: [
{
serialize: ({ query: { site, allMarkdownRemark } }) => {
return allMarkdownRemark.nodes.map(node => {
return Object.assign({}, node.frontmatter, {
description: node.excerpt,
date: node.frontmatter.date,
url: site.siteMetadata.siteUrl + node.fields.slug,
guid: site.siteMetadata.siteUrl + node.fields.slug,
custom_elements: [{ "content:encoded": node.html }],
})
})
},
query: `
{
allMarkdownRemark(
sort: { order: DESC, fields: [frontmatter___date] },
) {
nodes {
excerpt
html
fields {
slug
}
frontmatter {
title
date
}
}
}
}
`,
output: "/rss.xml",
title: "Your Site's RSS Feed",
// optional configuration to insert feed reference in pages:
// if `string` is used, it will be used to create RegExp and then test if pathname of
// current page satisfied this regular expression;
// if not provided or `undefined`, all pages will have feed reference inserted
match: "^/blog/",
// optional configuration to specify external rss feed, such as feedburner
link: "https://feeds.feedburner.com/gatsby/blog",
},
],
},
},
],
}
Each feed must include output
, query
, title
, and serialize
. You'll need to write the serialize
function in order to fit your use case.
match
is an optional configuration, indicating which pages will have feed reference included. The accepted types of match
are string
or undefined
. By default, when match
is not configured, all pages will have feed reference inserted. If string
is provided, it will be used to build a RegExp and then to test whether pathname
of current page satisfied this regular expression. Only pages that satisfied this rule will have feed reference included.
link
is an optional configuration that will override the default generated rss link from output
.
All additional options are passed through to the rss
utility. For more info on those additional options, explore the itemOptions
section of the rss
package.
Check out an example of how you could implement to your own site, with a custom serialize
function, and additional functionality.
Note: This plugin only generates the xml
file(s) when run in production
mode! To test your feed, run: gatsby build && gatsby serve
.
FAQs
Creates an RSS feed for your Gatsby site.
The npm package gatsby-plugin-feed receives a total of 14,449 weekly downloads. As such, gatsby-plugin-feed popularity was classified as popular.
We found that gatsby-plugin-feed demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.