Files
turbo-rss/readme.md
2021-08-29 02:32:40 +03:00

140 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## turbo-rss
[![Maintainability](https://api.codeclimate.com/v1/badges/6525d2aabf20185b68b6/maintainability)](https://codeclimate.com/github/LightAir/turbo-rss/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/6525d2aabf20185b68b6/test_coverage)](https://codeclimate.com/github/LightAir/turbo-rss/test_coverage)
[![Build Status](https://travis-ci.org/LightAir/turbo-rss.svg)](https://travis-ci.org/LightAir/turbo-rss)
[![npm](https://img.shields.io/badge/npm%20package-2.0.0-green.svg?longCache=true&style=flat)](https://www.npmjs.com/package/turbo-rss)
![license](https://img.shields.io/packagist/l/doctrine/orm.svg?longCache=true&style=flat)
>Генератор RSS разметки для сервиса Турбо-страницы https://yandex.ru/support/webmaster/turbo/connection.html
### Использование
#### Создание канала
```js
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, на текущий момент можно добавить в интерфейсе Яндекс Вебмастер*
#### Добавление страницы в канал
```js
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
```js
var xml = feed.xml();
```
Вернёт XML как строку.
## Пример использования
```js
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`.
```sh
$ npm test
```
## Спасибо
@jahglow
@vvmspace
@crackosok