Introduce Software Freedom Podcast: episodes as HTML and RSS #1065

Sammanfogat
max.mehl sammanfogade 29 incheckningar från podcast in i master 2019-10-11 11:10:38 +00:00
Ägare

This PR introduces podcasts to our website. The FSFE plans to release podcast episodes regularly. The audio files are to be hosted on download.fsfe.org, while the RSS feed which one can subscribe to in podcast apps, as well as an index of episodes shall be displayed on fsfe.org.

Description

In order to do so, I have created a new directory /news/podcast. It contains one XHTML file per podcast which contains normal text but also an XML tag <podcast> in which important metadata is stored.

The RSS template podcast.rss.xsl is responsible for generating the .rss file people then can subscribe to. It is copied from newsletter.xsl.xsl but contains some special fields and some general improvements.

On the website, each released podcast episode will be displayed on /news/podcast as well as on /news and the index page.

We want to have two audio formats: OGG and MP3.

Problems / missing features

At the moment, the RSS feed works fine, but we lack a few features that are crucial for the release:

  • We need two different RSS files: one for OGG, one for MP3. This could happen in makerules.sh. One run creates podcast.en.rss just as now, another should create something like podcast-ogg.en.rss (we can also name both explicitely). The XSL template can be convinced to use the meta data for OGG by changing the line <xsl:param name="audioformat" select="'mp3'" /> in `podcast.rss.xsl.
  • It would be nice to have a tag we could use to directly display a player in the episode's HTML, e.g. <audio-player />. It should read the meta data of the respective episode and output a snippet containing an HTML audio tag with the two URLs like here.
  • It would be nice to have each episode being displayed as a normal news item in the /news/news.en.rss RSS feed. But that's optional.

Your help would be very appreciated!

Develop

To see the RSS file locally, you can of course run the full build. However, this will take a while. For example:

build/build_main.sh --statusdir ~/Repositories/fsfe/fsfe-local-build/status/ build_into ~/Repositories/fsfe/fsfe-local-build/fsfe.org/

You can also directly generate the RSS file for immediate testing:

build/build_main.sh --statusdir ~/Repositories/fsfe/fsfe-local-build/status process_file ~/Repositories/fsfe/fsfe-website/news/podcast.en.xhtml ~/Repositories/fsfe/fsfe-website/news/podcast.rss.xsl > ~/Repositories/fsfe/fsfe-local-build/fsfe.org/news/podcast.en.rss

If no item/episode is displayed, run make before these commands. This will reconsider the source files.

This PR introduces podcasts to our website. The FSFE plans to release podcast episodes regularly. The audio files are to be hosted on download.fsfe.org, while the RSS feed which one can subscribe to in podcast apps, as well as an index of episodes shall be displayed on fsfe.org. ## Description In order to do so, I have created a new directory `/news/podcast`. It contains one XHTML file per podcast which contains normal text but also an XML tag `<podcast>` in which important metadata is stored. The RSS template `podcast.rss.xsl` is responsible for generating the .rss file people then can subscribe to. It is copied from newsletter.xsl.xsl but contains some special fields and some general improvements. On the website, each released podcast episode will be displayed on `/news/podcast` as well as on `/news` and the index page. We want to have two audio formats: OGG and MP3. ## Problems / missing features At the moment, the RSS feed works fine, but we lack a few features that are crucial for the release: - [x] We need two different RSS files: one for OGG, one for MP3. This could happen in [makerules.sh](https://git.fsfe.org/FSFE/fsfe-website/src/branch/master/build/makerules.sh#L125). One run creates podcast.en.rss just as now, another should create something like podcast-ogg.en.rss (we can also name both explicitely). The XSL template can be convinced to use the meta data for OGG by changing the line `<xsl:param name="audioformat" select="'mp3'" />` in `podcast.rss.xsl. - [x] It would be nice to have a tag we could use to directly display a player in the episode's HTML, e.g. `<audio-player />`. It should read the meta data of the respective episode and output a snippet containing an HTML audio tag with the two URLs like [here](https://www.w3schools.com/html/html5_audio.asp). - [x] It would be nice to have each episode being displayed as a normal news item in the `/news/news.en.rss` RSS feed. But that's optional. Your help would be very appreciated! ## Develop To see the RSS file locally, you can of course run the full build. However, this will take a while. For example: ```sh build/build_main.sh --statusdir ~/Repositories/fsfe/fsfe-local-build/status/ build_into ~/Repositories/fsfe/fsfe-local-build/fsfe.org/ ``` You can also directly generate the RSS file for immediate testing: ```sh build/build_main.sh --statusdir ~/Repositories/fsfe/fsfe-local-build/status process_file ~/Repositories/fsfe/fsfe-website/news/podcast.en.xhtml ~/Repositories/fsfe/fsfe-website/news/podcast.rss.xsl > ~/Repositories/fsfe/fsfe-local-build/fsfe.org/news/podcast.en.rss ``` If no item/episode is displayed, run `make` before these commands. This will reconsider the source files.
max.mehl added the
help wanted
xsl
build
labels 2019-09-10 16:16:41 +00:00
max.mehl ändrade titeln från Display podcast episodes as HTML and RSS till WIP: Display podcast episodes as HTML and RSS 2019-09-10 16:16:51 +00:00
Medlem

I could have a look at the audio player element later.

I could have a look at the audio player element later.
Medlem

It would be nice to have a tag we could use to directly display a player in the episode’s HTML, e.g. . It should read the meta data of the respective episode and output a snippet containing an HTML audio tag with the two URLs like here.

I tried hard - but I can't wrap my head around the XSL madness build system 😞

I want to learn that. So maybe you have some time for a remote session to explain it to me @max.mehl ?

> It would be nice to have a tag we could use to directly display a player in the episode’s HTML, e.g. <audio-player />. It should read the meta data of the respective episode and output a snippet containing an HTML audio tag with the two URLs like here. I tried hard - but I can't wrap my head around the XSL madness build system :disappointed: I want to learn that. So maybe you have some time for a remote session to explain it to me @max.mehl ?
Author
Ägare

I solved the audio-player tag now thanks to @reinhard's help. But @mweimann, I'd love to explain that to you as well in a session!

I solved the audio-player tag now thanks to @reinhard's help. But @mweimann, I'd love to explain that to you as well in a session!
Author
Ägare

All missing features solved! Now I'll concentrate on makings things prettier, but the most important and complicated stuff is solved.

Thanks to everyone who helped!

All missing features solved! Now I'll concentrate on makings things prettier, but the most important and complicated stuff is solved. Thanks to everyone who helped!
max.mehl ändrade titeln från WIP: Display podcast episodes as HTML and RSS till Display podcast episodes as HTML and RSS 2019-10-11 11:09:05 +00:00
max.mehl ändrade titeln från Display podcast episodes as HTML and RSS till Introduce Software Freedom Podcast: episodes as HTML and RSS 2019-10-11 11:09:30 +00:00
max.mehl closed this pull request 2019-10-11 11:10:37 +00:00
Logga in för att delta i denna konversation.
No description provided.