mirror of
https://git.sr.ht/~ashkeel/strimertul-website
synced 2024-12-21 23:12:19 +00:00
117 lines
3.4 KiB
HTML
117 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 }}
|