8e9b406e71
* Use Hugo to process SCSS and images * Use co-location page bundles * Use Hugo/ESBuild to minify JS files * Update NPM dependencies
32 lines
1.5 KiB
HTML
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>
|