Skip to content
Public template

About

Staticast is a ready to use Progressive Web App to publish your podcast, with a RSS feed ready for syndication platforms, and a user friendly CMS.

Topics

Resources

Stars

15 stars

Watchers

1 watching

Forks

Repository files navigation

Staticast

Staticast is a ready to use Progressive Web App to publish your podcast, with an RSS feed ready for syndication platforms.

Staticast screenshot

Features

  • 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

Installation

Manually

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.

  1. Be sure PHP (>=8.3) is available on your OS
  2. Download Staticast and install themes with composer install or run composer create-project cecil/staticast myproject
  3. Download cecil.phar and move it to the root of Staticast

Automatically

Use one of the buttons to get your own copy of the repository on Netlify or Vercel.

Deploy to Netlify Deploy with 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

Usage

Create a new episode

  1. Add the MP3 file in assets directory
  2. 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 directories

Preview

Run the following command:

php cecil.phar serve --open

Publish

  1. Run php cecil.phar build
  2. Copy _site folder to your web server

Configuration

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 avatars

Example 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  # optional

The 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.

Development

Staticast uses Tailwind CSS (v4) so you can customize the stylesheet with the following file:

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.yml

License

Staticast is a free software distributed under the terms of the MIT license.

© Arnaud Ligny

About

Staticast is a ready to use Progressive Web App to publish your podcast, with a RSS feed ready for syndication platforms, and a user friendly CMS.

Topics

Resources

Stars

15 stars

Watchers

1 watching

Forks

Sponsor this project

Used by

Contributors

Languages