Add instagram_simple shortcode

Fixes #4748
This commit is contained in:
Bjørn Erik Pedersen
2018-05-23 12:26:10 +02:00
parent 4256de3392
commit 9ad46a2035
8 changed files with 134 additions and 4 deletions

View File

@@ -53,6 +53,10 @@ type GoogleAnalytics struct {
// Instagram holds the privacy configuration settings related to the Instagram shortcode.
type Instagram struct {
Service `mapstructure:",squash"`
// If simple mode is enabled, a static and no-JS version of the Instagram
// image card will be built.
Simple bool
}
// SpeakerDeck holds the privacy configuration settings related to the SpeakerDeck shortcode.

View File

@@ -36,6 +36,7 @@ disable = true
respectDoNotTrack = true
[privacy.instagram]
disable = true
simple = true
[privacy.speakerDeck]
disable = true
[privacy.tweet]
@@ -45,6 +46,7 @@ disable = true
[privacy.youtube]
disable = true
privacyEnhanced = true
simple = true
`
cfg, err := config.FromConfigString(tomlConfig, "toml")
assert.NoError(err)
@@ -57,12 +59,14 @@ privacyEnhanced = true
assert.True(pc.GoogleAnalytics.Disable)
assert.True(pc.GoogleAnalytics.RespectDoNotTrack)
assert.True(pc.Instagram.Disable)
assert.True(pc.Instagram.Simple)
assert.True(pc.SpeakerDeck.Disable)
assert.True(pc.Tweet.Disable)
assert.True(pc.Vimeo.Disable)
assert.True(pc.YouTube.PrivacyEnhanced)
assert.True(pc.YouTube.Disable)
assert.True(pc.YouTube.Simple)
}
func TestDecodeConfigFromTOMLCaseInsensitive(t *testing.T) {

View File

@@ -29,6 +29,7 @@ const (
type Config struct {
Disqus Disqus
GoogleAnalytics GoogleAnalytics
Instagram Instagram
}
// Disqus holds the functional configuration settings related to the Disqus template.
@@ -43,6 +44,14 @@ type GoogleAnalytics struct {
ID string
}
// Instagram holds the functional configuration settings related to the Instagram shortcodes.
type Instagram struct {
// The Simple variant of the Instagram is decorated with Bootstrap 4 card classes.
// This means that if you use Bootstrap 4 or want to provide your own CSS, you want
// to disable the inline CSS provided by Hugo.
DisableInlineCSS bool
}
func DecodeConfig(cfg config.Provider) (c Config, err error) {
m := cfg.GetStringMap(servicesConfigKey)

View File

@@ -33,6 +33,8 @@ someOtherValue = "foo"
shortname = "DS"
[services.googleAnalytics]
id = "ga_id"
[services.instagram]
disableInlineCSS = true
`
cfg, err := config.FromConfigString(tomlConfig, "toml")
assert.NoError(err)
@@ -44,6 +46,7 @@ id = "ga_id"
assert.Equal("DS", config.Disqus.Shortname)
assert.Equal("ga_id", config.GoogleAnalytics.ID)
assert.True(config.Instagram.DisableInlineCSS)
}
// Support old root-level GA settings etc.