code: func DecodeConfig(cfg config.Provider) (c Config, err error) {
  	m := cfg.GetStringMap(servicesConfigKey)
  
  	err = mapstructure.WeakDecode(m, &c)
  
  	// Keep backwards compatibility.
  	if c.GoogleAnalytics.ID == "" {
  		// Try the global config
  		c.GoogleAnalytics.ID = cfg.GetString(googleAnalyticsKey)
  	}
  	if c.Disqus.Shortname == "" {
  		c.Disqus.Shortname = cfg.GetString(disqusShortnameKey)
  	}
  
  	if c.RSS.Limit == 0 {
  		c.RSS.Limit = cfg.GetInt(rssLimitKey)
  	}
  
  	return
  }
docs: // DecodeConfig creates a services Config from a given Hugo configuration.