switch to ics files; make calendars work; fix some minor issues

This commit is contained in:
XenGi 2026-08-12 02:01:58 +02:00
commit c28f04c6e8
Signed by: xengi
SSH key fingerprint: SHA256:jxWM2RTHvxxcncXycwwWkP7HCWb4VREN05UGJTbIPZg
19 changed files with 318 additions and 259 deletions

View file

@ -27,24 +27,20 @@ This is the website of the CCCB.
5. Point your browser to: <http://localhost:1313/>
Every change you make on the project will be reflected in your browser as long
as `hugo serve` is running.
Every change you make on the project will be reflected in your browser as long as `hugo serve` is running.
The *"Nächste Veranstaltungen"* table on the home page is generated by
post-processing in `./build.sh`, not by Hugo, so it is **not** visible under
`hugo serve`. To preview the fully-built site (including the home-page
calendar), or to ready the site for upload, run:
The *"Nächste Veranstaltungen"* table on the home page is generated by post-processing in `./build.sh`, not by Hugo, so
it is **not** visible under `hugo serve`. To preview the fully built site (including the home-page calendar), or to
ready the site for upload, run:
```shell
./build.sh
python3 -m http.server -d public 1313
```
`build.sh` generates `all.ics` and replaces the `CALENDAR` placeholder in
`index.html` with the upcoming-events table. It depends on Python with the
`icalendar`, `python-dateutil`, and `pytz` packages, plus a `de_DE.UTF-8`
locale (used to format weekday names). Inside `nix develop` these are
provided automatically.
`build.sh` replaces the `CALENDAR` placeholder in `index.html` with the upcoming-events table. It depends on Python
with the `icalendar`, `python-dateutil`, and `pytz` packages, plus a `de_DE.UTF-8` locale (used to format weekday
names). Inside `nix develop` these are provided automatically.
To build with *nix*: `nix build '.?submodules=1#production-content'`
@ -55,7 +51,8 @@ To build with *nix*: `nix build '.?submodules=1#production-content'`
3. Commit (and push) your change.
4. ~~GitHub Actions is running the release workflow.~~
- If successful, check [Staging Website](https://staging.berlin.ccc.de/) if change is correct.
5. Create merge request to merge changes from `staging` to `production` branch. Ask somebody to check merge request or if small change, merge yourself.
5. Create a merge request to merge changes from `staging` to `production` branch. Ask somebody to check merge request or
if small change, merge yourself.
6. ~~GitHub Actions is running the release workflow.~~
- If successfull, check [Website](https://berlin.ccc.de/) if change is correct.
7. Profit!
@ -64,9 +61,12 @@ To build with *nix*: `nix build '.?submodules=1#production-content'`
- After entering the shell with `nix develop`, hugo is available and `hugo serve` should work
- Python including required packages will be available, so the `build.sh` should work without a venv
- You can build the staging and production builds with `nix build .#staging-content` and `nix build .#production-content`
- Do not update the nixpkgs branch - 25.05 contains a newer hugo version that is incompatible with the theme (last checked June 2025)
- You can build the staging and production builds with `nix build .#staging-content` and
`nix build .#production-content`
- Do not update the nixpkgs branch - 25.05 contains a newer hugo version that is incompatible with the theme (last
checked June 2025)
---
Made with ❤️ and [Hugo](https://gohugo.io).