Commit graph www/README.md
Author SHA1 Message Date
a0e1ef046a Vendor ical.js instead of loading it from unpkg.com
The upcoming events table pulled its ICS parser straight from a CDN with
`import ICAL from "https://unpkg.com/ical.js/dist/ical.min.js"`. That sends
every visitor of the start page to unpkg.com, which hands their IP address and
user agent to a third party before any of our own code runs. The URL is not
even pinned to a version, so whatever ical.js publishes next is executed on our
site without anybody looking at it, and the start page silently breaks when the
CDN is unreachable.

Check the parser into `assets/js/vendor/` and let Hugo bundle it. This is what
`js.Build` is for: it runs the esbuild that is built into Hugo, so it resolves
the import at build time and needs no node_modules and no extra tooling in the
build environment. The result is minified and fingerprinted like the other
scripts of the site, and the script tag carries a subresource integrity hash.

Since the bundle now has a content hash in its name, its URL cannot be written
by hand in the markdown any more. Move the table and the script tag into an
`upcoming` shortcode, which is the same pattern `calendar.html` already uses,
and move `upcoming.js` from `static/` to `assets/` so Hugo can process it.

The vendored file is the unminified `dist/ical.js` of the pinned release: it
carries the MPL-2.0 header and is the source form of what we ship, and Hugo
minifies it for delivery anyway. `assets/js/vendor/README.md` records the
version, where it came from and how to update it.

The built bundle renders the same table as before, checked against
https://berlin.ccc.de/calendars/all.ics.

Fixes: c28f04c6e8 ("switch to ics files; make calendars work; fix some minor issues")
Assisted-by: Claude:claude-opus-5
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-23 01:07:25 +02:00
b11d80aac2 README: describe the calendar as it is built today
`build.sh` no longer post-processes anything: since the switch to ICS files it
just deletes `public/` and runs `hugo`. The `CALENDAR` placeholder, the Python
dependency on `icalendar`, `python-dateutil` and `pytz`, and the `de_DE.UTF-8`
locale requirement are all gone, and nothing in `packages.nix`, `devShells.nix`
or `flake.nix` pulls in Python any more. Drop those claims.

Describe instead where the two calendar views actually come from: the
"Nächste Veranstaltungen" table and the calendar page are rendered in the
browser from `/calendars/all.ics`, which is published next to the site and is
not built from this repository. That also replaces the old advice to preview
them via `./build.sh` plus a local HTTP server, which no longer helps.

Without that file the two of them stay empty. Hugo serves everything below
`static/` from the root of the site, so it can simply be put there, and the
command that downloads it is worth writing down. Checked from an empty state:
afterwards the file is served under `/calendars/all.ics` by `hugo serve` and the
table on the start page fills with the upcoming events. It is a copy of
published data and has no business in the repository, so ignore it.

Mention the per-section `.ics` feeds Hugo does generate, so the ICS templates
under `layouts/` are not mistaken for the source of `all.ics`.

Fixes: c28f04c6e8 ("switch to ics files; make calendars work; fix some minor issues")
Assisted-by: Claude:claude-opus-5
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-22 21:22:02 +02:00
c28f04c6e8
switch to ics files; make calendars work; fix some minor issues 2026-08-12 02:01:58 +02:00
c145161bc4 README: Erkläre, wie man den Kalender lokal sieht.
`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>
2026-05-03 16:54:15 +02:00
fluepke
34e46097d0 Fix broken glibcLocales; Update README.md 2025-11-23 17:54:17 +01:00
Vinzenz Schroeter
981108e77a update readme, markdown lint 2025-06-07 15:35:43 +02:00
murmeldin
bbd47afcb5 new correct datengarten content 2025-05-06 08:30:54 +02:00
Vinzenz Schroeter
e10cfcdbcc update README.md 2025-03-09 18:15:15 +01:00
2e3a02af0c
refacture all the things! 2023-06-13 12:47:07 +02:00
5c7f36a5ae
Update README.md 2023-06-12 20:03:34 +02:00
Carina
85f9fb9766 Added documentation how change process works. Reformatted readme file. 2020-02-04 22:39:02 +01:00
81df090d5e Minor documentation update 2019-09-04 21:41:42 +02:00
XenGi
8b0748b05a Update README.md 2018-08-16 22:13:41 +02:00
fbc6fe31dd Add calendar generator 2018-07-14 22:53:59 +02:00
d55a0ee07f Amend readme 2018-07-13 00:09:03 +02:00
N-te
c4069f84f8
Fixed link for locahost page
/s/ was missing
2018-07-12 21:03:37 +02:00
Sebastian Breuer
55c280bd69 git submodule init missed 2018-05-21 02:05:17 +02:00
vidister
0a4d9cce15 change submodule to fork, add step to README, fix typo in README 2018-05-18 21:27:55 +02:00
81d428f9be Add README.md 2018-05-18 13:53:01 +02:00