EdricChan03 / EdricChan03/rss-reader-angular
Add support for podcast RSS feeds
- Lenguaje dominante
- TypeScript
- Estrellas
- 5
- Forks
- 1
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con la página de feeds existente y el flujo de renderizado de elementos; después, inspecciona cómo se gestiona actualmente el campo parseado enclosure.type. Determina si los podcasts deben estar en una subpágina específica o en la página de feeds, define el límite del componente para cada elemento y verifica el comportamiento elegido de la UI y de las release notes con ambos feeds de ejemplo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- angular, typescript
- Área
- frontend, web-dev
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100