turbo-rss
Генератор 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 счётчика яндекс-метрики } -
turboEnabled
optional 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