EdricChan03 / EdricChan03/rss-reader-angular

Add support for podcast RSS feeds

Abierto
#164 2 comentarios 0 reacciones 0 asignados Ver en GitHub
feature priority: non-critical type: web ui/ux design
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\"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

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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.