Staticast is a ready to use Progressive Web App to publish your podcast, with an RSS feed ready for syndication platforms.
- Podcast RSS feed compatible with Apple Podcasts, Spotify and other platforms, with a style sheet to display it nicely in browsers
- Persistent audio player: browse the website without interrupting the episode you are listening to, and resume where you left off
- Progressive Web App: installable on mobile and desktop, works offline
- Search through all the episodes
- Multilingual: English and French out of the box
- Light and dark themes
- Fast and secure: a static website, without database, that can be hosted anywhere
Staticast is a website generated by Cecil, so you need to download and run Cecil to build your website, then you can publish it where you want.
- Be sure PHP (>=8.3) is available on your OS
- Download Staticast and install themes with
composer installor runcomposer create-project cecil/staticast myproject - Download
cecil.pharand move it to the root of Staticast
Use one of the buttons to get your own copy of the repository on Netlify or Vercel.
This will set up everything needed to run your website:
- A new repository in your GitHub account
- Continuous Deployment to the CDN of the platform
- Add the MP3 file in
assetsdirectory - Create a new Markdown file in
pages/episodes
Example (1.md):
---
title: "Episode #1"
description: "Short summary of the episode (used by search engines and social networks)."
episode:
file: episode-1.mp3
---
Short description of the episode.
<!-- break -->
Notes of the episode.Optional episode options:
episode:
file: episode-X.mp3 # MP3 file in `assets/`
image: episode-X.png # optional, episode cover
season: 0 # optional
number: X # optional
type: full # optional, "full" (default), "trailer" or "bonus"
explicit: false # optional
block: false # optional, `true` to hide the episode from podcast directoriesRun the following command:
php cecil.phar serve --open- Run
php cecil.phar build - Copy
_sitefolder to your web server
Edit the cecil.yml file, and more precisely the podcast section:
podcast:
owner:
name: Cecil # optional, defaults to `author.name` (or `author`), then `title`
email: contact@cecil.app # optional, defaults to `author.email`
image: cover.png # square image (1400x1400 to 3000x3000)
author: Cecil # optional, defaults to owner name
categories: # https://podcasters.apple.com/support/1691-apple-podcasts-categories
- Technology
type: episodic # optional, "episodic" (default) or "serial"
explicit: false # optional, `true` or `false` (default)
block: false # optional, `true` to hide the show from podcast directories
newfeedurl: "" # optional, the URL of the new feed in case of hosting change
subscribe: [] # links to podcast platforms (Apple Podcasts, Spotify, etc.)
hoster: [] # hosts names and avatarsExample of subscribe and hoster entries:
podcast:
subscribe:
- name: apple # icon file name in `assets/icons/` (e.g. `apple.png`)
title: Apple Podcasts
url: https://podcasts.apple.com/podcast/id0000000000
enabled: true # optional, `false` to hide the link
hoster:
- name: Cecil
avatar: https://github.com/cecilapp.png?size=150
url: https://cecil.app # optionalThe RSS feed is available at /episodes/rss.xml, with a style sheet to display it nicely in browsers.
For details, please refer to the Cecil documentation.
Staticast uses Tailwind CSS (v4) so you can customize the stylesheet with the following file:
- Configuration and CSS source:
assets/tailwind.css
The CSS is compiled to assets/styles.css with Tailwind Builder, which uses the Tailwind standalone binary: no Node.js required.
# install
composer install
# build CSS (or `composer css:build` to build once)
composer css:watch
# serve
php cecil.phar serve -v --config=config/dev.ymlStaticast is a free software distributed under the terms of the MIT license.
