diff --git a/layouts/shortcodes/json-schema.html b/layouts/shortcodes/json-schema.html new file mode 100644 index 00000000..632ed03d --- /dev/null +++ b/layouts/shortcodes/json-schema.html @@ -0,0 +1,46 @@ +{{/* + + This template is used to render the fields of a JSON schema that is not an + event. + + It expects to be passed a `name` parameter, which is the name of a file + under /data/schemas. The file extension is omitted. + + For example: + + {{% json-schema name="oauth2-client-metadata" %}} + +*/}} + +{{ $schema := index .Site.Data "schemas" .Params.name }} +{{ $path := delimit (slice "schemas" .Params.name) "/" }} + +{{ $schema = partial "json-schema/resolve-refs" (dict "schema" $schema "path" $path) }} +{{ $schema = partial "json-schema/resolve-allof" $schema }} + +
+ +
+ + +

+ {{ $schema.title }} +

+
+ +
+ +{{ if $schema.description -}} + {{ $schema.description | markdownify -}} +{{ end -}} + +{{ $schema = merge $schema (dict "title" "") -}} + +{{ $additional_types := partial "json-schema/resolve-additional-types" (dict "schema" $schema) -}} +{{ range $additional_types -}} + {{ partial "openapi/render-object-table" . -}} +{{ end -}} + +
+ +