citra-web/site/themes/citra-bs-theme/layouts/shortcodes/figure.html
liushuyu 8e9b406e71 tree-wide: adapt to latest Hugo layout ...
* Use Hugo to process SCSS and images
* Use co-location page bundles
* Use Hugo/ESBuild to minify JS files
* Update NPM dependencies
2023-02-10 08:50:35 -07:00

32 lines
1.5 KiB
HTML

{{ $type := index .Params "type" }}
<figure {{ if eq (.Get "size") "large" }}style="padding: 20px 0px;"{{ end }}>
{{ if eq $type "youtube" }}
{{/* copy pasted from hugo source code */}}
<div {{ if .Get "class" }}class="{{ .Get "class" }}"{{ else }}style="position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;"{{ end }}>
<iframe src="//www.youtube.com/embed/{{ .Get "id" }}?{{ with .Get "autoplay" }}{{ if eq . "true" }}autoplay=1{{ end }}{{ end }}"
{{ if not (.Get "class") }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" {{ end }}allowfullscreen frameborder="0" title="YouTube Video"></iframe>
</div>
{{ else }}
{{ $src := .Get "src" }}
{{ $split_src := split $src "." }}
{{ $extension := index $split_src (sub (len $split_src) 1) }}
{{- if eq $extension "png" -}}
{{ $originals := (.Page.Resources.ByType "image") }}
{{ $original := $originals.GetMatch (printf "*%s" (path.Base $src)) }}
{{ $resized_width := math.Min $original.Width 1024 }}
{{ $resized := $original.Resize (print $resized_width "x q90 jpg" ) }}
<img src="{{ $resized.Permalink }}" {{ with .Get "alt" }}alt="{{ . }}"{{ end }} />
{{- else -}}
<img src="{{ $src }}" {{ with .Get "alt" }}alt="{{ . }}"{{ end }} />
{{- end -}}
{{ end }}
{{ with .Get "title" }}
<figcaption>
<h4>
{{ . | markdownify }}
</h4>
</figcaption>
{{ end }}
</figure>