Skip to content

LightAir/turbo-rss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

turbo-rss

Maintainability Test Coverage Build Status npm license

Генератор RSS разметки для сервиса Турбо-страницы https://yandex.ru/support/webmaster/turbo/connection.html

Использование

Создание канала

var TR = require('turbo-rss');

var feed = new TR(feedOptions);
Опции канала
  • title string Название RSS-канала.
  • link url string Домен сайта, данные которого транслируются.
  • description optional string Описание канала одним предложением. Не используйте HTML-разметку.
  • language optional string Язык статьи по стандарту ISO 639-1. По умолчанию ru.

Будет добавлено в новых версиях turbo:analytics, turbo:adNetwork, на текущий момент можно добавить в интерфейсе Яндекс Вебмастер

Добавление страницы в канал

feed.item(itemOptions);
itemOptions
  • title string Заголовок страницы.
  • subheading optional string Подзаголовок страницы.
  • image_url optional url string Адрес изображения, которое используется в качестве обложки. Изображение может быть в любом формате.
  • image_caption optional string Подпись к изображению обложки.
  • link url string URL страницы сайта, для которой нужно сформировать Турбо-страницу.
  • author optional string Автор статьи, размещенной на странице.
  • date или pubDate string Время публикации контента на сайте источника. Передается в формате RFC-822.
  • content string Содержимое страницы
  • menu optional array Внимание! Меню будет отображаться только в том случае, если в настройках на странице Яндекс Вебмастер -> Турбо-страницы -> Настройки, содержимое 'Меню Турбо-страниц' пустое!
  • breadcrumbs optional array Навигационная ссылка https://yandex.ru/dev/turbo/doc/rss/elements/header.html#breadcrumbs
  • related optional array Аффилированные ссылки yandex:related в конце статьи. Вы можете разместить ссылки на другие ресурсы или настроить отображение непрерывной ленты статей, реализованной, например с помощью AJAX.
  • relatednfinity optional bool Непрерывная лента статей (Параметр был переименован из relatedfinity)
  • turboSource optional string URL страницы-источника, который можно передать в Яндекс.Метрику.
  • turboTopic optional string Заголовок страницы, который можно передать в Яндекс.Метрику.
  • goals optional array массив типа: { id - внутренний идентификатор цели (turbo-goal-id), name - имя цели, counter_id - id счётчика яндекс-метрики }
  • turboEnabledoptional bool Принудительная установка атрибута "turbo". По умолчанию true. Установка в false позволит скрыть отображение турбо-страницы
menu array

menu должен содержать массив объектов со следующими опциями:

  • link url string ссылка
  • text string текст ссылки. не должен содержать html
breadcrumbs array

Один элемент хлебных крошек должен содержать массив объектов со следующими опциями:

  • link url string ссылка
  • text string текст ссылки (не должен содержать html)
related array

related должен содержать массив объектов со следующими опциями:

  • link url string ссылка на статью
  • image_url url string ссылка на изображение к статье
  • text string текст ссылки. Не должен содержать html
Получение XML
var xml = feed.xml();

Вернёт XML как строку.

Пример использования

var TR = require('turbo-rss');

var feed = new TR({
    title: 'title',
    description: 'description',
    link: 'http://example.com',
});

feed.item({
    title:  'item title',
    image_url: 'http://example.com/example.png',
    url: 'http://example.com/article4?this&that',
    author: 'LightAir',
    date: 'May 27, 2012',
    content: '<p>hello</p>',
    goals: [{
        type: "yandex",
        id: "turbo-goal-id",
        counter_id: "12345",
        name: "order",
    }],
    menu: [{
          link: 'http://example.com/',
          text: 'Главная'
        }, {
          link: 'http://example.com/about',
          text: 'О сайте'
        }],
    related: [{
      link: 'http://example.com/related/post1',
      image_url: 'http://example.com/i/img1.jpg',
      text: 'related link text 1'
    }, {
      link: 'http://example.com/related/post2',
      image_url: 'http://example.com/i/img2.jpg',
      text: 'related link text 2'
    }]
});

var xml = feed.xml();

Тестирование

Для запуска тестов выполните npm test.

$ npm test

Спасибо

@jahglow

@vvmspace

@crackosok