0.0.5 • Published 6 years ago

yandex-turbo-feed-module v0.0.5

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

yandex-turbo-feed-module

npm (scoped with tag) npm CircleCI Codecov Dependencies js-standard-style

📖 Release Notes

Features

  • Generating Yandex Turbo pages!
  • Completely customizable!

Setup

  • Add yandex-turbo-feed-module dependency using yarn or npm to your project
  • Add yandex-turbo-feed-module to modules section of nuxt.config.js
  • Add yandexTurboFeed method to nuxt.config.js
{
  modules: [
    //...   
    'yandex-turbo-feed-module',
    //...
 ]
}
  • Configure it as you need

Configuration

So.. how to get these feeds working now?

Configuration object overview

{
  modules: [ ... ],
  //...
  yandexTurboFeed: { // A default feed configuration object
    path: '/turbo-feed.xml', // The route to your feed.
    link: 'http://example.com/',
    cacheTime: 1000 * 60 * 15, // How long should the feed be cached
    title: 'Title turbo feed',
    description: 'Description turbo feed',
    async create (feed) { ... } // The create function (see below)
  },
  //...
}

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:

//...
yandexTurboFeed: {
  //...
  async create (feed) {
    const articles = await getArticles(); // Your method for obtaining a list of articles
  
    articles.forEach(article => {
      feed.item({
        title: article.title,
        id: article.id,
        link: `http://example.com/articles/${article.slug}/`,
        description: article.description,
        date: new Date(article.datetime_publications),
        content: article.content
      })
    });
  }
}

getArticle example function

const axios = require('axios');

async function getArticles() {
  return await axios.get('http://example.com/articles/').then(res => { return res.data });
}

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

Development

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

License

MIT License

Copyright (c) Samolovov Vladislav

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago