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.shscript, installimageoptim:brew install imageoptim imageoptim-cli
Run local Hugo server:
$ make serveCreate new episode:
$ hugo new episode/your-episode-name.mdAdd 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 [email protected]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/imageEnclose timestamps in timestamp shortcode:
$ ./timestamp-shortcode.sh path/to/file.mdUsing Python internetarchive CLI:
$ python3 -m venv .venv
$ source .direnv
$ pip3 install internetarchiveLogin with:
$ ia configureUpload 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