Compare commits

..

2 commits

Author SHA1 Message Date
7f328e2989 Do same check for publishdate
Some checks failed
/ build (pull_request) Successful in 39s
/ cleanup-staging (pull_request) Failing after 1s
2026-06-07 19:40:46 +02:00
4a9352b129 Check if the template range function drops further articles with the same date
All checks were successful
/ build (pull_request) Successful in 41s
2026-06-07 19:38:33 +02:00
46 changed files with 67 additions and 301 deletions

View file

@ -29,7 +29,7 @@ jobs:
# For uploading.
apk add rsync openssh
- uses: actions/checkout@v7
- uses: actions/checkout@v6
with:
fetch-depth: 0 # pull full history for page lastmod by git commit date

View file

@ -29,60 +29,25 @@ To populate the calendar data, please run `./fetch-calendar.sh` before running h
Running the hugo command without and parameters will re-generate the site in the `public` directory.
To deploy the website, just copy the whole folder to a directory which is servered by the webserver of your preference.
Please note that the website should be re-deployed at least daily to update the "announcement" section on the front page even if there were no changed to the content.
See [Automated Deployment](#automated-deployment) for the way the deployment is set up on git.hamburg.ccc.de
Please note, that the website should be re-deployed at least daily to update the "announcement" section on the front page even if there were no changed to the content.
### Previewing Changes Locally
### Add Pages
To run a local version, just install HUGO by following the [instructions](https://gohugo.io/installation/) for your operating system.
To build the website and run a development webserver, execute:
```shell
hugo server --buildFuture --buildDrafts
hugo server
```
Note: the flags `--buildFuture --buildDrafts` makes Hugo process all content, even if the `publishDate` is still in the future, or the content is marked as `draft: true` in the frontmatter.
You usually want these flags, especially if you are preparing content that should only be shown after a certain date.
Also see [Submitting Your Content](#submitting-your-content) below.
### Adding Content
There are two basic types of posts: Events and blog posts.
Hugo and the template set distinguish between these two types based on frontmatter information.
When manually creating content, you need to take extra care to use the correct frontmatter data.
See the link to the Hugo archetypes below for details.
**If at all possible, use `hugo new content` with the appropriate parameters to create the new content file correctly.**
You should always set these frontmatter fields:
* `categories`: must be either `article` or `event`; see below.
* `date`: the date displayed for this content.
For events, that should be when the event takes place; for blog posts, it is when the post was written.
* `publishDate`: the date and time the content should be published.
Note that if you do not specify a `publishDate`, the value of `date` will be used.
* `title`: the headline of your content.
#### Add a Blog Entry
Blog posts (the archetype is called `article`) should be used for information that will be relevant for a longer period, for example explanations about technical, political or cultural topics.
Articles will be shown for a few days on the home page.
The [blog page](https://hamburg.ccc.de/blog/) shows all posts, newest first.
In addition, the `tags:` can be used to find blog posts about certain topics.
To create a new general blog post, run a command like this:
To also build posts in the future or in draft state, run this instead:
```shell
hugo new content --kind article blog/yyyy/yyyy-mm-dd-your-article-title/index.md
hugo server -D
```
If you want to create a blog post from scratch, or convert an event into a blog post, see the frontmatter data in [themes/ccchh/archetypes/article.md](themes/ccchh/archetypes/article.md).
In particular, you need to set `categories: article`.
You do not need to specify an explicit `publishDate`, as the value of `date` will be used as a fallback.
#### Add an Event Announcement
Events will be shown on the home page from the frontmatter `publishDate:` until the `date:` (plus a few hours grace period).
Use them for information that is relevant for a specific event, like a talk or a meeting.
There are two basic types of posts: Events and articles.
Events will be shown on the home page from their publishing date until they have happened and shall be used for things which happen at a certain date.
This is not limited to events organized by the CCCHH, but can also be a hint to other events which we think are related to our activities.
To create a new event blog post, run a command like this:
@ -90,48 +55,29 @@ To create a new event blog post, run a command like this:
hugo new content --kind event blog/yyyy/yyyy-mm-dd-your-event-title/index.md
```
If you want to create an event from scratch, or convert a blog post into an event, see the frontmatter data in [themes/ccchh/archetypes/event.md](themes/ccchh/archetypes/event.md).
In particular, you need to set `categories: event`, `date:` for the date of the event, `publishDate:` for the date the content should be published, and `location:` to whereever your event takes place.
#### Add a Blog Entry
As mentioned before, you can also create blog posts for things which aren't events.
They will only be shown in the "blog" section and posted to the RSS feeds and shall be used for things which are relevant for a longer time.
As we have much more event announcements than articles, finding articles in all blog posts can be quite a challenge.
But using these two categories enables filtering, so that the history of articles is in one list.
To create a new general blog post, run a command like this:
```shell
hugo new content --kind article blog/yyyy/yyyy-mm-dd-your-article-title/index.md
```
#### Additional Notes on Events and Articles
By default the first 70 words are shown as a summary on list pages.
Please use `<!--more-->` (white space matters) to manually separate the summary from other post content.
Please use `<!--more-->` to manually separate the summary from other post content.
Please prefix your folder name with a date to make browsing the content in the source code easier.
The date in the URL will be taken from the `date` field in the front matter.
Blog posts from before 2024-01-22 were imported from the previous website and have additional front matter data which is not usually needed (e.g. the lastmod value).
#### Submitting Your Content
After creating the new content, or making changes to existing content please commit your changes with a meaningful commit message to a fresh branch.
Name the branch in a way that makes it easy to understand what the changes are, for example, the title of your new blog post.
Push the branch to git.hamburg.ccc.de, and create a new pull request.
Invite reviewers, or post the link to the PR to the [#infrastruktur:hamburg.ccc.de](https://matrix.to/#/#infrastruktur:hamburg.ccc.de) Matrix channel.
The changes you have made will be deployed to the staging website automatically (this might take a minute or two).
See the comments in the PR for the link to your preview.
You and the reviewers can use the link to preview the changes.
If you have set a `publishDate` to a date and time in the future, the preview will show the content as it would appear then.
Once at least one reviewer approves the PR, it will be merged and pushed to production.
This usually takes less than five minutes.
### Automated Deployment
The website is automatically rebuilt and redeployed every 20 minutes. At each build and deploy:
* The event calendar is fetched.
* Hugo renders all pages.
* All changed files are deployed to the production web server.
See [.forgejo/workflows/deploy.yaml](.forgejo/workflows/deploy.yaml) for all the details.
Additionally, for each pull request, a version of the website is deployed to the staging website under a unique URL.
The pull request will be updated with the URL, so you and the reviewers can look at the changes as they will appear after merging.
After the PR is closed, the staging URL will be removed.
When using the commands above, the template shall have evenything you need.
#### Populate the Event Calendar

View file

@ -4,4 +4,7 @@ date: 2022-11-20T09:03:20-08:00
draft: false
---
<!-- STATUS_CANARY_HAMBURG_CCC_DE_DO_NOT_TOUCH -->
## Über uns
Wir sind der Chaos Computer Club der Hansestadt Hamburg.
Bei uns handelt es sich um eine Gruppe von Menschen, die ein Interesse am kreativen Umgang mit Technik teilen.
Unsere Gesprächsthemen und Projekte reichen von Soft- und Hardware zu Datenschutz und Netzpolitik.

View file

@ -1,8 +1,9 @@
---
categories: article
title: 'DIDAY.org mit Unterstützung des CCCHH'
date: '2026-06-07T14:00:00+02:00' # date of the event
date: '2026-06-07T14:01:00+02:00' # date of the event
publishDate: '2026-06-07T14:01:00+02:00' # when to publish
draft: false
location: Z9
authors:
- stb
tags:

View file

@ -1,30 +0,0 @@
---
categories: event
title: 'Demo-Aufruf: Überwachungsfrei in Hamburg'
date: '2026-06-20T14:00:00+02:00'
publishDate: '2026-06-13T12:00:00+02:00'
draft: false
location: Hansaplatz
authors:
- stb
tags:
- event
- überwachung
- vorratsdatenspeicherung
- widerstand
---
**tl;dr** Kundgebung auf dem Hansaplatz am Samstag, 20.6., 14 Uhr, um weitreichende Überwachung in Deutschland und in Hamburg zu verhindern. Alle Infos: [Überwachungsfrei.eu](https://überwachungsfrei.eu).
Bund und Länder treiben neue Überwachungsgesetze voran. Dazu gehören biometrische Rasterfahndung, automatisierte Massendatenauswertung, die Erhebung von Bewegungsdaten aus Fahrzeugen, Vorratsdatenspeicherung und Chatkontrolle. Hinzu kommt die Auswertung von Standortdaten aus Apps, ganz ohne gesetzliche Grundlage, sowie das Training intransparenter „KIs“ mit den frisch gesammelten Daten.
<!--more-->
Gleichzeitig geraten soziale Probleme aus dem Fokus. Technische Überwachung wird als Lösung gesellschaftlicher und sozialer Herausforderungen betrachtet. Doch mehr Überwachung führt nicht zu mehr sozialer Sicherheit. Sie verschiebt Probleme, statt sie zu lösen, und verändert das Verhältnis zwischen Staat und Bevölkerung grundlegend. Schritt für Schritt wird alltägliches Verhalten unter Beobachtung gestellt und Freiheit eingeschränkt.
Kaum ein Ort in Hamburg verdeutlicht diese Entwicklung so sehr wie der Hansaplatz. Seit 2023 wird hier das Verhalten aller, die sich auf dem Platz aufhalten, durch Kameras und automatisierte Systeme erfasst und ausgewertet. Was als Ausnahme begann, wird nun zum Normalzustand: Kontinuierliche Beobachtung im öffentlichen Raum.
Wir setzen uns für den Schutz von Grundrechten und informationeller Selbstbestimmung ein. Für öffentliche Räume, in denen Menschen sich frei bewegen, austauschen und engagieren können, ohne permanent beobachtet und bewertet zu werden. Wir wollen eine Politik, die die Ursachen gesellschaftlicher Probleme angeht, statt immer neue Überwachungsmaßnahmen einzuführen.
Wir wollen das nicht hinnehmen.
Daher gehen wir auf die Straße. Am 20.06. um 14 Uhr in Hamburg, auf dem Hansaplatz.

View file

@ -20,7 +20,6 @@ Bei uns in den Räumen werden wir am *28.06.2026* an der Mitgliederversammlung d
<!--more-->
Die MV findet primär online statt, es gibt aber bei uns die Möglichkeit dieser zusammen im Hauptraum beizuwohnen und die Geschehnisse mitzuverfolgen.
Wenn ihr daran teilnehmen wollt, füllt bitte einmal das [Anmeldeformular](https://cloud.hamburg.ccc.de/apps/forms/s/jqmsHCSGR3S8brGfjZkwnfpa) aus, damit wir eine Idee haben wie viele Leute wir erwarten müssen.
## Wie funktioniert die Codeberg MV?

View file

@ -1,30 +0,0 @@
---
categories: event
title: 'DIDAY: Password Manager'
date: '2026-07-05T14:00:00+02:00' # date of the event
publishDate: '2026-06-16T18:44:27+02:00' # when to publish
draft: false
location: Z9
authors:
- stb
tags:
- DID
- digitale selbstverteidigung
- password manager
# tags:
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Ihr kennt es alle: ihr meldet euch in einer App oder auf einer Website neu an, und ihr braucht ein gutes Passwort. Aber wo bekommt man das her, und noch viel wichtiger, wie merkt man sich das? Über die Zeit kommen schnell zig wenn nicht hunderte solche Passwörter zusammen.
<!--more-->
Beim DIDAY im Juli zeigen wir euch bei uns im CCCHH, welche Optionen es gibt, und welche Vor- und Nachteile sich damit verbinden: unterschiedliche Passwort-Manager rein lokal auf dem eignenen Rechner, mit Synchronisierung über NextCloud, oder mit Cloud-Dienst. Und wir haben auch eine ganz einfach Papier-Variante, die trotzdem sicher ist!
Im Anschluss stehen wir euch für Fragen und Diskussionen zur Verfügung, natürlich auch zu anderen Themen der digitalen Unabhängigkeit.
Es ist keine Anmeldung erforderlich.
[Präsentation DIDAY CCCHH Juli Passwort-Manager](DIDAY-CCCHH-Juli-Passwort-Manager.pdf)

View file

@ -1,21 +0,0 @@
---
categories: article
title: 'DIDAYS 2026: Save the Date und Einladung zum Mitmachen'
date: '2026-07-10T12:00:00+02:00'
draft: false
authors:
- stb
tags:
- DID
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Der [CCC Hansestadt Hamburg e.V.](https://hamburg.ccc.de) und die [Wau Holland Stiftung](https://wauland.de) veranstalten vom 2. bis 4. Oktober zusammen mit Hamburger Stadtteilinitiativen, Maker- und Hackerspaces und weiteren zivilgesellschaftlichen Organisationen aus der Region die ersten Digital Independence Days in Hamburg. Euch erwartet ein Programm rund um digitale Unabhängigkeit: Messenger, Office-Programm, oder die eigene Cloud.
Alle Infos unter [didays.de](https://didays.de)
## Mitmachen!
Wir laden alle Hamburger Stadtteil-Initiativen, Linux-Stammtische, Repair-Cafes und Aktivisty ein, sich zu beteiligen! Alle Infos findet ihr in [der Einladung für Gruppen](https://didays.de/einladung-initiativen/).

View file

@ -1,44 +0,0 @@
---
categories: article
title: 'Schutz statt Schikane für trans Menschen'
date: '2026-07-28T10:34:42+02:00'
draft: false
authors:
- skye
tags:
- geekfem
- "überwachung"
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Der CCCHH unterstützt den Aufruf zum Die-In im trans Block auf dem Hamburger CSD am 01.08.2026.
Wir sind entsetzt über die geplanten Änderungen in der Trans-Gesundheitsversorgung. Insbesondere die Entwicklungen in Hamburg bereiten uns Sorgen.
In unserem Club engagieren sich viele Menschen aus dem trans\* Spektrum, die auf eine respektvolle, schnell verfügbare Gesundheitsversorgung angewiesen sind. Letztes Jahr mussten wir schmerzhaft erleben, was passiert, wenn die passende Hilfe für vulnerable trans\* Personen nicht schnell genug verfügbar ist. Zwei unserer Clubmitglieder sind durch Suizid gestorben.
Spezialisierte Beratungsangebote wie 4Be für trans\* Personen mit Suchterkrankungen retten Leben. An dieser Stelle sprechen wir unseren größten Dank aus an alle, die sich im Gesundheitssystem und im Beratungssystem für trans\* Menschen einsetzen.
Gegen die Einführung einer Transkartei haben wir uns [bereits letztes Jahr ausgesprochen](https://hamburg.ccc.de/blog/2025/07/30/transkartei/), als ein entsprechender Entwurf auf Bundesebene vorlag. Auch auf Landesebene verurteilen wir solche Vorhaben. Wir fordern im Sinne der informationellen Selbstbestimmung die konsequente Einhaltung des Offenbarungsverbots für abgelegte Vornamen und Geschlechtseinträge.
### Volltext der unterzeichneten Pressemitteilung:
***Die-In des trans Blocks auf dem CSD Hamburg: Protest gegen zunehmende Gefährdung queerer Menschen und geplante Verschlechterungen der Versorgung***
*Hamburg, 27. Juli 2026 - Angst gehört für viele queere Menschen längst zum Alltag. Der Anschlag in Berlin hat erneut gezeigt, wie verletzlich unsere Community ist. Deshalb darf im Umgang mit diesem Gewaltakt das Motiv nicht geleugnet werden. Transfeindlicher Aktivismus wird zunehmend fanatischer - und ist für Menschen wie uns lebensgefährlich.*
*Wie bekannt wurde, plant die Hamburger Innenbehörde eine neue Meldedatenverordnung nach dem Vorbild Baden-Württembergs. Für trans Personen bzw. Menschen, die ihren Personenstand nach dem Selbstbestimmungsgesetz geändert haben oder zukünftig ändern, hätte dies schwerwiegende Konsequenzen: Ihre Daten - einschließlich abgelegter Vornamen und dem zugewiesenen Geschlechtseintrag bei Geburt - würden künftig gegenüber allen Hamburger Ämtern offengelegt.*
*Dies wäre ein massiver Eingriff in die informationelle Selbstbestimmung und erhöhte das Risiko von Diskriminierung, Fehlbehandlung und Gewalt. Solch ein Eingriff bringt keinen Nutzen für die Gesellschaft oder die Behördenabläufe, sondern knüpft an Traditionen im deutschen Recht an, über marginalisierte Gruppen staatlich zu verfügen und sie mit bürokratischen Zumutungen zu belasten. Die Folgen für die psychische Gesundheit von trans\*, inter\* und nicht-binären Menschen sind erkennbar und messbar.*
*Parallel dazu plant die Sozialbehörde, die Förderung und Arbeit der Beratungsstelle 4Be zum 31. Dezember 2026 einzustellen - einer der zentralen Anlaufstellen für trans und genderdiverse Menschen in Hamburg. Darüber hinaus droht im kommenden Jahr eine drastische Einschränkung der medizinischen Versorgung: Sie soll künftig nahezu ausschließlich im Rahmen der Ambulanten Spezialfachärztlichen Versorgung (ASV) stattfinden. Für Hamburg würde das bedeuten, dass die medizinische Versorgung von trans Menschen faktisch auf eine große Klinik konzentriert würde.*
*Dies käme einer Pathologisierung der Versorgung gleich und würde die Zugänge für viele Betroffene massiv erschweren.*
*Vor dem Hintergrund dieser Entwicklungen haben wir uns entschlossen, unseren Protest auf dem diesjährigen CSD Hamburg in Form eines Die-ins sichtbar zu machen. Während der Demonstration wird sich der gesamte trans Block auf die Straße legen.*
*Wir machen damit deutlich: Diese politischen Planungen nehmen die Schädigung und letztlich den Tod von trans Menschen billigend in Kauf.*
*Wir rufen alle solidarischen Gruppen, Initiativen und Einzelpersonen dazu auf, sich dem trans Block anzuschließen und sich zahlreich am Die-in zu beteiligen. Sichtbarkeit und gemeinsamer Protest sind in dieser Situation unverzichtbar.*

View file

@ -1,26 +0,0 @@
---
categories: event
title: 'DIDAY: Fotos'
date: '2026-08-02T14:00:00+02:00' # date of the event
publishDate: '2026-07-19T22:00:00+02:00' # when to publish
draft: false
location: Z9
authors:
- lilly
tags:
- DID
- digitale selbstverteidigung
- fotos
# tags:
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Fotos sind für viele von uns eine sehr private Geschichte. Sie bilden wichtige Momente unseres Lebens, der eigenen Familie und Freunde ab.
Das Aufbewahren dieser Bilder ist aber nicht ganz einfach. Apple, Google und Microsoft machen es schön einfach, alle Bilder zu speichern, zu katalogisieren, durchsuchbar zu machen und nie mehr zu vergessen.
Praktisch ist das zwar, aber dadurch machen wir uns abhängig, genau diese emotionalen Teile unseres Lebens nicht selber in der eigenen Hand zu haben.
Am 02.08.2026 möchten wir miteinander Alternativen erforschen. Der Markt gibt nämlich schon einiges her wie z.B. Immich, Photo Prism, Piwigo oder Nextcloud, was auch bei einigen Personen im Chaos bereits mit Begeisterung viel verwendet wird. Diese Erfahrungen möchten wir mit euch teilen und gemeinsam erarbeiten, wie welche Alternative auch für euch gut funktionieren kann.
Es ist keine Anmeldung erforderlich.

View file

Before

Width:  |  Height:  |  Size: 1 MiB

After

Width:  |  Height:  |  Size: 1 MiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Before After
Before After

View file

@ -1,10 +0,0 @@
---
title: "Über uns"
date: 2026-06-13T00:00:00-02:00
draft: false
headless: true
---
Wir sind der Chaos Computer Club der Hansestadt Hamburg:
Eine Gruppe von Menschen, die ein Interesse am kreativen Umgang mit Technik teilen.
Unsere Gesprächsthemen und Projekte reichen von Soft- und Hardware zu Datenschutz und Netzpolitik.

View file

@ -0,0 +1,10 @@
---
title: "Crypto-Gruppe"
draft: false
headless: true
type: card
image: cryptoparty-300x100.png
link: https://wiki.hamburg.ccc.de/club:cryptogruppe:start
---
Die Cryptogruppe befasst sich mit digitaler Selbstverteidigung und veranstaltet u.a. Cryptoparties in Hamburg.

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 877 KiB

After

Width:  |  Height:  |  Size: 877 KiB

Before After
Before After

View file

@ -1,10 +0,0 @@
---
title: "Digitale Selbstverteidigung"
draft: false
headless: true
type: card
#image: cryptoparty-300x100.png
link: https://wiki.hamburg.ccc.de/club:cryptogruppe:start
---
Die Gruppe befasst sich mit Datenschutz, Verschlüsselung, Backup-Strategien und vielem mehr.

View file

@ -1,10 +0,0 @@
---
title: "Netzpolitischer Abend"
draft: false
headless: true
type: card
# image: TODO
link: https://wiki.hamburg.ccc.de/club:cryptogruppe:start
---
Wir diskutieren mit Menschen aus der Region über netzpolitische Fragestellungen, z. B. die Digitalisierung der Hamburger Verwaltung, neue Überwachung und Polizeibefugnisse, oder die Auswirkungen von KI auf das Leben in Hamburg.

View file

@ -1,10 +0,0 @@
---
title: "Selfhosting Usergroup"
draft: false
headless: true
type: card
# image: TODO
link: https://wiki.hamburg.ccc.de/club:selfhosting:start
---
Wer seine eigenen (Heim-)Server betreiben möchte, und hinter die Kulissen der grafischen Oberflächen schauen möchte, ist hier richtig.

View file

@ -1,10 +0,0 @@
---
title: "Funkamateure"
draft: false
headless: true
type: card
# image: TODO
link: https://wiki.hamburg.ccc.de/club:amateurfunk:start
---
Kreativer Umgang mit Technik? Machen die Funkamateure seid über 100 Jahren, und natürlich auch bei uns im CCCHH.

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Before After
Before After

View file

@ -1,3 +1,4 @@
{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
{{- $authorEmail := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
@ -5,8 +6,14 @@
{{- $authorEmail = . }}
{{- end }}
{{- end }}
{{- else }}
{{- with site.Author.email }}
{{- $authorEmail = . }}
{{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
{{- end }}
{{- end }}
{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
{{- $authorName := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
@ -16,6 +23,11 @@
{{- else }}
{{- $authorName = . }}
{{- end }}
{{- else }}
{{- with site.Author.name }}
{{- $authorName = . }}
{{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
{{- end }}
{{- end }}
{{- $pctx := . }}
@ -36,12 +48,12 @@
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }}</description>
<generator>Hugo</generator>
<language>{{ site.Language.LanguageCode }}</language>{{ with $authorEmail }}
<generator>Hugo -- gohugo.io</generator>
{{ with $authorEmail }}
<managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }}
<webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with .Site.Copyright }}
<copyright>{{ . }}</copyright>{{ end }}{{ if not .Date.IsZero }}
<lastBuildDate>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{- with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end }}
@ -57,7 +69,7 @@
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }}
<guid>{{ .Permalink }}</guid>
<description>{{ .Content | transform.XMLEscape | safeHTML }}</description>
<description>{{ .Content | html }}</description>
</item>
{{- end }}
</channel>

View file

@ -7,14 +7,9 @@
{{- $events := where (.Site.GetPage "blog").Pages ".Params.categories" "event" }}
{{- $lookback := time.ParseDuration "-6h" }}
{{- $upcoming := where $events ".Params.date" "ge" (time.Now.Add $lookback) }}
{{- $article := where (.Site.GetPage "blog").Pages ".Params.categories" "article" }}
{{- $articleDisplayTime := time.ParseDuration "-126h" }}
{{- $articleNew := where $article ".Params.publishDate" "ge" (time.Now.Add $articleDisplayTime) }}
{{ if or $upcoming $articleNew }}
{{ if $upcoming }}
<div class="announcements">
<h2 id="aktuell" class="on-hover-trg">Aktuell <a href="#aktuell" class="on-hover"><i class="fa-solid fa-link small"></i></a></h2>
<h2 id="neuigkeiten" class="on-hover-trg">Neuigkeiten <a href="#neuigkeiten" class="on-hover"><i class="fa-solid fa-link small"></i></a></h2>
{{- range $upcoming.ByDate }}
<div class="announcement">
{{- partial "blog-header.html" (dict "headingLink" true "level" 4 "reduced" true "page" . ) }}
@ -29,8 +24,16 @@
{{- end }}
</div>
{{- end }}
</div>
{{- end }}
{{- range $articleNew.ByDate.Reverse }}
{{- $article := where (.Site.GetPage "blog").Pages ".Params.categories" "article" }}
{{- $articleDisplayTime := time.ParseDuration "-30h" }}
{{- $articleNew := where $article ".Params.publishDate" "ge" (time.Now.Add $articleDisplayTime) }}
{{ if $articleNew }}
<div class="announcements">
<h2 id="neuigkeiten" class="on-hover-trg">Neuigkeiten <a href="#neuigkeiten" class="on-hover"><i class="fa-solid fa-link small"></i></a></h2>
{{- range $articleNew.ByDate }}
<div class="announcement">
{{- partial "blog-header.html" (dict "headingLink" true "level" 4 "reduced" true "page" . ) }}
@ -44,7 +47,6 @@
{{- end }}
</div>
{{- end }}
<p>Wir pflegen ein <a href="blog">Archiv aller Neuigkeiten</a>.</p>
</div>
{{- end }}

View file

@ -14,12 +14,7 @@
{{- end }}
<div class="infos">
{{- if (eq .Params.categories "event") }}
<span class="li-space"><i class="fa-solid fa-calendar-day"></i> {{ .Date | time.Format "Mon, 2006-01-02 15:04" }}</span>
{{- else }}
<span class="li-space"><i class="fa-solid fa-newspaper"></i> {{ .Date | time.Format "2006-01-02" }}</span>
{{- end }}
{{- if (eq .Params.categories "event") }}
{{- with .Params.location }}
<span class="li-space">
<i class="fa-solid fa-location-dot"></i>
@ -30,7 +25,6 @@
{{- end -}}
</span>
{{- end }}
{{- end }}
{{- if $showTags }}
{{- with .Page.GetTerms "tags" }}
<span class="li-space"><i class="fa-solid fa-tag"></i>