This site catalogues releases from charm engineering teams. Its content automatically generated every 15 minutes by querying the Github API and scraping Launchpad pages.
- The site is rendered using Hugo
- The repositories page data is generated by releasegen.
The site is published at: https://snapcrafters.org
Developing the site is relatively simple. You'll need to have Hugo installed in order to build and serve the pages.
This site doesn't use any content pages, since it relies heavily on templating. All the visual
components are in layouts/
.
# Clone the repository
git clone https://github.com/snapcrafters/snapcrafters.org.git
cd snapcrafters.org
# Build and serve the site using Hugo
hugo serve -D
The site should now be available at http://0.0.0.0:1313 on your local machine.
For the live site, data/repos.json
is automatically rebuilt from a GitHub Action, but you can
build it for local development. The file is generated using
releasegen.
First, create a GitHub token with repo
permissions and copy
it somewhere safe.
# Make sure you have golang installed, if you don't already
sudo snap install go --classic
# Get the latest releasegen binary
go install github.com/jnsgruk/releasegen/cmd/releasegen@latest
# Set your Github API token as an environment variable
export RELEASEGEN_TOKEN=ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ
# Run the tool and redirect the output to the data file.
releasegen > data/repos.json