Files
HugoBlox-kit/layouts/shortcodes/video.html
T
George Cushen d9ff93a1c2 feat: make media library dir configurable
Move default media library from static/img/ to static/media/ as it can now contain audio, video, and other kinds of media in addition to images.

BREAKING CHANGE:
Either rename your site's static/img/ to static/media/ (and update any references to this folder in your Markdown files);

Or, add `media_dir = "img"` to `params.toml` to continue using the legacy location.
2020-07-29 18:54:28 +01:00

29 lines
955 B
HTML

{{/* Enable video to be loaded from local page dir or media library at `static/media/`. */}}
{{ $path := "" }}
{{ $root_dir := "" }}
{{ $media_dir := $.Scratch.Get "media_dir" }}
{{ if .Get "library" }}
{{ $path = printf "%s/" $media_dir }}
{{ $root_dir = "static/" }}
{{ end }}
{{ $video := printf "%s%s" $path (.Get "src") }}
{{ $video_type := strings.TrimPrefix "." (path.Ext (.Get "src")) }}
{{ if .Get "library" }}
{{ $video = $video | relURL }}
{{ end }}
{{ $poster := printf "%s%s%s" $path (substr (.Get "src") 0 -4) ".jpg" }}
{{ $has_poster := fileExists (printf "%s%s" $root_dir $poster) }}
{{ if and $has_poster (.Get "library") }}
{{ $poster = $poster | relURL }}
{{ else if $has_poster }}
{{ $poster = $poster }}
{{ else }}
{{ $poster = "" }}
{{ end }}
<video {{if (.Get "controls")}}controls{{else}}autoplay loop{{end}} {{with $poster}}poster="{{.}}"{{end}}>
<source src="{{ $video }}" type="video/{{$video_type}}">
</video>