Configuration
- sectionType: podcast
containerTag: section
podcast: 'ai-fireside-chat'
options:
showEpisodeList: true
initialEpisodes: 5
maxEpisodes: 50
autoplay: false
theme: 'auto'
themeColor: '#007aff'
ctas:
- url: 'https://example.com/subscribe'
label: 'Subscribe to Podcast'
isButton: true
buttonStyle: 'primary'
Data Structure - RSS-Based (Recommended)
Create podcast data files in lib/data/podcasts/[name].json
with RSS URL:
{
"title": "AI Fireside Chat",
"description": "Conversations about artificial intelligence and technology",
"coverImage": "/assets/images/ai-fireside-cover.jpg",
"rssUrl": "https://media.rss.com/fire-side-chat-brady-bunch-shoots-the-shit-1/feed.xml",
"platform": "apple",
"podcastUrl": "https://podcasts.apple.com/us/podcast/ai-fireside-chat/id1780606504"
}
Data Structure - Static Episodes (Alternative)
For internal or curated content:
{
"title": "Internal Tech Talk",
"description": "Weekly discussions about web development",
"coverImage": "/assets/images/internal-cover.jpg",
"platform": "internal",
"episodes": [
{
"id": "episode-1",
"title": "Getting Started with Static Sites",
"episodeNumber": "001",
"publishDate": "2024-01-20",
"duration": "12:45",
"audioFile": "/assets/audio/episode-001.mp3",
"thumbnail": "/assets/images/episode-001.jpg",
"description": "An introduction to static site generators."
}
]
}
Player Features (Shikwasa)
- Advanced Controls - Play/pause, progress bar, volume, speed control
- Speed Options - 0.75x, 1x, 1.25x, 1.5x, 2x playback speeds
- Keyboard Navigation - Space (play/pause), arrow keys (seek), M (mute)
- Chapter Support - Displays chapters if available in podcast
- Download Option - Built-in download functionality
- Theme Support - Light, dark, and auto (system preference) themes
Podcast Data
Property | Type | Required | Description |
---|
podcast | string | Yes | Name of JSON file in data/podcasts/ directory |
Player Options
Property | Type | Required | Description |
---|
showEpisodeList | boolean | No | Display episode selection list (default: true) |
initialEpisodes | number | No | Episodes shown initially (default: 5) |
maxEpisodes | number | No | Maximum episodes to fetch from RSS (default: 50) |
autoplay | boolean | No | Auto-play first episode on load (default: false) |
theme | string | No | Player theme - 'light', 'dark', 'auto' (default: 'auto') |
themeColor | string | No | Player accent color in hex format (default: '#007aff') |
Content
Property | Type | Required | Description |
---|
ctas | array | No | Optional array of call-to-action buttons |