forked from cccb-website-team/www
`hugo serve` rendert die Tabelle „Nächste Veranstaltungen" auf der Startseite nicht — die wird erst durch `./build.sh` per sed in `public/index.html` eingefügt. Die README beschreibt jetzt den Build-und-Servieren-Workflow inklusive Python-Abhängigkeiten und benötigtem Locale. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
72 lines
2.4 KiB
Markdown
72 lines
2.4 KiB
Markdown
# CCCB Website
|
|
|
|
This is the website of the CCCB.
|
|
|
|

|
|
|
|
## Getting started
|
|
|
|
1. Get Hugo: <https://gohugo.io/getting-started/installing>
|
|
2. Clone this repo (`--recursive` is needed to check out submodules)
|
|
|
|
```shell
|
|
git clone --recursive https://git.berlin.ccc.de/cccb-website-team/www.git cccb-website
|
|
```
|
|
|
|
3. Switch directory
|
|
|
|
```shell
|
|
cd cccb-website
|
|
```
|
|
|
|
4. Run hugo webserver
|
|
|
|
```shell
|
|
hugo serve
|
|
```
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
To build with *nix*: `nix build '.?submodules=1#production-content'`
|
|
|
|
## Making a change
|
|
|
|
1. Use your local dev setup (see Getting started) or via the Forgejo editor.
|
|
2. Make your change in `staging` branch.
|
|
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.
|
|
6. ~~GitHub Actions is running the release workflow.~~
|
|
- If successfull, check [Website](https://berlin.ccc.de/) if change is correct.
|
|
7. Profit!
|
|
|
|
## Nix stuff
|
|
|
|
- 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)
|
|
|
|
---
|
|
|
|
Made with ❤️ and [Hugo](https://gohugo.io).
|