1
0
Fork 0
mirror of https://git.sr.ht/~ashkeel/strimertul-website synced 2024-12-21 23:12:19 +00:00
strimertul-website/layouts/api/single.html
2023-03-06 17:01:31 +01:00

116 lines
3.4 KiB
HTML

{{ define "schema" }}
{{ with .description }}<blockquote>{{ . }}</blockquote>{{ end }}
<code>
{{ with .element }}
{{ with $.name }}
<div class="nameblock"><span class="name">{{ . }}</span>:</div>
{{ end }}
{{ if (eq $.kind "array") }}
<span class="kind {{ $.kind }}">arrayOf</span> [
{{ template "schema" . }}
]
{{ end }}
{{ if (eq $.kind "dictionary") }}
<span class="kind {{ $.kind }}">dictionary</span>
<div class="dict">
<
<span class="key">
<span class="kind {{ $.key.kind }}">{{ $.key.name }}</span></span
>, <span class="element">{{ template "schema" . }}</span>>
</div>
{{ end }}
{{ else }}
{{ if (eq .name .kind) }}
<span class="kind {{ $.kind }}">{{ .kind }}</span>
{{ else }}
{{ with .name }}
<div class="nameblock">
<span class="name">{{ . }}</span>{{ if $.isPointer }}
<abbr class="pointer" title="Optional, might not be in the object"
>*</abbr
>
{{ end }}:
</div>
{{ end }}
{{ if (eq $.kind "enum") }}
<span class="kind {{ $.kind }}">enum</span> (
{{ with $.enumValues }}{{ delimit . " | " }}{{ end }}
)
{{ else }}
<span class="kind {{ $.kind }}">{{ .kind }}</span>
{{ end }}
{{ end }}
{{ with .keys }}
{
{{ range . }}
<ul>
<li>{{ template "schema" . }}</li>
</ul>
{{ end }}
}
{{ end }}
{{ end }}
</code>
{{ end }}
{{ define "main" }}
{{ $datafile := index .Site.Data.api .Params.version }}
{{ $keys := $datafile.api }}
<main class="apidocs">
<nav>
<header>API version</header>
<select id="api-version">
{{ $currentPage := . }}
{{ range $.Site.Menus.apiversions }}
<option
value="{{ .URL }}"
{{ if $currentPage.IsMenuCurrent "apiversions" . }}selected{{ end }}
>
{{ .Title }}
</option>
{{ end }}
</select>
<header>Kilovolt keys</header>
<ul>
{{ range $key, $spec := $keys }}
<li>
<a href="#{{ anchorize $key | safeURL }}" class="monotitle"
>{{ $key }}</a
>
</li>
{{ end }}
</ul>
</nav>
<div class="doc">
<section class="copy">
<header><h1>strimertül {{ .Title }} API</h1></header>
{{ .Content }}
</section>
<section class="reference">
{{ range $key, $spec := $keys }}
<article class="api" id="{{ anchorize $key | safeURL }}">
<header>
<h3>
<a href="#{{ anchorize $key | safeURL }}" class="heading-anchor"
>#</a
>
<span class="monotitle">{{ $key }}</span> {{ range .tags }}
<span class="tag {{ . }}">{{ . }}</span>
{{ end }}
</h3>
{{ with .description }}
<div class="description">{{ . }}</div>
{{ end }}
{{ with .schema }}
<div class="schema">
{{ template "schema" . }}
</div>
{{ end }}
</header>
</article>
{{ end }}
</section>
</div>
</main>
<script async defer src="/script/apiselector.js"></script>
{{ end }}