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. - -![](openrailday-stage.jpg) 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 }}
{{- if eq $page.BundleType "leaf" }} {{- with $page.Resources.GetMatch .src }} - + {{- $image = . }} {{- end }} {{- else }} {{- with resources.GetMatch (printf "**/%s" .src) }} - + {{- $image = . }} {{- end }} {{- end }} + {{- $processes := .processes | default (slice "fill 1000x440 webp" )}} + {{- $image = partial "image-processing" (dict "image" $image "processes" $processes "filter" .filter) -}} + {{- with $image }} + + {{- end }} {{- with .text }}

{{ . | markdownify }}

{{ end }}
{{- 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 }}