From cc44583cc3976bf115c06474f47889d49842315e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 13 Jul 2023 15:42:30 +0200 Subject: [PATCH] Improve behavior of defaultContentLanguageInSubdir when only the default language is enabled 1 .Create sitemapindex in root of publishDir (will contain link to sitemap.xml in defaultContentLanguage site) 2. Create index.html in root of publishDir (will redirect to defaultContentLanguage site) Fixes #11229 --- hugolib/config_test.go | 8 ++++++++ hugolib/hugo_sites.go | 2 +- hugolib/site_render.go | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/hugolib/config_test.go b/hugolib/config_test.go index cdac0fbab..100144ca1 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -1321,6 +1321,9 @@ Home. b.AssertFileContent("public/en/index.html", "Home.") b.AssertFileContent("public/en/foo/bar.txt", "Foo.") + b.AssertFileContent("public/index.html", "refresh") + b.AssertFileContent("public/sitemap.xml", "sitemapindex") + b.AssertFileContent("public/en/sitemap.xml", "urlset") }) t.Run("Two languages, default in sub dir", func(t *testing.T) { @@ -1351,6 +1354,9 @@ Home. b.AssertFileContent("public/en/index.html", "Home.") b.AssertFileContent("public/en/foo/bar.txt", "Foo.") + b.AssertFileContent("public/index.html", "refresh") + b.AssertFileContent("public/sitemap.xml", "sitemapindex") + b.AssertFileContent("public/en/sitemap.xml", "urlset") }) t.Run("Two languages, default in root", func(t *testing.T) { @@ -1381,6 +1387,8 @@ Home. b.AssertFileContent("public/index.html", "Home.") b.AssertFileContent("public/foo/bar.txt", "Foo.") + b.AssertFileContent("public/sitemap.xml", "sitemapindex") + b.AssertFileContent("public/en/sitemap.xml", "urlset") }) } diff --git a/hugolib/hugo_sites.go b/hugolib/hugo_sites.go index 9c121f7ac..de19a3669 100644 --- a/hugolib/hugo_sites.go +++ b/hugolib/hugo_sites.go @@ -437,7 +437,7 @@ func (cfg *BuildCfg) shouldRender(p *pageState) bool { } func (h *HugoSites) renderCrossSitesSitemap() error { - if !h.isMultiLingual() || h.Conf.IsMultihost() { + if h.Conf.IsMultihost() || !(h.Conf.DefaultContentLanguageInSubdir() || h.Conf.IsMultiLingual()) { return nil } diff --git a/hugolib/site_render.go b/hugolib/site_render.go index c4c3f389b..f9c1dd498 100644 --- a/hugolib/site_render.go +++ b/hugolib/site_render.go @@ -384,7 +384,7 @@ func (s *Site) renderAliases() error { // renderMainLanguageRedirect creates a redirect to the main language home, // depending on if it lives in sub folder (e.g. /en) or not. func (s *Site) renderMainLanguageRedirect() error { - if !s.h.isMultiLingual() || s.h.Conf.IsMultihost() { + if s.h.Conf.IsMultihost() || !(s.h.Conf.DefaultContentLanguageInSubdir() || s.h.Conf.IsMultiLingual()) { // No need for a redirect return nil }