podcastjs
v1.0.1
Published
podcast.js fetches and parses podcast RSS fields so you don't have to!
Maintainers
Readme
podcast.js
podcast.js fetches and parses podcast RSS fields so you don't have to!
Plus, it comes with TypeScript typings out of the box.
Install
Yarn:
yarn add podcastjsNPM:
npm install podcastjsGetting Started
Plain JavaScript:
const { fetchPodcast, parsePodcast } = require('podcastjs');
const serialRssUrl = 'http://feeds.serialpodcast.org/serialpodcast';
fetchPodcast(serialRssUrl)
.then((podcast) => {
console.log(podcast.title)
});
// OR directly parse it
const podcastXML = '...'; // Podcast RSS XML body's text content
parsePodcast(podcastXML)
.then((podcast) => {
console.log(podcast.title)
});TypeScript:
import { fetchPodcast } from 'podcastjs'
const serialRssUrl = 'http://feeds.serialpodcast.org/serialpodcast';
const podcast = await fetchPodcast(serialRssUrl);
// OR directly parse it
const podcastXML = '...'; // Podcast RSS XML body's text content
const podcast = parsePodcast(podcastXML);Documentation
parsePodcast
Directly parse an XML string into formatted and structured JavaScript objects.
parsePodcast(xmlText)
fetchPodcast
You can fetch and parse an RSS feed by calling the fetchPodcast function.
fetchPodcast(url)
Parameters:
url- The podcast's RSS feed's URL to fetch from
Returns a Podcast object (defined below)
Podcast
Properties
title- The title of the podcast e.g."Serial"date- The publication date of the podcast feed in ISO 8601 format e.g."2017-10-03T13:45:00Z"description- A description of the podcast e.g."Serial is a podcast from the creators of..."episodes- A list of Episode objects associated with this Podcast (defined below)
Optional Properties:
url- The URL of the podcast's RSS feed e.g."http://feeds.serialpodcast.org/serialpodcast"image- The podcast's image e.g."https://serialpodcast.org/sites/all/modules/custom/serial/img/serial-itunes-logo.png"
Episode
Properties
title- The title of the episode e.g."S01 Episode 01: The Alibi"date- The publication date of the podcast feed in ISO 8601 format e.g."2014-10-03T13:45:00Z"description- A description of the podcast e.g."It's Baltimore, 1999. Hae Min Lee, a popular high-sch..."audio- The URL of the audio file for this episode e.g."https://dts.podtrac.com/redirect.mp3/dovetail.prxu.org/serial/d7f03a15-be26-4634-8884-5fadd404ad75/serial-s01-e01.mp3"index- The physical ordering of this episode in the RSS feed e.g.28guid- A human-defined global identifier e.g.s02-e11
Optional Properties
image- The podcast's image e.g."https://serialpodcast.org/sites/all/modules/custom/serial/img/serial-itunes-logo.png"
