{{/* Renders a single event, given: * `event_name`: the name to use for the event * `event_data`: the event specification * `desired_example_name` (optional): the exact name of the examples to render. If `desired_example_name` is omitted we render all examples whose names start with the `event_name`. * `title` (optional): the title to display. May contain markdown. Defaults to `event_name` wrapped in a element */}} {{ $event_name := .event_name }} {{ $desired_example_name := .desired_example_name }} {{ $event_data := .event_data }}

{{ with .title }}{{ $.title | markdownify }}{{ else }}{{ $event_name }}{{ end }}


{{ if (index $event_data "x-addedInMatrixVersion") }} {{ partial "added-in" (dict "v" (index $event_data "x-addedInMatrixVersion")) }} {{ end }} {{ if (index $event_data "x-changedInMatrixVersion") }} {{ partial "changed-in" (dict "changes_dict" (index $event_data "x-changedInMatrixVersion")) }} {{ end -}} {{ $event_data.description | markdownify }}
{{ $state_key := index $event_data.properties "state_key" }} {{ if $state_key }} {{ end }}
Event type: {{ if $state_key }}State event{{ else }}Message event{{ end }}
State key {{ $state_key.description | markdownify }}

Content

{{ $anchor_base := anchorize $event_name }} {{ $additional_types := partial "json-schema/resolve-additional-types" (dict "schema" $event_data.properties.content "anchor_base" $anchor_base) }} {{ range $additional_types }} {{ partial "openapi/render-object-table" . }} {{end}}

Examples

{{ $all_examples := index site.Data "event-schemas" "examples" }} {{ range $example_name, $example := $all_examples }} {{/* This is to allow the msgtype template to work. It lets callers specify exactly the name of the example they want */}} {{ if $desired_example_name }} {{ if eq $example_name $desired_example_name }} {{ partial "events/example" (dict "example" $example)}} {{ end }} {{ else if eq $event_name $example_name }} {{ partial "events/example" (dict "example" $example)}} {{/* If `$desired_example_name` is not given, we will include any examples whose first part (before "$") matches the event name */}} {{ else }} {{ $pieces := split $example_name "$" }} {{ $example_base_name := index $pieces 0 }} {{ if eq $event_name $example_base_name }} {{ partial "events/example" (dict "example" $example)}} {{ end }} {{ end }} {{ end }}