Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shipshapecode/starpod
Starpod aims to be the easiest way to create a podcast website by only providing your RSS url and some optional image assets and colors.
https://github.com/shipshapecode/starpod
astro podcast
Last synced: 3 months ago
JSON representation
Starpod aims to be the easiest way to create a podcast website by only providing your RSS url and some optional image assets and colors.
- Host: GitHub
- URL: https://github.com/shipshapecode/starpod
- Owner: shipshapecode
- Created: 2024-03-20T01:58:26.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-04-13T01:14:26.000Z (10 months ago)
- Last Synced: 2024-04-13T21:42:34.184Z (10 months ago)
- Topics: astro, podcast
- Language: TypeScript
- Homepage: https://starpod.vercel.app
- Size: 3.14 MB
- Stars: 4
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Starpod
Starpod is the easiest way to create a podcast website in 5 minutes or less and
it is 100% free and open source.### Configuration
You will need to configure your RSS feed and a few other pieces of info for your
podcast in starpod.config.mjs. We provide a util function `defineStarpodConfig`
that provides TypeScript types and enforces the correct formats for config
values.An example config can be found [here](./starpod.config.ts).
#### Options
##### blurb
A very short tagline for your show. Generally, no more than one sentence. Less
is more here.**Example:**
```ts
blurb: 'A whiskey fueled fireside chat with your favorite web developers.',
```##### description
A somewhat longer description of what your show is about. This should still
ideally be fairly short, and should usually be 2-4 sentences.**Example:**
```ts
description:
'Veteran web developers RobbieTheWagner and Charles William Carpenter III host this informal, whiskey-fueled fireside chat with your favorite web devs. They discuss all things web development including JavaScript, TypeScript, EmberJS, React, Astro, SolidJS, CSS, HTML, Web3, and more. They take a unique approach and focus on getting to know the human side of developers and their hobbies outside of work, all while sampling a new whiskey that they rate on their unique tentacle scale.',
```##### hosts
A list of your show's hosts and their info.
**Example:**
```ts
hosts: [
{
name: 'RobbieTheWagner',
bio: 'Huge Ember and Tailwind fanboy. I work at Amazon btw.',
img: '/src/img/robbiethewagner.jpg',
github: 'https://github.com/RobbieTheWagner',
twitter: 'https://twitter.com/RobbieTheWagner',
website: 'https://robbiethewagner.dev'
},
{
name: 'Charles William Carpenter III',
bio: 'Third of his name, user of gifs, hater of ESM.',
img: '/src/img/chuckcarpenter.jpg',
github: 'https://github.com/chuckcarpenter',
twitter: 'https://twitter.com/CharlesWthe3rd'
}
],
```##### platforms
Links to the platforms your show is available on.
**Example:**
```ts
platforms: {
apple:
'https://podcasts.apple.com/us/podcast/whiskey-web-and-whatnot/id1552776603?uo=4?mt=2&ls=1',
overcast: 'https://overcast.fm/itunes1552776603',
spotify: 'https://open.spotify.com/show/19jiuHAqzeKnkleQUpZxDf',
youtube: 'https://www.youtube.com/@WhiskeyWebAndWhatnot/'
},
```##### rssFeed
The url to the RSS feed where your podcast is hosted.
**Example:**
```ts
rssFeed: 'https://anchor.fm/s/e329dea0/podcast/rss';
```#### Setting up the contact form
The contact form hits an APIRoute at `/api/contact`. It is currently configured
to send the form data to a Slack channel webhook I had setup. It reads the url
from `import.meta.env.SLACK_WEBHOOK`, so if you define a `SLACK_WEBHOOK`
environment variable it should work for you. Of course, feel free to customize
the code [here](./src/pages/api/contact.ts) to send the data elsewhere as you
see fit.#### Configuring guests
We are experimenting with storing guest info in Astro DB, which is currently in closed beta, so it may not be accessible to you if you did not get a beta invite.