EdricChan03 / EdricChan03/rss-reader-angular
Add support for podcast RSS feeds
- Lingua principale
- TypeScript
- Stelle
- 5
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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
\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"content": "\n

\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"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.
\nLearn 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
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia dalla pagina dei feed esistente e dal flusso di rendering degli elementi, quindi esamina come viene attualmente gestito il campo analizzato enclosure.type. Determina se i podcast debbano trovarsi in una sottopagina dedicata o nella pagina dei feed, definisci il confine del componente per i singoli elementi e verifica il comportamento scelto della UI e delle release notes con entrambi i feed di esempio.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- angular, typescript
- Ambito
- frontend, web-dev
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100