EdricChan03 / EdricChan03/rss-reader-angular

Add support for podcast RSS feeds

Offen
#164 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
feature priority: non-critical type: web ui/ux design
Vorherrschende Sprache
TypeScript
Sterne
5
Forks
1
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Currently, the API I'm using to parse RSS feeds to JSON ([rss2json](rss2json.com)) also supports parsing podcast RSS feeds as the formats are quite similar.

Here's what the API spits out (for a single item) when I pass in a regular RSS feed (I'm using the [RSS feed from the Android Developers blog](https://feeds.feedburner.com/blogspot/hsDu)):

```json
{
"title": "The path to DX deprecation",
"pubDate": "2020-02-04 17:00:00",
"link": "http://feedproxy.google.com/~r/blogspot/hsDu/~3/QFqlKD_NKMY/the-path-to-dx-deprecation.html",
"guid": "tag:blogger.com,1999:blog-6755709643044947179.post-2036758058664532886",
"author": "Android Developers",
"thumbnail": "https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s72-c/unnamed.png",
"description": "\n\"generic\n\n

\nPosted by Leo Sei, Product Manager on Android \n

\n

\nBack in 2017, we released D8, a new faster dexing compiler to replace DX, producing smaller APKs. In April 2018, we announced D8 as the default option in Android Studio 3.1.\n

\n

\nIn that announcement, we laid out 3 phases to deprecate DX and we are now entering phase 2:\n

\n

\n“Once we've seen a six month window without major regressions from DX to D8, we'll enter the second phase. This phase will last for a year, and is intended to ensure that even complex projects have lots of time to migrate. During this phase, we'll keep DX available, but we'll treat it as fully deprecated; we won't be fixing any issues.”\n

\n

\nIf you haven’t already, it is now the time to migrate to D8 (see details in the previous post). As always, if you encounter issues, please do let us know!\n

\n

\nNext steps\n

\n

\nOn Feb 1st, 2021, we’ll move to step 3, removing DX fully from Android Studio and any other build environments.\n

\n

\nNote: This post is about DX only (and does not include shrinking tools)\n

\n
\n \n
\n\"\"\n",
"content": "\n\"generic\n\n

\nPosted by Leo Sei, Product Manager on Android \n

\n

\nBack in 2017, we released D8, a new faster dexing compiler to replace DX, producing smaller APKs. In April 2018, we announced D8 as the default option in Android Studio 3.1.\n

\n

\nIn that announcement, we laid out 3 phases to deprecate DX and we are now entering phase 2:\n

\n

\n“Once we've seen a six month window without major regressions from DX to D8, we'll enter the second phase. This phase will last for a year, and is intended to ensure that even complex projects have lots of time to migrate. During this phase, we'll keep DX available, but we'll treat it as fully deprecated; we won't be fixing any issues.”\n

\n

\nIf you haven’t already, it is now the time to migrate to D8 (see details in the previous post). As always, if you encounter issues, please do let us know!\n

\n

\nNext steps\n

\n

\nOn Feb 1st, 2021, we’ll move to step 3, removing DX fully from Android Studio and any other build environments.\n

\n

\nNote: This post is about DX only (and does not include shrinking tools)\n

\n
\n \n
\n\"\"\n",
"enclosure": {
"thumbnail": "https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s72-c/unnamed.png"
},
"categories": [
"Android App",
"d8",
"dexer",
"dx"
]
}
```

As compared to what it spits out (for a single item) when I pass in a podcast RSS feed (I'm using the [RSS feed for the popular show "Stuff You Should Know" by HowStuffWorks and iHeartRadio](https://feeds.megaphone.fm/stuffyoushouldknow)):

```json
{
"title": "SYSK Selects: How Bonsai Works",
"pubDate": "2020-02-08 10:00:00",
"link": "https://www.howstuffworks.com/c3fc0fd2-5460-11e8-b38c-67bbf97a6de1",
"guid": "c3fc0fd2-5460-11e8-b38c-67bbf97a6de1",
"author": "iHeartRadio & HowStuffWorks",
"thumbnail": "http://megaphone-prod.s3.amazonaws.com/podcasts/c3fc0fd2-5460-11e8-b38c-67bbf97a6de1/image/uploads_2F1580829065229-5umkrrl48d-78657334576b3c7c6aa6bcba0a7f8881_2FSKSKLogo-FINAL-iHR-3000x3000.png",
"description": "For thousands of years people have been taking normal trees and forcing them into miniature. Learn all about the history and art of this strangely engrossing pastime in this classic episode.\n Learn more about your ad-choices at https://news.iheart.com/podcast-advertisers",
"content": "\n

For thousands of years people have been taking normal trees and forcing them into miniature. Learn all about the history and art of this strangely engrossing pastime in this classic episode.

\n

Learn more about your ad-choices at https://news.iheart.com/podcast-advertisers\n",
"enclosure": {
"link": "https://www.podtrac.com/pts/redirect.mp3/chtbl.com/track/5899E/traffic.megaphone.fm/HSW9319766045.mp3",
"type": "audio/mpeg",
"duration": 3528,
"rating": {
"scheme": "urn:itunes",
"value": "no"
}
},
"categories": []
}
```

## Tasks

- [ ] Add a dedicated sub-page for podcasts
- [ ] Or maybe support podcast RSS feeds in the feeds page? (We could check if `enclosure.type` is of an audio file)
- [ ] Add a new component for rendering individual items
- [ ] Maybe turn it into a library component while we're at it
- [ ] Indicate that podcast RSS feeds are now supported in a "What's new" pop-up? Or probably the release notes

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der bestehenden Feeds-Seite und dem Ablauf zur Darstellung von Elementen und untersuche anschließend, wie das geparste Feld enclosure.type derzeit verarbeitet wird. Kläre, ob Podcasts auf eine eigene Unterseite oder auf die Feeds-Seite gehören, lege die Abgrenzung der Komponente für einzelne Elemente fest und überprüfe das gewählte UI- und Release-Notes-Verhalten anhand beider Beispielfeeds.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
frontend, web-dev
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.