如何在 hugo 网站中嵌入 YouTube 播放列表
How to embed a YouTube playlist in hugo website
我可以使用下面的代码,{{< youtube hvWSg6NblSU >}}
将 YouTube 视频嵌入 hugo 网站,其中 hvWSg6NblSU 是下面 url 中的值:https://www.youtube.com/watch?v=hvWSg6NblSU
我不想嵌入单个视频,而是想嵌入以下播放列表:https://www.youtube.com/playlist?list=PLDe3_HhjV1foHQbtGpdo0FSmsMrVykuKJ
问题: 有什么方法可以嵌入上面的播放列表。基本上我正在尝试使用 hugo 制作一个页面,它将在 YouTube 上显示播放列表。
在以下 link:https://naresh-chaurasia.github.io/talk2naresh/course/python-kids/ 中,我只有一个 YouTube 视频,但想使用 hugo 添加 link 到整个播放列表。可以吗
虽然我可以为播放列表创建 hyperlink,但我想显示 YouTube 播放列表。
谢谢。
built-in youtube 短代码不支持它。
您可以为播放列表创建一个新的 YouTube 短代码。
步骤
- 创建:
/layouts/shortcodes/youtubepl.html
- 在该文件中放置以下内容:(基于 built-in youtube shortcode)
{{- $pc := .Page.Site.Config.Privacy.YouTube -}}
{{- if not $pc.Disable -}}
{{- $ytHost := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" -}}
{{- $id := .Get "id" | default (.Get 0) -}}
{{- $class := .Get "class" | default (.Get 1) -}}
{{- $title := .Get "title" | default "YouTube Video" }}
<div {{ with $class }}class="{{ . }}"{{ else }}style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"{{ end }}>
<iframe src="https://{{ $ytHost }}/embed/videoseries?list={{ $id }}{{ with .Get "autoplay" }}{{ if eq . "true" }}&autoplay=1{{ end }}{{ end }}" {{ if not $class }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" {{ end }}allowfullscreen title="{{ $title }}"></iframe>
</div>
{{ end -}}
(旁白:如果您希望使用不同的简码名称,只需更改文件名即可。例如,如果您更喜欢使用 {{< ytplaylist >}}
,请将简码文件名更改为 ytplaylist.html
。)
用法
- 用法与 built-in
{{< youtube >}}
短代码相同,只需使用新的短代码名称即可:{{< youtubepl id="ID-HERE" >}}
或 {{< youtubepl ID-HERE >}}
.
- 您将使用播放列表 ID 而不是视频 ID。
我可以使用下面的代码,{{< youtube hvWSg6NblSU >}}
将 YouTube 视频嵌入 hugo 网站,其中 hvWSg6NblSU 是下面 url 中的值:https://www.youtube.com/watch?v=hvWSg6NblSU
我不想嵌入单个视频,而是想嵌入以下播放列表:https://www.youtube.com/playlist?list=PLDe3_HhjV1foHQbtGpdo0FSmsMrVykuKJ
问题: 有什么方法可以嵌入上面的播放列表。基本上我正在尝试使用 hugo 制作一个页面,它将在 YouTube 上显示播放列表。
在以下 link:https://naresh-chaurasia.github.io/talk2naresh/course/python-kids/ 中,我只有一个 YouTube 视频,但想使用 hugo 添加 link 到整个播放列表。可以吗
虽然我可以为播放列表创建 hyperlink,但我想显示 YouTube 播放列表。
谢谢。
built-in youtube 短代码不支持它。
您可以为播放列表创建一个新的 YouTube 短代码。
步骤
- 创建:
/layouts/shortcodes/youtubepl.html
- 在该文件中放置以下内容:(基于 built-in youtube shortcode)
{{- $pc := .Page.Site.Config.Privacy.YouTube -}}
{{- if not $pc.Disable -}}
{{- $ytHost := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" -}}
{{- $id := .Get "id" | default (.Get 0) -}}
{{- $class := .Get "class" | default (.Get 1) -}}
{{- $title := .Get "title" | default "YouTube Video" }}
<div {{ with $class }}class="{{ . }}"{{ else }}style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"{{ end }}>
<iframe src="https://{{ $ytHost }}/embed/videoseries?list={{ $id }}{{ with .Get "autoplay" }}{{ if eq . "true" }}&autoplay=1{{ end }}{{ end }}" {{ if not $class }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" {{ end }}allowfullscreen title="{{ $title }}"></iframe>
</div>
{{ end -}}
(旁白:如果您希望使用不同的简码名称,只需更改文件名即可。例如,如果您更喜欢使用 {{< ytplaylist >}}
,请将简码文件名更改为 ytplaylist.html
。)
用法
- 用法与 built-in
{{< youtube >}}
短代码相同,只需使用新的短代码名称即可:{{< youtubepl id="ID-HERE" >}}
或{{< youtubepl ID-HERE >}}
. - 您将使用播放列表 ID 而不是视频 ID。