Генератор 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#breadcrumbsrelated
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 счётчика яндекс-метрики }turboEnabled
optional bool Принудительная установка атрибута "turbo". По умолчанию true. Установка в false позволит скрыть отображение турбо-страницы
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