Merge pull request #1283 from uhoreg/fix_event_subtype
improve display of event subtypes
This commit is contained in:
commit
82d2dd4ab0
7 changed files with 53 additions and 22 deletions
17
layouts/partials/events/example.html
Normal file
17
layouts/partials/events/example.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{{/*
|
||||
|
||||
Renders an event example. Resolves `$ref`s, serializes as JSON, and ensures
|
||||
that it can be included in HTML.
|
||||
|
||||
This partial is called with the example event object as its context.
|
||||
|
||||
*/}}
|
||||
|
||||
{{ $example_content := partial "json-schema/resolve-refs" (dict "schema" . "path" "event-schemas/examples") }}
|
||||
{{ $example_json := jsonify (dict "indent" " ") $example_content }}
|
||||
{{ $example_json = replace $example_json "\\u003c" "<" }}
|
||||
{{ $example_json = replace $example_json "\\u003e" ">" | safeHTML }}
|
||||
|
||||
```json
|
||||
{{ $example_json }}
|
||||
```
|
|
@ -2,11 +2,13 @@
|
|||
|
||||
Renders a single event, given:
|
||||
|
||||
* `event_name`: the name we want to display for the event
|
||||
* `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 <code> element.
|
||||
|
||||
*/}}
|
||||
|
||||
|
@ -20,7 +22,7 @@
|
|||
<summary>
|
||||
|
||||
<h1 id="{{ anchorize $event_name }}">
|
||||
<code>{{ $event_name }}</code>
|
||||
{{ with .title }}{{ . | markdownify }}{{ else }}<code>{{ $event_name }}</code>{{ end }}
|
||||
</h1>
|
||||
|
||||
<hr/>
|
||||
|
@ -72,11 +74,16 @@
|
|||
*/}}
|
||||
{{ if $desired_example_name }}
|
||||
{{ if eq $example_name $desired_example_name }}
|
||||
{{ $example_content := partial "json-schema/resolve-refs" (dict "schema" $example "path" "event-schemas/examples") }}
|
||||
```json
|
||||
{{ jsonify (dict "indent" " ") $example_content }}
|
||||
```
|
||||
{{ partial "events/example" $example }}
|
||||
{{ end }}
|
||||
{{/*
|
||||
If `$desired_example_name` is not given, we will include any
|
||||
example that is equal to the event name. Normally, this would
|
||||
be handled by the case below, but that case does not work if
|
||||
the event name includes a "$".
|
||||
*/}}
|
||||
{{ else if eq $event_name $example_name }}
|
||||
{{ partial "events/example" $example }}
|
||||
{{/*
|
||||
If `$desired_example_name` is not given, we will include any
|
||||
examples whose first part (before "$") matches the event name
|
||||
|
@ -86,14 +93,7 @@
|
|||
{{ $pieces := split $example_name "$" }}
|
||||
{{ $example_base_name := index $pieces 0 }}
|
||||
{{ if eq $event_name $example_base_name }}
|
||||
{{ $example_content := partial "json-schema/resolve-refs" (dict "schema" $example "path" "event-schemas/examples") }}
|
||||
{{ $example_json := jsonify (dict "indent" " ") $example_content }}
|
||||
{{ $example_json = replace $example_json "\\u003c" "<" }}
|
||||
{{ $example_json = replace $example_json "\\u003e" ">" | safeHTML }}
|
||||
|
||||
```json
|
||||
{{ $example_json }}
|
||||
```
|
||||
{{ partial "events/example" $example }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -2,10 +2,23 @@
|
|||
|
||||
This template is used to render an event.
|
||||
|
||||
It expects to be passed an `event` parameter, which is the name of a schema file under
|
||||
"data/event-schemas/schema". The file extension is omitted. For example:
|
||||
It takes the following parameters:
|
||||
|
||||
{{% event event="m.accepted_terms" %}}
|
||||
* `event` (required): the name of a schema file under "data/event-schemas/schema".
|
||||
The file extension is omitted. For example:
|
||||
|
||||
{{% event event="m.accepted_terms" %}}
|
||||
|
||||
* `desired_example_name` (optional): the name of the example file to use under
|
||||
"data/event-schemas/examples", without the file extension. If omitted
|
||||
defaults to the example file with the same name as the `event` parameter, and
|
||||
(if the name does not contain a "$"), all examples that begin with the name
|
||||
given by the `event` parameter followed by a "$". For example, if the
|
||||
`event` parameter is "m.foo", then by default it will include the "m.foo"
|
||||
example along with any examples starting with "m.foo$".
|
||||
|
||||
* `title` (optional): the title to use for the event. Defaults to the name
|
||||
given in the `event` parameter.
|
||||
|
||||
This template replaces the old {{*_event}} template.
|
||||
|
||||
|
@ -17,4 +30,4 @@
|
|||
{{ $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" .Params.event "event_data" $event_data)}}
|
||||
{{ partial "events/render-event" (dict "event_name" .Params.event "event_data" $event_data "desired_example_name" .Params.desired_example_name "title" .Params.title)}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue