Version control for the KoDa Cast website, which is hosted via Github Pages.
This website utilizes Hugo as its primary framework and either Castanet or Cloud with Chris as inspiration for its primary architecture and theme. The exact decision will be made based on theme licensing.
Basically, I'm just following the Hugo Quick-Start Guide and connecting everything to Git. If on a Mac, make sure you have Homebrew installed, and that your versions of Hugo, Go, and npm are up-to-date.
brew install hugo go npm
OR
brew update hugo go npm
In a terminal, with Hugo installed, run
hugo new site kodacast-website
cd kodacast-website
To create a new site and navigate that folder
Add the theme (or update) the module.
Originally, I followed the steps to add a new module, directly connected to the theme. That would be cool...but not complete.
Instead, I'm just copying the theme from the themes
folder of the Cloud with Chris Github and building off that.
Their site uses Git Large File Storage to store mp3 its files. I like that concept. To set that up here, I had to first install git-lfs
brew install git-lfs
and initialize that program via
git lfs install
Then, in my repo, I set it up to track mp3 files
git lfs track "*.mp3"
Which created a new .gitattributes
file. If you don't see that, you should also run
git add .gitattributes
...though that last step was unnecessary for me
First, check to make sure that your version of Hugo has the 'extended' tag on it when you run hugo version
. If not, you may need to install this manually instead of via a package manager (such as Homebrew).
You need to initialize Go within the root directory of your repo. The kodacast-website
portion can be named whatever you want.
hugo mod init kodacast-website
Running hugo serve
still gave me errors at this point, providing the message
Error: Error building site: TOCSS: failed to transform "sass/main.scss" (text/x-scss): SCSS processing failed: file "stdin", line 4, col 1: File to import not found or unreadable: bootstrap/bootstrap.scss.
and later
Error: Error building site: TOCSS: failed to transform "sass/main.scss" (text/x-scss): SCSS processing failed: file "stdin", line 7, col 1: File to import not found or unreadable: fontawesome/fontawesome.scss.
This is because I needed to install bootstrap and fontawesome manually via npm. I did this via
npm install bootstrap
npm install --save @fortawesome/fontawesome-free
Finally, I am now able to run
hugo serve -D
without issue. Note that the podcast_site_template
branch of this repo shows exactly where I 'landed' after running the above steps and clearing out the unique content from the config.yaml
page.
I'll need to update the site with the relevant links, pages, and assets to make this unique to my own efforts, as well as the various themes/color schemes that fit with a water/lake motif instead of clouds.
For now, I'm going to keep the themes/cloud-with-chris
folder a locally sourced asset, since there are many elements that are unique to the Cloud with Chris website and would not work well on a custom site. I'll keep these modifications so any can review...though for now I'm going to start with it in .gitignore
so as to space my commit history a bit. If I didn't need to make so many custom modifications, I probably would have just used this theme as its own Hugo module...made available in the config.yaml
folder and pointing to the Github repo with that theme. There are other assets in that YAML file with source:
and target:
locations that you can use for inspiration here.
If you want to build from that branch to make your own podcasting website, please feel free. These efforts build on the excellent works of Chris Reddington for his Cloud with Chris podcast, which itself builds on Matt Stratton's work on the Castanet podcast. All of these are under the MIT license. Build away!
More content to come...