Правила разметки контента в рекомендательной системе «Пульс»

Общие требования и правила

RSS с материалами для публикации в рекомендательной системе Пульс должны удовлетворять общим требованиям к RSS, доступным по адресу https://help.mail.ru/feed/rss.

Публикации должны соответствовать редакционным правилам, доступным по адресу https://help.mail.ru/feed/policy.

Для отображения полного контента публикации в системе Пульс используется содержимое элемента content:encoded, в котором содержится текст и ссылки на медиаматериалы. 

Элементы, не перечисленные в списке допустимых элементов, а также незакрытые и пустые теги могут быть удалены вместе с содержимым. Убедитесь, что публикация не содержит таких элементов, иначе целостность и читаемость публикации может быть нарушена.

Все стили и другие атрибуты внутри допустимых элементов удаляются и заменяются на стили и атрибуты страницы. Все медиаматериалы контента публикации внутри content:encoded должны быть продублированы в элементе enclosure. Медиаматериалы, не продублированные в enclosure, не будут отображены на странице публикации. 

Допустимые элементы разметки

Тип

Элемент

Описание

Заголовки

h1, h2, h3, h4, h5, h6

Внутри элемента может размещаться только текст и элементы <a>. При этом элемент <a> и его атрибуты будут удалены, остается только текст ссылки. 

Параграф, цитата

p, blockquote

Внутри может размещаться только текст и элементы <a>, остальные элементы будут удалены вместе с содержимым.

Список

ul, ol, li

Внутри <ul> или <ol> могут располагаться только элементы <li>, все остальные будут удалены вместе с содержимым.

Все атрибуты элементов <ul>, <ol> и <li> удаляются.

Внутри <li> допускается только текст, теги <p> и <blockquote>, заголовки и элементы <a>, остальные элементы будут удалены вместе с содержимым.

Таблица

table

Все атрибуты элемента <table> будут удалены.

Внутри элемента <table> могут размещаться только элементы <tbody>, остальные элементы будут удалены вместе с содержимым.

Внутри элемента <tbody> могут размещаться только элементы <tr>, остальные элементы будут удалены вместе с содержимым.

Все атрибуты и текст вне тегов в <tbody> и <tr> будут удалены.

Внутри <tr> могут располагаться только элементы <th> и <td>, остальные будут удалены вместе с содержимым.

Все атрибуты элементов <th> и <td> будут удалены.

Внутри <th> и <td> допускается только текст, теги <p> и <blockquote>, заголовки и элементы <a>, остальные элементы будут удалены вместе с содержимым.

Ссылка

a

Может размещаться внутри элементов: <p>, <blockquote>, <figcaption>, <li>, <th> и <td>.
Все вложенные элементы будут удалены.

Атрибут [href] валидируется при загрузке. Если URL не прошел валидацию, то ссылка будет удалена, при этом текст ссылки сохраняется.

 

Допустимые элементы для описания медиаконтента

Тип медиаконтента

Элемент

Описание

Враппер для медиа

figure

Непосредственными дочерними элементами у <figure> должны быть: один обязательный элемент, описывающий изображение или видео (<img>, <iframe> или <video>), и один опциональный элемент <figcaption> в указанном порядке. Остальные элементы будут удалены вместе с содержимым.

Изображение

img

Должен располагаться внутри <figure>.
Атрибут [src] обязателен и валидируется при загрузке. В случае, если URL не валидный, он будет удален вместе с <figure> и его содержимым.
Атрибут [alt] опционален, но если он не указан, то будет добавлен с пустым содержанием <img src="..." alt="">

Если изображение не удалось скачать (произошла ошибка, возвращает 4хх, 5хх и т.п.), то публикация не будет показана в ленте рекомендаций и не будет доступна по прямой ссылке.

Видео с Youtube или Vimeo

iframe

Должен располагаться внутри <figure>.

Пример кода для вставки:
<iframe width="560" height="315" src="https://www.youtube.com/embed/123456789" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Iframe должен быть пустым, как указано в примере.

Допустимые src: только youtube (как указано в примере) или vimeo.

Видео

video

Допустимые варианты: MPEG-4 (H.264), YouTube, Vimeo.

Подпись к медиа

figcaption

Может быть только непосредственным дочерним элементом у <figure>.

Обязательно должен следовать после элемента <img>, <video> или <iframe>.

Может содержать текст, элементы <a> и элементы <span> с атрибутом copyright (все атрибуты, кроме class="copyright" будут удалены).