mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
parent
b4d60b3db1
commit
e451b984cf
2 changed files with 44 additions and 5 deletions
|
@ -255,9 +255,9 @@ func (l configLoader) applyConfigDefaults() error {
|
||||||
"relativeURLs": false,
|
"relativeURLs": false,
|
||||||
"removePathAccents": false,
|
"removePathAccents": false,
|
||||||
"titleCaseStyle": "AP",
|
"titleCaseStyle": "AP",
|
||||||
"taxonomies": map[string]string{"tag": "tags", "category": "categories"},
|
"taxonomies": maps.Params{"tag": "tags", "category": "categories"},
|
||||||
"permalinks": make(map[string]string),
|
"permalinks": maps.Params{},
|
||||||
"sitemap": config.Sitemap{Priority: -1, Filename: "sitemap.xml"},
|
"sitemap": maps.Params{"priority": -1, "filename": "sitemap.xml"},
|
||||||
"disableLiveReload": false,
|
"disableLiveReload": false,
|
||||||
"pluralizeListTitles": true,
|
"pluralizeListTitles": true,
|
||||||
"forceSyncStatic": false,
|
"forceSyncStatic": false,
|
||||||
|
|
|
@ -185,7 +185,7 @@ name = "menu-theme"
|
||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
buildForConfig := func(mainConfig, themeConfig string) *sitesBuilder {
|
buildForConfig := func(t testing.TB, mainConfig, themeConfig string) *sitesBuilder {
|
||||||
b := newTestSitesBuilder(t)
|
b := newTestSitesBuilder(t)
|
||||||
b.WithConfigFile("toml", mainConfig).WithThemeConfigFile("toml", themeConfig)
|
b.WithConfigFile("toml", mainConfig).WithThemeConfigFile("toml", themeConfig)
|
||||||
return b.Build(BuildCfg{})
|
return b.Build(BuildCfg{})
|
||||||
|
@ -193,7 +193,7 @@ name = "menu-theme"
|
||||||
|
|
||||||
buildForStrategy := func(t testing.TB, s string) *sitesBuilder {
|
buildForStrategy := func(t testing.TB, s string) *sitesBuilder {
|
||||||
mainConfig := strings.ReplaceAll(mainConfigTemplate, "MERGE_PARAMS", s)
|
mainConfig := strings.ReplaceAll(mainConfigTemplate, "MERGE_PARAMS", s)
|
||||||
return buildForConfig(mainConfig, themeConfig)
|
return buildForConfig(t, mainConfig, themeConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Run("Merge default", func(c *qt.C) {
|
c.Run("Merge default", func(c *qt.C) {
|
||||||
|
@ -322,6 +322,7 @@ name = "menu-theme"
|
||||||
|
|
||||||
c.Run("Merge no params in project", func(c *qt.C) {
|
c.Run("Merge no params in project", func(c *qt.C) {
|
||||||
b := buildForConfig(
|
b := buildForConfig(
|
||||||
|
c,
|
||||||
"baseURL=\"https://example.org\"\ntheme = \"test-theme\"\n",
|
"baseURL=\"https://example.org\"\ntheme = \"test-theme\"\n",
|
||||||
"[params]\np1 = \"p1 theme\"\n",
|
"[params]\np1 = \"p1 theme\"\n",
|
||||||
)
|
)
|
||||||
|
@ -335,6 +336,7 @@ name = "menu-theme"
|
||||||
|
|
||||||
c.Run("Merge language no menus or params in project", func(c *qt.C) {
|
c.Run("Merge language no menus or params in project", func(c *qt.C) {
|
||||||
b := buildForConfig(
|
b := buildForConfig(
|
||||||
|
c,
|
||||||
`
|
`
|
||||||
theme = "test-theme"
|
theme = "test-theme"
|
||||||
baseURL = "https://example.com/"
|
baseURL = "https://example.com/"
|
||||||
|
@ -378,6 +380,43 @@ name = "menu-theme"
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Issue #8724
|
||||||
|
for _, mergeStrategy := range []string{"none", "shallow"} {
|
||||||
|
c.Run(fmt.Sprintf("Merge with sitemap config in theme, mergestrategy %s", mergeStrategy), func(c *qt.C) {
|
||||||
|
|
||||||
|
smapConfigTempl := `[sitemap]
|
||||||
|
changefreq = %q
|
||||||
|
filename = "sitemap.xml"
|
||||||
|
priority = 0.5`
|
||||||
|
|
||||||
|
b := buildForConfig(
|
||||||
|
c,
|
||||||
|
fmt.Sprintf("_merge=%q\nbaseURL=\"https://example.org\"\ntheme = \"test-theme\"\n", mergeStrategy),
|
||||||
|
"baseURL=\"http://example.com\"\n"+fmt.Sprintf(smapConfigTempl, "monthly"),
|
||||||
|
)
|
||||||
|
|
||||||
|
got := b.Cfg.Get("").(maps.Params)
|
||||||
|
|
||||||
|
if mergeStrategy == "none" {
|
||||||
|
b.Assert(got["sitemap"], qt.DeepEquals, maps.Params{
|
||||||
|
"priority": int(-1),
|
||||||
|
"filename": "sitemap.xml",
|
||||||
|
})
|
||||||
|
|
||||||
|
b.AssertFileContent("public/sitemap.xml", "schemas/sitemap")
|
||||||
|
} else {
|
||||||
|
b.Assert(got["sitemap"], qt.DeepEquals, maps.Params{
|
||||||
|
"priority": int(-1),
|
||||||
|
"filename": "sitemap.xml",
|
||||||
|
"changefreq": "monthly",
|
||||||
|
})
|
||||||
|
|
||||||
|
b.AssertFileContent("public/sitemap.xml", "<changefreq>monthly</changefreq>")
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLoadConfigFromThemeDir(t *testing.T) {
|
func TestLoadConfigFromThemeDir(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue