diff --git a/README.md b/README.md index 9a104206..87d71149 100644 --- a/README.md +++ b/README.md @@ -638,6 +638,90 @@ Parameters: It has the other parameters of the `paige/figure` shortcode. +### Vimeo + +The `paige/vimeo` shortcode provides a responsive Vimeo video. + +``` +{{< paige/vimeo + autopause=true + autoplay=false + background=false + byline=true + color="00adef" + controls=true + description="My description" + dnt=false + fullscreen=true + keyboard=true + loop=false + muted=false + pip=false + playsinline=true + portrait=true + quality="auto" + speed=false + texttrack=false + time="1m2s" + title=true + transparent=true + video="644036051" +>}} +``` + +Inner content: None. + +Parameters: + +
+
autopause
+
Optional. Boolean. Enable playing more than one Vimeo video on the same page. Default is true.
+
autoplay
+
Optional. Boolean. Autoplay the video. Default is false.
+
background
+
Optional. Boolean. Autoplay the video. Hide the controls. Loop the video. Mute the video. Default is false.
+
byline
+
Optional. Boolean. Show the author. Default is configured per video.
+
color
+
Optional. String. Hex code. Control color. Default is 00adef.
+
controls
+
Optional. Boolean. Show the controls. Default is true.
+
description
+
Optional. String. Plain text. Screen reader content. Default is Vimeo video.
+
dnt
+
Optional. Boolean. Do not track session data. Default is false.
+
fullscreen
+
Optional. Boolean. Enable full screen. Default is true.
+
keyboard
+
Optional. Boolean. Enable keyboard input. Default is true.
+
loop
+
Optional. Boolean. Loop the video. Default is false.
+
muted
+
Optional. Boolean. Mute the video. Default is false.
+
pip
+
Optional. Boolean. Show the picture-in-picture control. Default is false.
+
playsinline
+
Optional. Boolean. Play inline instead of full screen on mobile devices. Default is true.
+
portrait
+
Optional. Boolean. Show the author's profile image. Default is configured per video.
+
quality
+
Optional. String. The resolution. Must be auto, 240p, 360p, 540p, 720p, 1080p, 2k, or 4k. Default is auto.
+
speed
+
Optional. Boolean. Show the speed controls. Default is false.
+
texttrack
+
Optional. String. Language code and optionally a locale code (e.g. en, en-US). Use the corresponding subtitles. Default is false.
+
time
+
Optional. String. Duration (e.g. 0m, 1m2s). Start time. Default is 0m.
+
title
+
Optional. Boolean. Show the title. Default is configured per video.
+
transparent
+
Optional. Boolean. Use a transparent background instead of a black one. Default is true.
+
video
+
Optional. Position 0. String. Video ID.
+
+ +See [Vimeo documentation](https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Player-parameters-overview) for more detail. + ### YouTube The `paige/youtube` shortcode provides a responsive YouTube video. diff --git a/exampleSite/content/blog/vimeo-shortcode.md b/exampleSite/content/blog/vimeo-shortcode.md new file mode 100644 index 00000000..97cfcc6c --- /dev/null +++ b/exampleSite/content/blog/vimeo-shortcode.md @@ -0,0 +1,87 @@ +--- +categories: [paige] +date: 2023-01-22 +description: Demonstration of the Paige Vimeo shortcode. +tags: [shortcodes, videos] +title: Vimeo Shortcode +--- + +Code: + +```go-text-template +{{}} +``` + +Result: + +{{< paige/vimeo "644036051" >}} + +--- + +Code: + +```go-text-template +{{}} +``` + +Result: + +{{< paige/vimeo video="644036051" >}} + +--- + +Code: + +```go-text-template +{{}} +``` + +Result: + +{{< paige/vimeo + autopause=true + autoplay=false + background=false + byline=true + color="00adef" + controls=true + description="My description" + dnt=false + fullscreen=true + keyboard=true + loop=false + muted=false + pip=false + playsinline=true + portrait=true + quality="auto" + speed=false + texttrack=false + time="1m2s" + title=true + transparent=true + video="644036051" +>}} diff --git a/layouts/shortcodes/paige/vimeo.html b/layouts/shortcodes/paige/vimeo.html new file mode 100644 index 00000000..71ff2b04 --- /dev/null +++ b/layouts/shortcodes/paige/vimeo.html @@ -0,0 +1,106 @@ +{{ $autopause := .Get "autopause" | default true }} +{{ $autoplay := .Get "autoplay" }} +{{ $background := .Get "background" }} +{{ $byline := .Get "byline" | default true }} +{{ $color := .Get "color" }} +{{ $controls := .Get "controls" | default true }} +{{ $description := .Get "title" | default "Vimeo video" }} +{{ $dnt := .Get "dnt" | default .Page.Site.Config.Privacy.Vimeo.EnableDNT }} +{{ $fullscreen := .Get "fullscreen" | default true }} +{{ $keyboard := .Get "keyboard" | default true }} +{{ $loop := .Get "loop" }} +{{ $muted := .Get "muted" }} +{{ $pip := .Get "pip" }} +{{ $playsinline := .Get "playsinline" | default true }} +{{ $portrait := .Get "portrait" }} +{{ $quality := .Get "quality" }} +{{ $speed := .Get "speed" }} +{{ $time := .Get "time" }} +{{ $texttrack := .Get "texttrack" }} +{{ $title := .Get "title" }} +{{ $transparent := .Get "transparent" | default true }} +{{ $video := .Get 0 | default (.Get "video") }} + +{{ $params := slice }} + +{{ if not $autopause }} + {{ $params = $params | append "autopause=0" }} +{{ end }} + +{{ if $autoplay }} + {{ $params = $params | append "autoplay=1" }} +{{ end }} + +{{ if $background }} + {{ $params = $params | append "background=1" }} +{{ end }} + +{{ if and (ne $byline nil) (ne $byline "") }} + {{ $params = $params | append (printf "portrait=%v" (cond $byline 1 0)) }} +{{ end }} + +{{ with $color }} + {{ $params = $params | append (printf "color=%v" .) }} +{{ end }} + +{{ if not $controls }} + {{ $params = $params | append "controls=0" }} +{{ end }} + +{{ if $dnt }} + {{ $params = $params | append "dnt=1" }} +{{ end }} + +{{ if not $keyboard }} + {{ $params = $params | append "keyboard=0" }} +{{ end }} + +{{ if $loop }} + {{ $params = $params | append "loop=1" }} +{{ end }} + +{{ if $muted }} + {{ $params = $params | append "muted=1" }} +{{ end }} + +{{ if $pip }} + {{ $params = $params | append "pip=1" }} +{{ end }} + +{{ if not $playsinline }} + {{ $params = $params | append "playsinline=0" }} +{{ end }} + +{{ if and (ne $portrait nil) (ne $portrait "") }} + {{ $params = $params | append (printf "portrait=%v" (cond $portrait 1 0)) }} +{{ end }} + +{{ with $quality }} + {{ $params = $params | append (printf "quality=%v" .) }} +{{ end }} + +{{ if $speed }} + {{ $params = $params | append "speed=1" }} +{{ end }} + +{{ with $texttrack }} + {{ $params = $params | append (printf "texttrack=%v" .) }} +{{ end }} + +{{ with $time }} + {{ $params = $params | append (printf "#t=%v" .) }} +{{ end }} + +{{ if and (ne $title nil) (ne $title "") }} + {{ $params = $params | append (printf "title=%v" (cond $title 1 0)) }} +{{ end }} + +{{ if not $transparent }} + {{ $params = $params | append "transparent=0" }} +{{ end }} + +{{ $params = delimit ($params | sort | uniq) "&" }} + +
+ +