From 4ddcf52ccc7af3e23109ebaac1f0486087a212ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 22 May 2018 14:40:06 +0200 Subject: Add an unified .Site.Config with a services section Fixes #4751 --- hugolib/config.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'hugolib/config.go') diff --git a/hugolib/config.go b/hugolib/config.go index b9cfd92d6..73ba84686 100644 --- a/hugolib/config.go +++ b/hugolib/config.go @@ -23,6 +23,7 @@ import ( "github.com/gohugoio/hugo/config" "github.com/gohugoio/hugo/config/privacy" + "github.com/gohugoio/hugo/config/services" "github.com/gohugoio/hugo/helpers" "github.com/spf13/afero" "github.com/spf13/viper" @@ -33,6 +34,26 @@ type SiteConfig struct { // This contains all privacy related settings that can be used to // make the YouTube template etc. GDPR compliant. Privacy privacy.Config + + // Services contains config for services such as Google Analytics etc. + Services services.Config +} + +func loadSiteConfig(cfg config.Provider) (scfg SiteConfig, err error) { + privacyConfig, err := privacy.DecodeConfig(cfg) + if err != nil { + return + } + + servicesConfig, err := services.DecodeConfig(cfg) + if err != nil { + return + } + + scfg.Privacy = privacyConfig + scfg.Services = servicesConfig + + return } // ConfigSourceDescriptor describes where to find the config (e.g. config.toml etc.). -- cgit v1.2.3