Website hackertours.hamburg.ccc.de https://hackertours.hamburg.ccc.de
  • HTML 56.3%
  • CSS 27%
  • JavaScript 13.2%
  • Shell 3.2%
  • Dockerfile 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-16 19:00:18 +02:00
.forgejo/workflows Upgrade to Hugo 0.16x and zen theme v7.1.0 2026-10-16 15:07:25 +02:00
archetypes First try 2023-12-07 19:37:47 +01:00
assets Attempt a shortcode for the schedule overview 2026-10-16 18:53:55 +02:00
content Attempt a shortcode for the schedule overview 2026-10-16 18:53:55 +02:00
data/schedule Attempt a shortcode for the schedule overview 2026-10-16 18:53:55 +02:00
i18n Attempt a shortcode for the schedule overview 2026-10-16 18:53:55 +02:00
layouts Make sure missing data is handled gracefully 2026-10-16 18:58:29 +02:00
static Körperfunk added, corrected languages 2025-12-25 09:57:12 +01:00
themes Upgrade to Hugo 0.16x and zen theme v7.1.0 2026-10-16 15:07:25 +02:00
.gitignore First try 2023-12-07 19:37:47 +01:00
.gitmodules First try 2023-12-07 19:37:47 +01:00
.hugo_build.lock First try 2023-12-07 19:37:47 +01:00
Dockerfile Update docker.io/nginx Docker tag to v1.29.1 2026-05-18 22:18:40 +00:00
hugo.yaml Upgrade to Hugo 0.16x and zen theme v7.1.0 2026-10-16 15:07:25 +02:00
README.md Make sure missing data is handled gracefully 2026-10-16 18:58:29 +02:00
renovate.json Add renovate.json 2024-07-30 18:46:18 +00:00

Hackertours Web Site

Complete the checkout

We need the submodule for the theme, so update/clone the submodules:

git submodule update --init --recursive

Run in dev mode

hugo server --buildFuture --buildDrafts

Then open http://localhost:1313

Shortcode: Language badge

Use the lang shortcode to mark whether a tour is in German, English or bilingual. It renders a small superscript badge next to the text, with details when hovered over or parsed by a screenreader.

  • German: {{< lang de >}}
  • English: {{< lang en >}}
  • Bilingual: {{< lang deen >}}

Shortcode: Tour schedule

The tour overview of an event (content/*/<event>/_index.md) shows the schedule with {{< schedule >}}. It reads data/schedule/<event>.yaml, which is shared by both languages:

days:
  - day: 1
    date: "2025-12-27"
    tours:
      - { time: "11:30", tour: xfel, lang: deen }
      - { time: "12:00", tour: city-walk, lang: de }
  • tour is the slug of the tour page in the event section. The card shows that page's title, without the event prefix, and links to it.
  • lang is de, en or deen, or a list of these. It renders the same badge as the lang shortcode.
  • time is HH:MM with a leading zero (09:30). Tours are sorted by time, so their order in the file doesn't matter.

Wide screens get one column per day on an hour grid, with tours that start at the same time side by side. The first column shows the hour wherever the first day has no tour in it. On narrow screens a day picker shows one day at a time, starting with today's day during the event.

For a different event than the page's section, pass its name: {{< schedule 39c3 >}}.

Without a data file, or without any tours in it, the shortcode renders nothing and the build logs a warning. To silence it, for example for an upcoming event, add warning-schedule-empty to ignoreLogs in hugo.yaml.