Simon Bruder
412f7b2d74
By default rsync uses modification time and file size which is effectively reduced to just file size due to using Nix. This is not enough to work reliably e.g. on changes to a single letter or fixed-format strings. |
||
---|---|---|
content | ||
sass | ||
static | ||
templates | ||
.envrc | ||
.gitattributes | ||
.gitignore | ||
build.sh | ||
common.py | ||
config.toml | ||
deploy.sh | ||
encode.py | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
metadata.py | ||
README.md |
Website for Schulischer Schabernack
The website of the podcast for P-Seminar Deutsch „Einen Podcast erstellen“.
Building
Building the site includes encoding all episodes from FLAC to the target formats.
Since this is not easily integrable into the website pipeline,
the build process is quite complicated.
Building the site also requires a special version of FFmpeg
that includes support for the FDK AAC library.
Therefore, it is recommended to use the Nix package manager to set up the environment.
Please note that this requires Nix 2.4 or later with the experimental features nix-command
and flakes
enabled or Nix 3.0.
Simply building the site can be accomplished by running nix build
.
To run the build in-place (not inside the build sandbox),
a development shell can be entered nix develop
or by using direnv.
Then, the build script can be run with ./build.sh
.
The deployment is automated with the script deploy.sh
.
It automatically builds the site using Nix to achieve reproducibility
and then deploys it via rsync
to either the staging or production environment.
License
This project is licensed under the terms of the MIT License.
You can find its full license text in the file LICENSE
.
This only covers the files in this repository
with the exception of the podcast content (content/sch???-*
),
which is solely owned by the contributors to the specific episode
with no extra rights granted.
Also, parts of the built website can be covered by other terms,
due to it including code from external projects.