func (p *Page) getRenderingConfig() *helpers.Blackfriday { p.renderingConfigInit.Do(func() { pageParam := p.GetParam("blackfriday") siteParam := viper.GetStringMap("blackfriday") combinedParam := siteParam if pageParam != nil { combinedParam = make(map[string]interface{}) for k, v := range siteParam { combinedParam[k] = v } pageConfig := cast.ToStringMap(pageParam) for key, value := range pageConfig { combinedParam[key] = value } } p.renderingConfig = helpers.NewBlackfriday() if err := mapstructure.Decode(combinedParam, p.renderingConfig); err != nil { jww.FATAL.Printf("Failed to get rendering config for %s:\n%s", p.BaseFileName(), err.Error()) } }) return p.renderingConfig }
func loadDefaultSettings() { viper.SetDefault("cleanDestinationDir", false) viper.SetDefault("watch", false) viper.SetDefault("metaDataFormat", "toml") viper.SetDefault("disable404", false) viper.SetDefault("disableRSS", false) viper.SetDefault("disableSitemap", false) viper.SetDefault("disableRobotsTXT", false) viper.SetDefault("contentDir", "content") viper.SetDefault("layoutDir", "layouts") viper.SetDefault("staticDir", "static") viper.SetDefault("archetypeDir", "archetypes") viper.SetDefault("publishDir", "public") viper.SetDefault("dataDir", "data") viper.SetDefault("i18nDir", "i18n") viper.SetDefault("themesDir", "themes") viper.SetDefault("defaultLayout", "post") viper.SetDefault("buildDrafts", false) viper.SetDefault("buildFuture", false) viper.SetDefault("buildExpired", false) viper.SetDefault("uglyURLs", false) viper.SetDefault("verbose", false) viper.SetDefault("ignoreCache", false) viper.SetDefault("canonifyURLs", false) viper.SetDefault("relativeURLs", false) viper.SetDefault("removePathAccents", false) viper.SetDefault("taxonomies", map[string]string{"tag": "tags", "category": "categories"}) viper.SetDefault("permalinks", make(PermalinkOverrides, 0)) viper.SetDefault("sitemap", Sitemap{Priority: -1, Filename: "sitemap.xml"}) viper.SetDefault("defaultExtension", "html") viper.SetDefault("pygmentsStyle", "monokai") viper.SetDefault("pygmentsUseClasses", false) viper.SetDefault("pygmentsCodeFences", false) viper.SetDefault("pygmentsOptions", "") viper.SetDefault("disableLiveReload", false) viper.SetDefault("pluralizeListTitles", true) viper.SetDefault("preserveTaxonomyNames", false) viper.SetDefault("forceSyncStatic", false) viper.SetDefault("footnoteAnchorPrefix", "") viper.SetDefault("footnoteReturnLinkContents", "") viper.SetDefault("newContentEditor", "") viper.SetDefault("paginate", 10) viper.SetDefault("paginatePath", "page") viper.SetDefault("blackfriday", helpers.NewBlackfriday(viper.GetViper())) viper.SetDefault("rSSUri", "index.xml") viper.SetDefault("sectionPagesMenu", "") viper.SetDefault("disablePathToLower", false) viper.SetDefault("hasCJKLanguage", false) viper.SetDefault("enableEmoji", false) viper.SetDefault("pygmentsCodeFencesGuessSyntax", false) viper.SetDefault("useModTimeAsFallback", false) viper.SetDefault("currentContentLanguage", helpers.NewDefaultLanguage()) viper.SetDefault("defaultContentLanguage", "en") viper.SetDefault("defaultContentLanguageInSubdir", false) viper.SetDefault("enableMissingTranslationPlaceholders", false) viper.SetDefault("enableGitInfo", false) }
func (p *Page) getRenderingConfig() *helpers.Blackfriday { p.renderingConfigInit.Do(func() { pageParam := cast.ToStringMap(p.GetParam("blackfriday")) p.renderingConfig = helpers.NewBlackfriday() if err := mapstructure.Decode(pageParam, p.renderingConfig); err != nil { jww.FATAL.Printf("Failed to get rendering config for %s:\n%s", p.BaseFileName(), err.Error()) } }) return p.renderingConfig }
func loadDefaultSettings() { viper.SetDefault("cleanDestinationDir", false) viper.SetDefault("Watch", false) viper.SetDefault("MetaDataFormat", "toml") viper.SetDefault("Disable404", false) viper.SetDefault("DisableRSS", false) viper.SetDefault("DisableSitemap", false) viper.SetDefault("DisableRobotsTXT", false) viper.SetDefault("ContentDir", "content") viper.SetDefault("LayoutDir", "layouts") viper.SetDefault("StaticDir", "static") viper.SetDefault("ArchetypeDir", "archetypes") viper.SetDefault("PublishDir", "public") viper.SetDefault("DataDir", "data") viper.SetDefault("ThemesDir", "themes") viper.SetDefault("DefaultLayout", "post") viper.SetDefault("BuildDrafts", false) viper.SetDefault("BuildFuture", false) viper.SetDefault("BuildExpired", false) viper.SetDefault("UglyURLs", false) viper.SetDefault("Verbose", false) viper.SetDefault("IgnoreCache", false) viper.SetDefault("CanonifyURLs", false) viper.SetDefault("RelativeURLs", false) viper.SetDefault("RemovePathAccents", false) viper.SetDefault("Taxonomies", map[string]string{"tag": "tags", "category": "categories"}) viper.SetDefault("Permalinks", make(hugolib.PermalinkOverrides, 0)) viper.SetDefault("Sitemap", hugolib.Sitemap{Priority: -1, Filename: "sitemap.xml"}) viper.SetDefault("DefaultExtension", "html") viper.SetDefault("PygmentsStyle", "monokai") viper.SetDefault("PygmentsUseClasses", false) viper.SetDefault("PygmentsCodeFences", false) viper.SetDefault("PygmentsOptions", "") viper.SetDefault("DisableLiveReload", false) viper.SetDefault("PluralizeListTitles", true) viper.SetDefault("PreserveTaxonomyNames", false) viper.SetDefault("ForceSyncStatic", false) viper.SetDefault("FootnoteAnchorPrefix", "") viper.SetDefault("FootnoteReturnLinkContents", "") viper.SetDefault("NewContentEditor", "") viper.SetDefault("Paginate", 10) viper.SetDefault("PaginatePath", "page") viper.SetDefault("Blackfriday", helpers.NewBlackfriday()) viper.SetDefault("RSSUri", "index.xml") viper.SetDefault("SectionPagesMenu", "") viper.SetDefault("DisablePathToLower", false) viper.SetDefault("HasCJKLanguage", false) viper.SetDefault("EnableEmoji", false) viper.SetDefault("PygmentsCodeFencesGuessSyntax", false) viper.SetDefault("UseModTimeAsFallback", false) }
func (p *Page) getRenderingConfig() *helpers.Blackfriday { p.renderingConfigInit.Do(func() { pageParam := cast.ToStringMap(p.GetParam("blackfriday")) if p.Language() == nil { panic(fmt.Sprintf("nil language for %s with source lang %s", p.BaseFileName(), p.lang)) } p.renderingConfig = helpers.NewBlackfriday(p.Language()) if err := mapstructure.Decode(pageParam, p.renderingConfig); err != nil { jww.FATAL.Printf("Failed to get rendering config for %s:\n%s", p.BaseFileName(), err.Error()) } }) return p.renderingConfig }
func LoadDefaultSettings() { viper.SetDefault("Watch", false) viper.SetDefault("MetaDataFormat", "toml") viper.SetDefault("DisableRSS", false) viper.SetDefault("DisableSitemap", false) viper.SetDefault("ContentDir", "content") viper.SetDefault("LayoutDir", "layouts") viper.SetDefault("StaticDir", "static") viper.SetDefault("ArchetypeDir", "archetypes") viper.SetDefault("PublishDir", "public") viper.SetDefault("DataDir", "data") viper.SetDefault("DefaultLayout", "post") viper.SetDefault("BuildDrafts", false) viper.SetDefault("BuildFuture", false) viper.SetDefault("UglyURLs", false) viper.SetDefault("Verbose", false) viper.SetDefault("IgnoreCache", false) viper.SetDefault("CanonifyURLs", false) viper.SetDefault("RelativeURLs", false) viper.SetDefault("RemovePathAccents", false) viper.SetDefault("Taxonomies", map[string]string{"tag": "tags", "category": "categories"}) viper.SetDefault("Permalinks", make(hugolib.PermalinkOverrides, 0)) viper.SetDefault("Sitemap", hugolib.Sitemap{Priority: -1}) viper.SetDefault("PygmentsStyle", "monokai") viper.SetDefault("DefaultExtension", "html") viper.SetDefault("PygmentsUseClasses", false) viper.SetDefault("PygmentsCodeFences", false) viper.SetDefault("DisableLiveReload", false) viper.SetDefault("PluralizeListTitles", true) viper.SetDefault("PreserveTaxonomyNames", false) viper.SetDefault("FootnoteAnchorPrefix", "") viper.SetDefault("FootnoteReturnLinkContents", "") viper.SetDefault("NewContentEditor", "") viper.SetDefault("Paginate", 10) viper.SetDefault("PaginatePath", "page") viper.SetDefault("Blackfriday", helpers.NewBlackfriday()) viper.SetDefault("RSSUri", "index.xml") viper.SetDefault("SectionPagesMenu", "") }
// InitializeConfig initializes a config file with sensible default configuration flags. func InitializeConfig() { viper.SetConfigFile(CfgFile) viper.AddConfigPath(Source) err := viper.ReadInConfig() if err != nil { jww.ERROR.Println("Unable to locate Config file. Perhaps you need to create a new site. Run `hugo help new` for details") } viper.RegisterAlias("indexes", "taxonomies") viper.SetDefault("Watch", false) viper.SetDefault("MetaDataFormat", "toml") viper.SetDefault("DisableRSS", false) viper.SetDefault("DisableSitemap", false) viper.SetDefault("ContentDir", "content") viper.SetDefault("LayoutDir", "layouts") viper.SetDefault("StaticDir", "static") viper.SetDefault("ArchetypeDir", "archetypes") viper.SetDefault("PublishDir", "public") viper.SetDefault("DataDir", "data") viper.SetDefault("DefaultLayout", "post") viper.SetDefault("BuildDrafts", false) viper.SetDefault("BuildFuture", false) viper.SetDefault("UglyURLs", false) viper.SetDefault("Verbose", false) viper.SetDefault("IgnoreCache", false) viper.SetDefault("CanonifyURLs", false) viper.SetDefault("Taxonomies", map[string]string{"tag": "tags", "category": "categories"}) viper.SetDefault("Permalinks", make(hugolib.PermalinkOverrides, 0)) viper.SetDefault("Sitemap", hugolib.Sitemap{Priority: -1}) viper.SetDefault("PygmentsStyle", "monokai") viper.SetDefault("DefaultExtension", "html") viper.SetDefault("PygmentsUseClasses", false) viper.SetDefault("DisableLiveReload", false) viper.SetDefault("PluralizeListTitles", true) viper.SetDefault("FootnoteAnchorPrefix", "") viper.SetDefault("FootnoteReturnLinkContents", "") viper.SetDefault("NewContentEditor", "") viper.SetDefault("Paginate", 10) viper.SetDefault("PaginatePath", "page") viper.SetDefault("Blackfriday", helpers.NewBlackfriday()) if hugoCmdV.PersistentFlags().Lookup("buildDrafts").Changed { viper.Set("BuildDrafts", Draft) } if hugoCmdV.PersistentFlags().Lookup("buildFuture").Changed { viper.Set("BuildFuture", Future) } if hugoCmdV.PersistentFlags().Lookup("uglyUrls").Changed { viper.Set("UglyURLs", UglyURLs) } if hugoCmdV.PersistentFlags().Lookup("disableRSS").Changed { viper.Set("DisableRSS", DisableRSS) } if hugoCmdV.PersistentFlags().Lookup("disableSitemap").Changed { viper.Set("DisableSitemap", DisableSitemap) } if hugoCmdV.PersistentFlags().Lookup("verbose").Changed { viper.Set("Verbose", Verbose) } if hugoCmdV.PersistentFlags().Lookup("pluralizeListTitles").Changed { viper.Set("PluralizeListTitles", PluralizeListTitles) } if hugoCmdV.PersistentFlags().Lookup("editor").Changed { viper.Set("NewContentEditor", Editor) } if hugoCmdV.PersistentFlags().Lookup("logFile").Changed { viper.Set("LogFile", LogFile) } if BaseURL != "" { if !strings.HasSuffix(BaseURL, "/") { BaseURL = BaseURL + "/" } viper.Set("BaseURL", BaseURL) } if viper.GetString("BaseURL") == "" { jww.ERROR.Println("No 'baseurl' set in configuration or as a flag. Features like page menus will not work without one.") } if Theme != "" { viper.Set("theme", Theme) } if Destination != "" { viper.Set("PublishDir", Destination) } if Source != "" { viper.Set("WorkingDir", Source) } else { dir, _ := os.Getwd() viper.Set("WorkingDir", dir) } if hugoCmdV.PersistentFlags().Lookup("ignoreCache").Changed { viper.Set("IgnoreCache", IgnoreCache) } if CacheDir != "" { if helpers.FilePathSeparator != CacheDir[len(CacheDir)-1:] { CacheDir = CacheDir + helpers.FilePathSeparator } isDir, err := helpers.DirExists(CacheDir, hugofs.SourceFs) utils.CheckErr(err) if isDir == false { mkdir(CacheDir) } viper.Set("CacheDir", CacheDir) } else { viper.Set("CacheDir", helpers.GetTempDir("hugo_cache", hugofs.SourceFs)) } if VerboseLog || Logging || (viper.IsSet("LogFile") && viper.GetString("LogFile") != "") { if viper.IsSet("LogFile") && viper.GetString("LogFile") != "" { jww.SetLogFile(viper.GetString("LogFile")) } else { jww.UseTempLogFile("hugo") } } else { jww.DiscardLogging() } if viper.GetBool("verbose") { jww.SetStdoutThreshold(jww.LevelInfo) } if VerboseLog { jww.SetLogThreshold(jww.LevelInfo) } jww.INFO.Println("Using config file:", viper.ConfigFileUsed()) }