A podcast where cooperative practitioners tell their stories.
- Environment setup
- Adding a new episode and testing locally
- Configure build + deploy workflow
- Utility scripts
- Automatically upload to Internet Archive
- Podcast feed requirements references
- Install Hugo:
brew install hugo
- To run the
optimize-image.sh
script, installimageoptim
:brew install imageoptim imageoptim-cli
Run local Hugo server:
$ make serve
Create new episode:
$ hugo new episode/your-episode-name.md
Add at least the following fields to the episode frontmatter:
description
: short description of the episode (~ a couple of sentences)episode_image
: cover image for episode, should have square aspect ratiopodcast_file
: full URL to MP3 with episode audiopodcast_bytes
: byte size of audio filepodcast_duration
: duration of audio file, in HH:MM:SS format
Copy public key to remote server:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub anaulin@realcoopstories.org
Set GitHub repo secrets:
SSH_KEY
: contents of private key in~/.ssh/id_rsa
. Make sure to use PEM version of key, as detailed in https://github.com/marketplace/actions/install-ssh-keyKNOWN_HOSTS
: output ofssh-keyscan realcoopstories.org
Resize and optimize image:
$ ./optimize-image.sh path/to/image
Enclose timestamps in timestamp shortcode:
$ ./timestamp-shortcode.sh path/to/file.md
Using Python internetarchive CLI:
$ python3 -m venv .venv
$ source .direnv
$ pip3 install internetarchive
Login with:
$ ia configure
Upload file:
$ ia upload <params>
- Apple: https://itunespartner.apple.com/podcasts/articles/podcast-requirements-3058
- Apple artwork requirements: https://itunespartner.apple.com/podcasts/articles/design-your-artwork-3059
- Google: https://support.google.com/podcast-publishers/answer/9476656?visit_id=637447866313324769-2035917675&hl=en&rd=1
- Google feed verification: https://support.google.com/podcast-publishers/answer/9747492?hl=en&ref_topic=9476973