summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/privacy/privacyConfig.go8
-rw-r--r--config/privacy/privacyConfig_test.go10
-rw-r--r--hugolib/config_test.go4
-rw-r--r--tpl/tplimpl/embedded/templates.autogen.go5
-rwxr-xr-xtpl/tplimpl/embedded/templates/shortcodes/youtube.html5
5 files changed, 19 insertions, 13 deletions
diff --git a/config/privacy/privacyConfig.go b/config/privacy/privacyConfig.go
index 0241b5704..64bbe71bb 100644
--- a/config/privacy/privacyConfig.go
+++ b/config/privacy/privacyConfig.go
@@ -72,8 +72,12 @@ type Vimeo struct {
// YouTube holds the privacy configuration settingsrelated to the YouTube shortcode.
type YouTube struct {
- Service `mapstructure:",squash"`
- NoCookie bool
+ Service `mapstructure:",squash"`
+
+ // When you turn on privacy-enhanced mode,
+ // YouTube won’t store information about visitors on your website
+ // unless they play the video.
+ PrivacyEnhanced bool
}
func DecodeConfig(cfg config.Provider) (pc Config, err error) {
diff --git a/config/privacy/privacyConfig_test.go b/config/privacy/privacyConfig_test.go
index f8e2ebbd1..bca53f167 100644
--- a/config/privacy/privacyConfig_test.go
+++ b/config/privacy/privacyConfig_test.go
@@ -44,7 +44,7 @@ disable = true
disable = true
[privacy.youtube]
disable = true
-noCookie = true
+privacyEnhanced = true
`
cfg, err := config.FromConfigString(tomlConfig, "toml")
assert.NoError(err)
@@ -61,7 +61,7 @@ noCookie = true
assert.True(pc.Tweet.Disable)
assert.True(pc.Vimeo.Disable)
- assert.True(pc.YouTube.NoCookie)
+ assert.True(pc.YouTube.PrivacyEnhanced)
assert.True(pc.YouTube.Disable)
}
@@ -74,7 +74,7 @@ someOtherValue = "foo"
[Privacy]
[Privacy.YouTube]
-NoCOOKIE = true
+PrivacyENhanced = true
`
cfg, err := config.FromConfigString(tomlConfig, "toml")
assert.NoError(err)
@@ -82,7 +82,7 @@ NoCOOKIE = true
pc, err := DecodeConfig(cfg)
assert.NoError(err)
assert.NotNil(pc)
- assert.True(pc.YouTube.NoCookie)
+ assert.True(pc.YouTube.PrivacyEnhanced)
}
func TestDecodeConfigDefault(t *testing.T) {
@@ -91,5 +91,5 @@ func TestDecodeConfigDefault(t *testing.T) {
pc, err := DecodeConfig(viper.New())
assert.NoError(err)
assert.NotNil(pc)
- assert.False(pc.YouTube.NoCookie)
+ assert.False(pc.YouTube.PrivacyEnhanced)
}
diff --git a/hugolib/config_test.go b/hugolib/config_test.go
index 8bf7ea8b3..f6306dec1 100644
--- a/hugolib/config_test.go
+++ b/hugolib/config_test.go
@@ -377,13 +377,13 @@ someOtherValue = "foo"
[privacy]
[privacy.youtube]
-noCookie = true
+privacyEnhanced = true
`
b := newTestSitesBuilder(t)
b.WithConfigFile("toml", tomlConfig)
b.Build(BuildCfg{SkipRender: true})
- assert.True(b.H.Sites[0].Info.PrivacyConfig.YouTube.NoCookie)
+ assert.True(b.H.Sites[0].Info.PrivacyConfig.YouTube.PrivacyEnhanced)
}
diff --git a/tpl/tplimpl/embedded/templates.autogen.go b/tpl/tplimpl/embedded/templates.autogen.go
index 71a1fd14f..7ba6a3043 100644
--- a/tpl/tplimpl/embedded/templates.autogen.go
+++ b/tpl/tplimpl/embedded/templates.autogen.go
@@ -287,13 +287,14 @@ if (!doNotTrack) {
{{- end -}}`},
{`shortcodes/youtube.html`, `{{- $pc := .Page.Site.PrivacyConfig.YouTube -}}
{{- if not $pc.Disable -}}
+{{ $ytHost := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" }}
{{ if .IsNamedParams }}
<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 }}"
+ <iframe src="//{{ $ytHost }}/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 }}
<div {{ if len .Params | eq 2 }}class="{{ .Get 1 }}"{{ else }}style="position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;"{{ end }}>
- <iframe src="//www.youtube.com/embed/{{ .Get 0 }}" {{ if len .Params | eq 1 }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" {{ end }}allowfullscreen frameborder="0" title="YouTube Video"></iframe>
+ <iframe src="//{{ $ytHost }}/embed/{{ .Get 0 }}" {{ if len .Params | eq 1 }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" {{ end }}allowfullscreen frameborder="0" title="YouTube Video"></iframe>
</div>
{{ end }}
{{- end -}}`},
diff --git a/tpl/tplimpl/embedded/templates/shortcodes/youtube.html b/tpl/tplimpl/embedded/templates/shortcodes/youtube.html
index 2bdcb7441..3a3ff4241 100755
--- a/tpl/tplimpl/embedded/templates/shortcodes/youtube.html
+++ b/tpl/tplimpl/embedded/templates/shortcodes/youtube.html
@@ -1,12 +1,13 @@
{{- $pc := .Page.Site.PrivacyConfig.YouTube -}}
{{- if not $pc.Disable -}}
+{{ $ytHost := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" }}
{{ if .IsNamedParams }}
<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 }}"
+ <iframe src="//{{ $ytHost }}/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 }}
<div {{ if len .Params | eq 2 }}class="{{ .Get 1 }}"{{ else }}style="position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;"{{ end }}>
- <iframe src="//www.youtube.com/embed/{{ .Get 0 }}" {{ if len .Params | eq 1 }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" {{ end }}allowfullscreen frameborder="0" title="YouTube Video"></iframe>
+ <iframe src="//{{ $ytHost }}/embed/{{ .Get 0 }}" {{ if len .Params | eq 1 }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" {{ end }}allowfullscreen frameborder="0" title="YouTube Video"></iframe>
</div>
{{ end }}
{{- end -}} \ No newline at end of file