gatsby-source-buzzsprout-api
v1.0.4
Published
A Gatsby source plugin to consume the Buzzsprout REST API to get podcast episodes data
Downloads
10
Maintainers
Readme
Description
This source plugin retrieves podcast data from the Buzzprout API. The Buzzsprout api returns the list of episodes for a certain podcast identified by its id.
How to install
npm install --save gatsby-source-buzzsprout-apior
yarn add gatsby-source-buzzsprout-apiAvailable options
- name is a string that will be used to identify the created query. It can be an empty string. This allows you to use the plugin multiple times for different podcasts
- token This is the authentication token for the Buzzsprout API
- podcastid This is a number that identifies the podcast
When do I use this plugin?
If you have a podcast hosted with Buzzsprout you can query the list of episodes and publish them in your site.
How to use it
// In your gatsby-config.js
module.exports = {
plugins: [
{
resolve: `gatsby-source-buzzsprout-api`,
options: {
name: `ControlRemoto`,
toke: process.env.BUZZSPROUT_TOKEN,
podcastId: '1057351'
}
}
]
}How to query for data
After configuration is done two new queries will be available for use
Query is PodcastEpisode${name}.
When name of options is ControlRemoto, query named as PodcastEpisodeControlRemoto
{
allPodcastEpisodeControlRemoto{
node {
title
description
audio_url
}
}
podcastEpisodeControlRemoto {
title
description
audio_url
}
}A podcast episode data looks like this
{
"podcastName": "SOMENAME",
"slug":"too_small_or_too_big",
"remoteImage": {
...
},
"id":788881,
"title":"Too small or too big?",
"audio_url":"https://www.buzzsprout.com/140447/788881-filename.mp3",
"artwork_url":"https://storage.buzzsprout.com/variants/NABbMDx7JN5bSLzLPXyj67jA/8d66eb17bb7d02ca4856ab443a78f2148cafbb129f58a3c81282007c6fe24ff2",
"description":"",
"summary":"",
"artist":"Muffin Man",
"tags":"",
"published_at":"2019-09-12T03:00:00.000-04:00",
"duration":12362,
"hq":true,
"magic_mastering":true,
"guid":"Buzzsprout788881",
"inactive_at":null,
"episode_number":5,
"season_number":5,
"explicit":false,
"private":false,
"total_plays":150
},The remoteImage attribute is a remoteFileNode created by gatsby-source-filesystem to optimize the artwork_url is meant to be used with gatsby-plugin-sharp and gatsby-transformer-sharp
How to contribute
You can open an issue or add a pull request.
🎓 Learning Gatsby
If you're looking for more guidance on plugins, how they work, or what their role is in the Gatsby ecosystem, check out some of these resources:
- The Creating Plugins section of the docs has information on authoring and maintaining plugins yourself.
- The conceptual guide on Plugins, Themes, and Starters compares and contrasts plugins with other pieces of the Gatsby ecosystem. It can also help you decide what to choose between a plugin, starter, or theme.
- The Gatsby plugin library has over 1750 official as well as community developed plugins that can get you up and running faster and borrow ideas from.
