diff --git a/content/blog/2025-03-lwn-burden-of-knowledge.md b/content/blog/2025-03-lwn-burden-of-knowledge.md
index c7edee7..b68b92f 100644
--- a/content/blog/2025-03-lwn-burden-of-knowledge.md
+++ b/content/blog/2025-03-lwn-burden-of-knowledge.md
@@ -3,7 +3,7 @@ title: "The burden of knowledge: dealing with open-source risks"
date: 2025-03-10
categories:
- english
- - news
+ - article
tags:
- OSPO
- Community
diff --git a/content/blog/2025-12-openrailday-moderation/index.md b/content/blog/2025-12-openrailday-moderation/index.md
index cd34fa5..e5f57da 100644
--- a/content/blog/2025-12-openrailday-moderation/index.md
+++ b/content/blog/2025-12-openrailday-moderation/index.md
@@ -18,5 +18,3 @@ event:
---
I had the pleasure to moderate the OpenRail Day 2025 in Paris, organised by the [OpenRail Association](https://openrailassociation.org) to share knowledge and experiences about open source software in the railway industry. The event featured several talks and panel discussions with experts from different companies and organisations involved in open source projects related to railways.
-
-
diff --git a/themes/hugo-sustain/assets/scss/default.scss b/themes/hugo-sustain/assets/scss/default.scss
index 7c033e4..0c640bf 100755
--- a/themes/hugo-sustain/assets/scss/default.scss
+++ b/themes/hugo-sustain/assets/scss/default.scss
@@ -336,6 +336,10 @@ pre code {
}
}
+ h4 span {
+ cursor: default;
+ }
+
h1,
h4 a {
color: var(--primary-color-dark);
diff --git a/themes/hugo-sustain/layouts/_default/list.html b/themes/hugo-sustain/layouts/_default/list.html
index 2ba3dce..01d6bda 100644
--- a/themes/hugo-sustain/layouts/_default/list.html
+++ b/themes/hugo-sustain/layouts/_default/list.html
@@ -63,7 +63,7 @@
{{ range .Paginator.Pages.ByPublishDate.Reverse }}
- {{- partial "blog/pre-headline.html" . -}}
+ {{ partial "blog/pre-headline.html" . -}}
{{ .Title | markdownify }}
diff --git a/themes/hugo-sustain/layouts/partials/blog/headerimage.html b/themes/hugo-sustain/layouts/partials/blog/headerimage.html
index f8bf0de..45f44a2 100644
--- a/themes/hugo-sustain/layouts/partials/blog/headerimage.html
+++ b/themes/hugo-sustain/layouts/partials/blog/headerimage.html
@@ -1,15 +1,21 @@
{{- $page := . -}}
+{{- $image := "" }}
{{- with $page.Params.headerimage }}
{{- end }}
diff --git a/themes/hugo-sustain/layouts/partials/blog/pre-headline.html b/themes/hugo-sustain/layouts/partials/blog/pre-headline.html
index e52ecaf..b76c19a 100644
--- a/themes/hugo-sustain/layouts/partials/blog/pre-headline.html
+++ b/themes/hugo-sustain/layouts/partials/blog/pre-headline.html
@@ -1,9 +1,13 @@
{{- $cats := .Page.Params.categories }}
-{{- $symbols := dict "news" "🗞️" "presentation" "🎤" "podcast" "🎧" }}
-{{- $selection := "" }}
+{{- $symbols := dict "article" "🗞️" "presentation" "🎤" "podcast" "🎧" }}
+{{- $icon := "" }}
+{{- $title := "" }}
{{- range $cat := $cats }}
{{- with index $symbols $cat }}
- {{- $selection = (printf "%s " .) | safeHTML }}
+ {{- $icon = . }}
+ {{- $title = $cat | humanize }}
{{- end }}
{{- end }}
-{{- return $selection }}
+{{- with $icon }}
+{{ $icon }}
+{{- end -}}
diff --git a/themes/hugo-sustain/layouts/partials/blog/verb.html b/themes/hugo-sustain/layouts/partials/blog/verb.html
index ccd05c2..917f3ff 100644
--- a/themes/hugo-sustain/layouts/partials/blog/verb.html
+++ b/themes/hugo-sustain/layouts/partials/blog/verb.html
@@ -1,5 +1,5 @@
{{- $cats := .Page.Params.categories }}
-{{- $symbols := dict "news" "Article published" "presentation" "Presentation given" "podcast" "Podcast released" }}
+{{- $symbols := dict "article" "Article published" "presentation" "Presentation given" "podcast" "Podcast released" }}
{{- $selection := "" }}
{{- range $cat := $cats }}
{{- with index $symbols $cat }}
diff --git a/themes/hugo-sustain/layouts/partials/image-processing.html b/themes/hugo-sustain/layouts/partials/image-processing.html
new file mode 100644
index 0000000..0203632
--- /dev/null
+++ b/themes/hugo-sustain/layouts/partials/image-processing.html
@@ -0,0 +1,32 @@
+{{- /* Expects .image (resolved image resource), optionally .processes and .filter */}}
+{{- $image := .image }}
+{{- range .processes }}
+ {{- $image = $image.Process . }}
+{{- end }}
+{{- with .filter }}
+ {{- $filters := slice }}
+ {{- range . }}
+ {{- range $method, $args := . }}
+ {{/* No, this cannot be generalised, as strings cannot be converted to functions... */}}
+ {{- if eq $method "GaussianBlur" }}
+ {{- $filters = $filters | append (images.GaussianBlur $args) }}
+ {{- else if eq $method "Brightness" }}
+ {{- $filters = $filters | append (images.Brightness $args) }}
+ {{- else if eq $method "Opacity" }}
+ {{- $filters = $filters | append (images.Opacity $args) }}
+ {{- else if eq $method "Pixelate" }}
+ {{- $filters = $filters | append (images.Pixelate $args) }}
+ {{- else if eq $method "Saturation" }}
+ {{- $filters = $filters | append (images.Saturation $args) }}
+ {{- else if eq $method "Sepia" }}
+ {{- $filters = $filters | append (images.Sepia $args) }}
+ {{- else if eq $method "Grayscale" }}
+ {{- $filters = $filters | append images.Grayscale }}
+ {{- else }}
+ {{- warnf "Unsupported filter: %s" $method }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- $image = $image.Filter $filters }}
+{{- end }}
+{{- return $image }}