Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »


1.1.0 • Public • Published

Feed module - Everyone deserves RSS, Atom and Json

npm (scoped with tag) npm Build Status codecov Dependencies js-standard-style

📖 Release Notes


  • Three different feed types (RSS 2.0, ATOM 1.0 and JSON 1.0)
  • As many feeds as you like!
  • Completely customizable. Need to fetch data before? No problem!
  • Works with all modes (yes, even generate!)
  • For Nuxt 2.x and higher


  • Add @nuxtjs/feed dependency using yarn or npm to your project
  • Add @nuxtjs/feed to modules section of nuxt.config.js
export default {
  modules: [
    // Simple usage
 feed: [
   // Your feeds here
  • Configure it as you need


So.. how to get these feeds working now?

Configuration object overview

export default {
 feed: [
   // A default feed configuration object
     path: '/feed.xml', // The route to your feed.
     async create (feed) {}, // The create function (see below)
     cacheTime: 1000 * 60 * 15, // How long should the feed be cached
     type: 'rss2', // Can be: rss2, atom1, json1
     data: ['Some additional data'] //will be passed as 2nd argument to `create` function

Feed create function

Let's take a closer look on the create function. This is the API that actually modifies your upcoming feed.

A simple create function could look like this:

//Import axios into your nuxt.config.js
import axios from 'axios'
// In your `feed` array:
async create (feed){
  feed.options = {
    title: 'My blog',
    link: '',
    description: 'This is my personal feed!',
  const posts = await (axios.get('')).data
  posts.forEach(post => {
      title: post.title,
      id: post.url,
      link: post.url,
      description: post.description,
      content: post.content
    name: 'Alexander Lichter',
    email: '',
    link: ''

Feed creation is based on the feed package. Please use it as reference and further documentation for modifying the feed object that is passed to the create function.

Using the create function gives you almost unlimited possibilities to customize your feed!

Using a feed factory function

There is one more thing. Imagine you want to add a feed per blog category, but you don't want to add every category by hand.

You can use a factory function to solve that problem. Instead of a hardcoded array, you can setup a function that will be called up on feed generation. The function must return an array with all feeds you want to generate.

 feed: async () => {
     const posts = (await axios.get('')).data
     const tags = (await axios.get('')).data
     return => {
       const relevantPosts = posts.filter(/*filter posts somehow*/)
       return {
         path: `/${t.slug}.xml`, // The route to your feed.
         async create (feed) {
           feed.options = {
             title: `${} - My blog`,
             link: `${t.slug}.xml`,
             description: `All posts related to ${} of my blog`,
           relevantPosts.forEach(post => {
               title: post.title,
               link: `${post.slug}`,
               description: post.excerpt,
               content: post.text
         cacheTime: 1000 * 60 * 15,
         type: 'rss2'

In case you want to pass in data into the factory function, you can use a factory object.

  feed: {
    data: ['Your data here']
    factory: (dataFromFeedDotData) => {/* your factory function */}


  • Clone this repository
  • Install dependencies using yarn install or npm install
  • Start development server using npm run dev


MIT License

Copyright (c) Alexander Lichter


npm i @nuxtjs/feed

Downloadsweekly downloads









last publish


  • avatar
Report a vulnerability