* Remove redundant call to resolve-allof All of the callers to resolve-additional-types already call resolve-allof (or if not, they should), so this is redundant. * Update `resolve-additional-types` to take a dict I want to add more params to this, so first make it take a dict. * `render-object-table`: take a "title" rather than a "caption" ... which means we can use the result from resolve-additional-types directly. * render-object-table: support adding an anchor to generated tables. * resolve-additional-types: generate an id for each returned type * render-event: pass an anchor_base into resolve-additional-types This means that it will generate an anchor for each type, whihc will then be passed into render-object-table and used as an `id` for the table. * render-operation: pass an anchor_base into resolve-additional-types * newsfiles
63 lines
1.7 KiB
HTML
63 lines
1.7 KiB
HTML
{{/*
|
|
|
|
This template is used to render EDUs and PDUs in the server-server and room versions specs.
|
|
|
|
It expects to be passed a `path` parameter, which is a path, relative to /data,
|
|
pointing to a schema file. The file extension is omitted. For example:
|
|
|
|
{{% definition path="api/server-server/definitions/edu" %}}
|
|
|
|
This template replaces the old {{definition_*}} template.
|
|
|
|
*/}}
|
|
|
|
{{ $path := .Params.path }}
|
|
{{ $compact := .Params.compact }}
|
|
{{ $pieces := split $path "/" }}
|
|
|
|
{{/* The definition is referenced by the .path parameter */}}
|
|
{{ $definition := index .Site.Data $pieces }}
|
|
|
|
{{/* The base path, which we use to resolve $ref, omits the last component */}}
|
|
{{ $pieces = first (sub (len $pieces) 1) $pieces}}
|
|
{{ $path = delimit $pieces "/" }}
|
|
|
|
{{/* Resolve $ref and allOf */}}
|
|
{{ $definition = partial "json-schema/resolve-refs" (dict "schema" $definition "path" $path) }}
|
|
{{ $definition = partial "json-schema/resolve-allof" $definition }}
|
|
|
|
<section class="rendered-data definition">
|
|
|
|
<details {{ if not $compact }}open{{ end }}>
|
|
<summary>
|
|
|
|
<h1>
|
|
<code>{{ $definition.title }}</code>
|
|
</h1>
|
|
|
|
<hr/>
|
|
|
|
{{ if (index $definition "x-addedInMatrixVersion") }}
|
|
{{ partial "added-in" (dict "v" (index $definition "x-addedInMatrixVersion")) }}
|
|
{{ end }}
|
|
|
|
{{ $definition.description | markdownify }}
|
|
|
|
</summary>
|
|
|
|
{{ $additional_types := partial "json-schema/resolve-additional-types" (dict "schema" $definition) }}
|
|
{{ $additional_types = uniq $additional_types }}
|
|
|
|
{{ range $additional_types }}
|
|
{{ partial "openapi/render-object-table" . }}
|
|
{{end}}
|
|
|
|
<h2>Examples</h2>
|
|
|
|
{{ $example := partial "json-schema/resolve-example" $definition }}
|
|
|
|
```json
|
|
{{ jsonify (dict "indent" " ") $example }}
|
|
```
|
|
|
|
</section>
|