docs/layouts/shortcodes/detailsofhardware.html

201 lines
4.8 KiB
HTML

{{ $hw := .Page.Params.hardware }}
<h3>Datenblatt</h3>
{{ with $hw }}
<table>
<tbody>
<tr>
<td>Bezeichnung</td>
<td>{{ .manufacturer }} {{ .model }}</td>
</tr>
<tr>
<td>Empfohlen</td>
<td>{{ cond .recommended (emojify ":heavy_check_mark:") (emojify ":x:") }}</td>
</tr>
<tr>
<td>SoC</td>
<td>{{ .chip }}</td>
</tr>
<tr>
<td>CPU</td>
<td>{{ .cores }} Core {{ .threads }} Threads @ {{ .clock }} MHz</td>
</tr>
<tr>
<td>RAM</td>
<td>{{ div .ram 1024 }}MiB</td>
</tr>
<tr>
<td>Flash</td>
<td>{{ div .flash 1024 }}MiB</td>
</tr>
{{ with .serial }}
<tr>
<td>Serielle Schnittstelle</td>
<td>{{ delimit . ", " }}</td>
</tr>
{{ end }}
</tbody>
</table>
{{ end }}
{{ with $hw.interface }}
<h3>Schnittstellen</h3>
{{ $wired := where . "type" "in" (slice "rj45" "sfp") }}
{{ with $wired }}
<h4>Kabelgebunden</h4>
<table>
<thead>
<tr>
<th></th>
{{ range . -}}
<th>{{ .dev }}</th>
{{ end }}
</tr>
</thead>
<tbody>
<tr>
<th>Typ</th>
{{ range . -}}
<td>{{ .speed }}Mbps {{ .type | upper }}</td>
{{ end }}
</tr>
{{ if where . ".features" "intersect" (slice "24V" "802.3af" "802.3at" "PD") }}
<tr>
<th>PoE</th>
{{ range . -}}
<td>{{ delimit (intersect .features (slice "24V" "802.3af" "802.3at" "PD")) ", " }}</td>
{{ end }}
</tr>
{{ end }}
{{ if where . ".features" "intersect" (slice "dsa") }}
<tr>
<th>DSA Port</th>
{{ range . -}}
<td>{{ cond (in .features "dsa") (emojify ":heavy_check_mark:") "" }}</td>
{{ end }}
</tr>
{{ end }}
{{ if where . "roleL3" "!=" nil }}
<tr>
<th>Belegung L3</th>
{{ range . -}}
<td>{{ echoParam . "roleL3" }}</td>
{{ end }}
</tr>
{{ end }}
{{ if where . "roleNode" "!=" nil }}
<tr>
<th>Belegung Node</th>
{{ range . -}}
<td>{{ echoParam . "roleNode" }}</td>
{{ end }}
</tr>
{{ end }}
</tbody>
</table>
{{ end }}
{{ $wireless := where $hw.interface "type" "in" (slice "2ghz" "5ghz") }}
{{ with $wireless }}
<h4>Wireless</h4>
<table>
<thead>
<tr>
<th></th>
{{ range . -}}
<th>{{ .dev }}</th>
{{ end }}
</tr>
</thead>
<tbody>
{{ if where . ".features" "intersect" (slice "bg" "n" "ac" "ax") }}
<tr>
<th>Standard</th>
{{ range . -}}
<td>{{ delimit (intersect .features (slice "bg" "n" "ac" "ax")) ", " }}</td>
{{ end }}
</tr>
{{ end }}
{{ if where . ".speed" "!=" nil }}
<tr>
<th>Datenrate</th>
{{ range . -}}
<td>{{ echoParam . "speed" }} Mbit/s</td>
{{ end }}
</tr>
{{ end }}
</tbody>
</table>
{{ end }}
{{ end }}
{{ with $hw.benchmark }}
<h4>Benchmarks</h4>
<table>
<thead>
<tr>
<th>Benchmark</th>
<th>Messung</th>
</tr>
</thead>
<tbody>
{{ range $b, $m := . }}
<tr>
<td>{{ $b }}</td>
<td>{{ $m }}</td>
</tr>
{{ end }}
</tbody>
</table>
{{ end }}
{{ with $hw.firmware }}
<h3>Firmware Download</h3>
{{ range . }}
<h4>{{ .usage }} - "{{ .type }}"</h4>
<table>
<tr>
<td>Layer 3</td>
<td><a href="https://dev.freifunk-franken.de/layer3/{{ $.Site.Params.FirmwareVersion }}/fff-layer3-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentL3 }}">fff-layer3-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentL3 }}</a></td>
</tr>
<tr>
<td>Node</td>
<td><a href="https://dev.freifunk-franken.de/node/{{ $.Site.Params.FirmwareVersion }}/fff-node-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentNode }}">fff-node-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentNode }}</a></td>
</tr>
</table>
{{ end }}
{{ end }}
{{ with $hw.firmware }}
<h3>Firmware Download</h3>
<table>
<thead>
<tr>
<th>Verwendung</th>
<th>Layer 3</th>
<th>Node</th>
</tr>
</thead>
<tbody>
{{ range . }}
<tr>
<th>{{ .usage }}<br>"{{ .type }}"</th>
<td><a href="https://dev.freifunk-franken.de/layer3/{{ $.Site.Params.FirmwareVersion }}/fff-layer3-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentL3 }}">fff-layer3-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentL3 }}</a></td>
<td><a href="https://dev.freifunk-franken.de/node/{{ $.Site.Params.FirmwareVersion }}/fff-node-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentNode }}">fff-node-{{ $.Site.Params.FirmwareVersion }}-{{ .fragmentNode }}</a></td>
</tr>
{{ end }}
</tbody>
</table>
{{ end }}
<!-- test -->
<h2>debug :)</h2>
{{ template "treeview" .Page.Params.hardware }}
{{ define "treeview" }}
<ul>
{{ range $k, $v := . }}
<li>{{ $k }}
{{ if (or (reflect.IsMap $v) (reflect.IsSlice $v)) }}{{ template "treeview" $v }}{{ else }}{{ $v }}{{end}}
</li>
{{ end }}
</ul>
{{ end }}
{{ highlight (jsonify (dict "indent" "\t") .Page.Params.hardware) "json" }}