The theme was pinned at v2.86.0, which declares that it works with Hugo 0.137.0 to 0.147.5. Hugo has been 0.165.0 here and 0.163.3 in the pinned nixpkgs branch for a while, so every build complained: WARN Module "blowfish" is not compatible with this Hugo version: 0.87.0/0.147.5 WARN deprecated: .Site.LanguageCode was deprecated in Hugo v0.158.0 WARN deprecated: .Site.Data was deprecated in Hugo v0.156.0 The two deprecated calls were in the templates of the theme, in head.html, baseof.html, schema.html and several shortcodes, so they could not be fixed from here. v2.106.0 accepts 0.158.0 to 0.165.0, which covers both Hugo versions we build with, and no longer uses either of them. The build is free of warnings now. v3 was not taken, it is a new major version. The theme reorganised its JavaScript along the way and dropped js/process.js. Our layouts/partials/footer.html is a copy of the footer of the theme with a link to the Git repository added to the "powered by" line, and it still loaded that file, which broke the build outright: ERROR ... execute of template failed: ... <resources is nil Take the footer of v2.106.0 and add the link to it again. It is the only template we override that belongs to the theme, the others are our own, and nothing else in layouts/ refers to a file the theme removed. The German strings for the 404 page still apply, the theme keeps its translations as YAML now but the keys are unchanged, and no configuration parameter we set was dropped. The site builds identically apart from the theme itself: no page is lost, none lost its content, the largest pages grow by about a third from added markup, and the churn in public/ is the renamed bundles, the dropped jQuery and differently named image derivatives. While at it, replace the note in the README that told the reader not to update nixpkgs because it would bring a Hugo the theme cannot handle. That is what just got resolved, so name the actual range instead. Assisted-by: Claude:claude-opus-5 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2.6 KiB
CCCB Website
This is the website of the CCCB.
Getting started
-
Clone this repo (
--recursiveis needed to check out submodules)git clone --recursive https://git.berlin.ccc.de/cccb-website-team/www.git cccb-website -
Switch directory
cd cccb-website -
Run hugo webserver
hugo serve -
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.
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:
./build.sh
python3 -m http.server -d public 1313
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'
Making a change
- Use your local dev setup (see Getting started) or via the Forgejo editor.
- Make your change in
stagingbranch. - Commit (and push) your change.
GitHub Actions is running the release workflow.- If successful, check Staging Website if change is correct.
- Create a merge request to merge changes from
stagingtoproductionbranch. Ask somebody to check merge request or if small change, merge yourself. GitHub Actions is running the release workflow.- If successfull, check Website if change is correct.
- Profit!
Nix stuff
- After entering the shell with
nix develop, hugo is available andhugo serveshould work - Python including required packages will be available, so the
build.shshould work without a venv - You can build the staging and production builds with
nix build .#staging-contentandnix build .#production-content - The theme accepts a limited range of Hugo versions, declared as
[module.hugoVersion]inthemes/blowfish/config.toml. Blowfish v2.106.0 wants 0.158.0 to 0.165.0, the nixpkgs branch pinned inflake.nixcarries 0.163.3. Keep the two in range when updating either of them, Hugo warns on every build otherwise.
Made with ❤️ and Hugo.
