matrix-spec/layouts/_shortcodes/event-group.html
Kévin Commaille f7f641aae7
Move and update layouts
A big change for template paths landed in Hugo 0.146.0.

In `layouts`, we:

- remove `_default` and move everything in it directly under `layouts`
- rename `partials` and `shortcodes` to `_partials` and `_shortcodes`
- adapt to Hugo and docsy changes about the render-heading hook.
  We don't need a copy of the heading self-link template now that it is
  defined as a partial.
- update `docs/baseof.html` to match a change upstream
- split `docs/changelog.html` because it doesn't work for the section
  page anymore. We create a `changelog-index` layout for this.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-09 10:44:27 +02:00

38 lines
1.2 KiB
HTML

{{/*
This template is used to render a group of events starting with a given prefix.
It expects to be passed a `group_name` parameter. For example:
{{% event-group group_name="m.call" %}}
The template will then render all events whose schema starts with the given name.
This template replaces the old {{*_events}} template.
*/}}
{{ $base_path := "event-schemas/schema" }}
{{ $group_name := .Params.group_name }}
{{/* Filter events and prepare them for sorting */}}
{{ $events := slice }}
{{ range $event_name, $event_data := index .Site.Data "event-schemas" "schema" }}
{{ $prefix := substr $event_name 0 (len $group_name) }}
{{ if eq $prefix $group_name }}
{{ $events = $events | append (dict "event_name" $event_name "event_data" $event_data) }}
{{ end }}
{{ end }}
{{/* Render the events sorted by x-weight */}}
{{ range sort $events "event_data.x-weight" }}
{{ $path := delimit (slice $base_path .event_name) "/" }}
{{ $event_data := partial "json-schema/resolve-refs" (dict "schema" .event_data "path" $path) }}
{{ $event_data := partial "json-schema/resolve-allof" $event_data }}
{{ partial "events/render-event" (dict "event_name" .event_name "event_data" $event_data)}}
{{ end }}