podcastjs

1.0.1 • Public • Published

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 podcastjs

NPM:

npm install podcastjs

Getting 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. 28
  • guid - 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"

Package Sidebar

Install

npm i podcastjs

Weekly Downloads

8

Version

1.0.1

License

MIT

Unpacked Size

12 kB

Total Files

8

Last publish

Collaborators

  • justinvos