web-standards-ru / podcast-old

Выпуски подкаста «Веб-стандарты»
Other
233 stars 22 forks source link

Сгенерировать XML-фид из описаний выпуска #182

Closed pepelsbey closed 6 years ago

pepelsbey commented 6 years ago

Хочется попробовать хостить RSS для подкаста самостоятельно: файлы уже лежат, осталось сгенерировать XML и попробовать. Есть две задачи:

  1. Сделать из списка MD-файлов большой XML-файл по всем правилам iTunes По сути, повозиться с Галпом или npm-скриптами какими-нибудь
  2. Порисёрчить, что нужно сделать на сервере, чтобы правильно отдавать файлы (мультипарт какой-то) и потестировать как сейчас файлы отдаются: 96.mp3

Зачем? Сейчас SoundCloud отдаёт плохой, плейн-текстовый RSS (см. #163) и многое приходится делать руками. Плюс платить им за подписку около 100 $ в год.

pepelsbey commented 6 years ago

Например, из такого файла:

# Выпуск №0. 1 января 1970

Описание.

- Ольга Алексашенко
- Вадим Макеев
- Алексей Симоненко

Слушайте [в iTunes](https://itunes.apple.com/ru/podcast/veb-standarty/id1080500016) или [на SoundCloud](https://soundcloud.com/web-standards/episode-N), [обсуждайте в Слаке](http://slack.web-standards.ru/).

## Тема (00:00:00)

- [Статья](ссылка)
- [Статья](ссылка)

Хочется получить что-то такое:

<item>
  <title>Выпуск №N</title>
  <pubDate>Mon, 1 Jan 2017 00:00:00 +0000</pubDate>
  <itunes:duration>00:00:00</itunes:duration>
  <itunes:author>Ольга Алексашенко, Вадим Макеев, Алексей Симоненко</itunes:author>
  <itunes:explicit>no</itunes:explicit>
  <itunes:summary>Описание.</itunes:summary>
  <itunes:subtitle>Вертикальный ритм, Sass разрешил, переменные в пр…</itunes:subtitle>
  <description>
      <p>Описание.</p>
      <ul>
          <li>Ольга Алексашенко</li>
          <li>Вадим Макеев</li>
          <li>Алексей Симоненко</li>
      </ul>
      <p>Слушайте <a href="https://itunes.apple.com/ru/podcast/veb-standarty/id1080500016">в iTunes</a> или <a href="https://soundcloud.com/web-standards/episode-N">на SoundCloud</a>, <a href="http://slack.web-standards.ru/">обсуждайте в Слаке</a>.</p>
      <h2>Тема (00:00:00)</h2>
      <ul>
          <li><a href="ссылка">Статья</a></li>
          <li><a href="ссылка">Статья</a></li>
      </ul>
  </description>
  <enclosure type="audio/x-m4a" url="https://web-standards.ru/podcast/episodes/N.mp3" length="000000000"/>
  <itunes:image href="https://web-standards.ru/podcast/cover.jpg"/>
</item>
pepelsbey commented 6 years ago

Это включает:

Формат MD можно менять и дополнять.

DariusNorv commented 6 years ago

cover для itunes может тоже менять для каждого выпуска? ну например класть рядом с mp3 и забирать по урлу <itunes:image href="https://web-standards.ru/podcast/episodes/cover-N.mp3"/>

pepelsbey commented 6 years ago

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

vldmkrsh commented 6 years ago

Можно смотреть есть ли обложка для этого выпуска, или брать по умолчанию. Я бы вот точно отметил другой обложкой выпуск 85.

DariusNorv commented 6 years ago

Написал первую версию парсера (пока сыровоата), появились некоторые вопросы по реализации. Первую версию пытался загрузить в отдельную ветку в этот репозиторий но судя по всему нет прав. image

Написал @pepelsbey в слак, если что пишите мне https://web-standards.slack.com/messages/@U7C802E9X

pepelsbey commented 6 years ago

@DariusNorv, так форкайте и предлагайте пулреквест :) Если поймём, что оно и дело пойдёт, то дадим права для пуша. Но сначала нужно посмотреть, что выходит.

DariusNorv commented 6 years ago

Разумеется, так и поступим 👍

DariusNorv commented 6 years ago

@pepelsbey Гляньте в PR обновил согласно пожеланиям. Если все ок можно в слаке дообсудить детали, а я на досуге поизучаю что на сервере настроить надо. ✌️

pepelsbey commented 6 years ago

На этой неделе попробую локально и может сразу смёржу, чтобы можно было настроить автоматическую публикацию фида на сайт.

DariusNorv commented 6 years ago

Мержить рано :) нужно наполнить инфой обертку XML-ки, относительно вашего канала. Можно просто собрать и запустить - если на выходе XML получится годная то ОК

pepelsbey commented 6 years ago

Спасибо всем!