A React component for playing podcast from RSS feed, supports chapters namespaces from podcastindex.org.
npm i react-podcast-ninja # or yarn add react-podcast-ninjaimport React from 'react'
import {NinjaPlayer} from 'react-podcast-ninja'
// Render a podcast player with multiple episodes
<NinjaPlayer
configs={configs}
playerId={`${showId}-playlist`}
episodes={episodes}
/>By default, NinjaPlayer comes with a playlist. You can disable the playlist by setting singleEpisode props to true.
| Prop | Description | Default |
|---|---|---|
| playerId | id for the player | |
| episodes | Episodes to play. | [] // empty array |
| configs | player colors | { hidePubDate: false, primaryBackgroundColor: "#0c1824", primaryButtonColor: "#f7f8f9", primaryTextColor: "#f7f8f9", progressBarFilledColor: "#f7f8f9",progressBarBackgroundColor: "#8A8175",playlistBackgroundColor: "#30343c",playlistTextColor: "#f7f8f9", chapterBackgroundColor: "#30343c",chapterTextColor: "#f7f8f9" } |
| singleEpisode | Set to true or false to display the playlist panel |
false |
| Name | Type | Required |
|---|---|---|
| title | String | yes |
| podcastTitle | String | yes |
| artworkUrl | String | yes |
| pubDate | DateTime | yes |
| link | String | no |
| audioUrl | String | yes |
| chaptersUrl | String | no |
import React from 'react'
import {NinjaPodcastPlayer} from 'react-podcast-ninja'
// Render a podcast player with multiple episodes
<NinjaPodcastPlayer
playerId="podcast-example"
rssFeedUrl={rssFeedUrl}
configs={configs}
/>Similar to the <NinjaPlayer/>, except it requires the RSS feed.
While adding the PodcastIndex chapters namespace support to JustCast, I began noticing most of podcast widget players haven't support the chapters namespace yet.
I hope more podcasters can enbrace the chapters namespace, and someone can use it to get a head start into building something amazing!
If you would like to contribute to this open source project, please feel free to submit a PR.
- Add support to person tag
- Better integration with PodcastIndex
- fetch podcast per podcast_index_id
- handle query episode_id from the url
- handle query episode playing seconds from the url
- Chapter
- add an indicator to playing chapter
- scroll to the right chapter position
- add support to chapter image
- add support to chapter link
- Add support create share link