From dc6a292133bf3249f1741a7624075b0782b16f84 Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Tue, 12 Mar 2024 08:18:23 -0700 Subject: [PATCH] common/hugo: Rename IsMultiHost and IsMultiLingual hugo.IsMultiHost => hugo.IsMultihost hugo.IsMultiLingual => hugo.IsMultilingual Closes #12232 --- commands/server.go | 13 ++++----- common/hugo/hugo.go | 16 +++++++---- common/hugo/hugo_integration_test.go | 6 ++-- common/hugo/hugo_test.go | 2 +- config/allconfig/allconfig.go | 8 +++--- config/allconfig/configlanguage.go | 4 +-- config/configProvider.go | 2 +- hugolib/config_test.go | 42 ++++++++++++++-------------- hugolib/content_map_page.go | 2 +- hugolib/filesystems/basefs_test.go | 4 +-- hugolib/hugo_sites.go | 2 +- hugolib/hugo_sites_multihost_test.go | 4 +-- hugolib/site.go | 3 +- hugolib/site_new.go | 6 ++-- hugolib/site_render.go | 2 +- modules/config.go | 4 +-- resources/page/page_matcher_test.go | 2 +- resources/page/site.go | 6 ++-- 18 files changed, 66 insertions(+), 62 deletions(-) diff --git a/commands/server.go b/commands/server.go index 0ce655c51..afc539c44 100644 --- a/commands/server.go +++ b/commands/server.go @@ -617,9 +617,9 @@ func (c *serverCommand) setBaseURLsInConfig() error { } return c.withConfE(func(conf *commonConfig) error { for i, language := range conf.configs.Languages { - isMultiHost := conf.configs.IsMultihost + isMultihost := conf.configs.IsMultihost var serverPort int - if isMultiHost { + if isMultihost { serverPort = c.serverPorts[i].p } else { serverPort = c.serverPorts[0].p @@ -737,9 +737,9 @@ func (c *serverCommand) createServerPorts(cd *simplecobra.Commandeer) error { flags := cd.CobraCommand.Flags() var cerr error c.withConf(func(conf *commonConfig) { - isMultiHost := conf.configs.IsMultihost + isMultihost := conf.configs.IsMultihost c.serverPorts = make([]serverPortListener, 1) - if isMultiHost { + if isMultihost { if !c.serverAppend { cerr = errors.New("--appendPort=false not supported when in multihost mode") return @@ -852,7 +852,7 @@ func (c *serverCommand) serve() error { h *hugolib.HugoSites ) err := c.withConfE(func(conf *commonConfig) error { - isMultiHost := conf.configs.IsMultihost + isMultihost := conf.configs.IsMultihost var err error h, err = c.r.HugFromConfig(conf) if err != nil { @@ -862,7 +862,7 @@ func (c *serverCommand) serve() error { // We need the server to share the same logger as the Hugo build (for error counts etc.) c.r.logger = h.Log - if isMultiHost { + if isMultihost { for _, l := range conf.configs.ConfigLangs() { baseURLs = append(baseURLs, l.BaseURL()) roots = append(roots, l.Language().Lang) @@ -1005,7 +1005,6 @@ func (c *serverCommand) serve() error { } } }() - if err != nil { c.r.Println("Error:", err) } diff --git a/common/hugo/hugo.go b/common/hugo/hugo.go index a3d1a7bfc..0589ac9a3 100644 --- a/common/hugo/hugo.go +++ b/common/hugo/hugo.go @@ -111,14 +111,20 @@ func (i HugoInfo) Deps() []*Dependency { return i.deps } -// IsMultiHost reports whether each configured language has a unique baseURL. +// Deprecated: Use hugo.IsMultihost instead. func (i HugoInfo) IsMultiHost() bool { + Deprecate("hugo.IsMultiHost", "Use hugo.IsMultihost instead.", "v0.124.0") return i.conf.IsMultihost() } -// IsMultiLingual reports whether there are two or more configured languages. -func (i HugoInfo) IsMultiLingual() bool { - return i.conf.IsMultiLingual() +// IsMultihost reports whether each configured language has a unique baseURL. +func (i HugoInfo) IsMultihost() bool { + return i.conf.IsMultihost() +} + +// IsMultilingual reports whether there are two or more configured languages. +func (i HugoInfo) IsMultilingual() bool { + return i.conf.IsMultilingual() } // ConfigProvider represents the config options that are relevant for HugoInfo. @@ -127,7 +133,7 @@ type ConfigProvider interface { Running() bool WorkingDir() string IsMultihost() bool - IsMultiLingual() bool + IsMultilingual() bool } // NewInfo creates a new Hugo Info object. diff --git a/common/hugo/hugo_integration_test.go b/common/hugo/hugo_integration_test.go index 9fcfb95cf..77dbb5c91 100644 --- a/common/hugo/hugo_integration_test.go +++ b/common/hugo/hugo_integration_test.go @@ -20,7 +20,7 @@ import ( "github.com/gohugoio/hugo/hugolib" ) -func TestIsMultiLingualAndIsMultiHost(t *testing.T) { +func TestIsMultilingualAndIsMultihost(t *testing.T) { t.Parallel() files := ` @@ -36,8 +36,8 @@ baseURL = 'https://en.example.org/' title: home --- -- layouts/index.html -- -multilingual={{ hugo.IsMultiLingual }} -multihost={{ hugo.IsMultiHost }} +multilingual={{ hugo.IsMultilingual }} +multihost={{ hugo.IsMultihost }} ` b := hugolib.Test(t, files) diff --git a/common/hugo/hugo_test.go b/common/hugo/hugo_test.go index e1d907158..6e8b2620e 100644 --- a/common/hugo/hugo_test.go +++ b/common/hugo/hugo_test.go @@ -88,6 +88,6 @@ func (c testConfig) IsMultihost() bool { return c.multihost } -func (c testConfig) IsMultiLingual() bool { +func (c testConfig) IsMultilingual() bool { return c.multilingual } diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go index 9cafc876e..590f2ba60 100644 --- a/config/allconfig/allconfig.go +++ b/config/allconfig/allconfig.go @@ -826,7 +826,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon langConfigMap := make(map[string]*Config) languagesConfig := cfg.GetStringMap("languages") - var isMultiHost bool + var isMultihost bool if err := all.CompileConfig(logger); err != nil { return nil, err @@ -863,7 +863,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon } if kk == "baseurl" { // baseURL configure don the language level is a multihost setup. - isMultiHost = true + isMultihost = true } mergedConfig.Set(kk, vv) rootv := cfg.Get(kk) @@ -913,7 +913,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon } // Adjust Goldmark config defaults for multilingual, single-host sites. - if len(languagesConfig) > 1 && !isMultiHost && !clone.Markup.Goldmark.DuplicateResourceFiles { + if len(languagesConfig) > 1 && !isMultihost && !clone.Markup.Goldmark.DuplicateResourceFiles { if !clone.Markup.Goldmark.DuplicateResourceFiles { if clone.Markup.Goldmark.RenderHooks.Link.EnableDefault == nil { clone.Markup.Goldmark.RenderHooks.Link.EnableDefault = types.NewBool(true) @@ -943,7 +943,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon Base: all, LanguageConfigMap: langConfigMap, LoadingInfo: res, - IsMultihost: isMultiHost, + IsMultihost: isMultihost, } return cm, nil diff --git a/config/allconfig/configlanguage.go b/config/allconfig/configlanguage.go index 9971be65f..900db75ce 100644 --- a/config/allconfig/configlanguage.go +++ b/config/allconfig/configlanguage.go @@ -52,7 +52,7 @@ func (c ConfigLanguage) LanguagePrefix() string { return c.Language().Lang } - if !c.IsMultiLingual() || c.DefaultContentLanguage() == c.Language().Lang { + if !c.IsMultilingual() || c.DefaultContentLanguage() == c.Language().Lang { return "" } return c.Language().Lang @@ -78,7 +78,7 @@ func (c ConfigLanguage) FastRenderMode() bool { return c.config.Internal.FastRenderMode } -func (c ConfigLanguage) IsMultiLingual() bool { +func (c ConfigLanguage) IsMultilingual() bool { return len(c.m.Languages) > 1 } diff --git a/config/configProvider.go b/config/configProvider.go index 586a9b758..8f74202ab 100644 --- a/config/configProvider.go +++ b/config/configProvider.go @@ -35,7 +35,7 @@ type AllProvider interface { PathParser() *paths.PathParser Environment() string IsMultihost() bool - IsMultiLingual() bool + IsMultilingual() bool NoBuildLock() bool BaseConfig() BaseConfig Dirs() CommonDirs diff --git a/hugolib/config_test.go b/hugolib/config_test.go index 7914dda45..22beea655 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -508,12 +508,12 @@ func TestLoadConfigFromThemeDir(t *testing.T) { theme = "test-theme" [params] -m1 = "mv1" +m1 = "mv1" ` themeConfig := ` [params] -t1 = "tv1" +t1 = "tv1" t2 = "tv2" ` @@ -885,9 +885,9 @@ ThisIsAParam: {{ site.Params.thisIsAParam }} ).BuildE() b.Assert(err, qt.IsNil) - b.AssertFileContent("public/index.html", ` + b.AssertFileContent("public/index.html", ` MyParam: enParamValue -ThisIsAParam: thisIsAParamValue +ThisIsAParam: thisIsAParamValue `) } @@ -919,7 +919,7 @@ title: "My Swedish Section" -- layouts/index.html -- LanguageCode: {{ eq site.LanguageCode site.Language.LanguageCode }}|{{ site.Language.LanguageCode }}| {{ range $i, $e := (slice site .Site) }} -{{ $i }}|AllPages: {{ len .AllPages }}|Sections: {{ if .Sections }}true{{ end }}| Author: {{ .Authors }}|BuildDrafts: {{ .BuildDrafts }}|IsMultiLingual: {{ .IsMultiLingual }}|Param: {{ .Language.Params.myparam }}|Language string: {{ .Language }}|Languages: {{ .Languages }} +{{ $i }}|AllPages: {{ len .AllPages }}|Sections: {{ if .Sections }}true{{ end }}| Author: {{ .Authors }}|BuildDrafts: {{ .BuildDrafts }}|IsMultilingual: {{ .IsMultiLingual }}|Param: {{ .Language.Params.myparam }}|Language string: {{ .Language }}|Languages: {{ .Languages }} {{ end }} @@ -939,9 +939,9 @@ LanguageCode: {{ eq site.LanguageCode site.Language.LanguageCode }}|{{ site.Lang b.AssertFileContent("public/index.html", ` AllPages: 4| Sections: true| -Param: enParamValue -Param: enParamValue -IsMultiLingual: true +Param: enParamValue +Param: enParamValue +IsMultilingual: true LanguageCode: true|en-US| `) @@ -1062,7 +1062,7 @@ Home ).BuildE() b.Assert(err, qt.IsNil) - b.AssertFileContent("public/index.html", ` + b.AssertFileContent("public/index.html", ` Home `) @@ -1095,7 +1095,7 @@ HTML. HTACCESS. - + ` b := Test(t, files) @@ -1111,7 +1111,7 @@ languageCode = "en-US" -- layouts/index.html -- LanguageCode: {{ .Site.LanguageCode }}|{{ site.Language.LanguageCode }}| - + ` b := Test(t, files) @@ -1137,7 +1137,7 @@ suffixes = ["bar"] -- layouts/index.html -- Home. - + ` b := Test(t, files) @@ -1164,8 +1164,8 @@ func TestConfigMiscPanics(t *testing.T) { params: -- layouts/index.html -- Foo: {{ site.Params.foo }}| - - + + ` b := Test(t, files) @@ -1188,8 +1188,8 @@ defaultContentLanguage = "en" weight = 1 -- layouts/index.html -- Foo: {{ site.Params.foo }}| - - + + ` b, err := NewIntegrationTestBuilder( IntegrationTestConfig{ @@ -1215,8 +1215,8 @@ languageCode = "en" languageName = "English" weight = 1 - - + + ` b, err := NewIntegrationTestBuilder( IntegrationTestConfig{ @@ -1241,7 +1241,7 @@ contentDir = "mycontent" -- layouts/index.html -- Home. - + ` b := Test(t, files) @@ -1343,7 +1343,7 @@ disabled = true -- layouts/index.html -- Home. - + ` b := Test(t, files) @@ -1438,7 +1438,7 @@ home = ["html"] -- hugo.toml -- baseURL = "https://example.com" disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT", "page", "section"] - + ` runVariant(t, files, nil) diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go index 764078623..906fced77 100644 --- a/hugolib/content_map_page.go +++ b/hugolib/content_map_page.go @@ -1778,7 +1778,7 @@ func (sa *sitePagesAssembler) addStandalonePages() error { if sitemapEnabled { addStandalone("/_sitemap", kinds.KindSitemap, output.SitemapFormat) - skipSitemapIndex := s.Conf.IsMultihost() || !(s.Conf.DefaultContentLanguageInSubdir() || s.Conf.IsMultiLingual()) + skipSitemapIndex := s.Conf.IsMultihost() || !(s.Conf.DefaultContentLanguageInSubdir() || s.Conf.IsMultilingual()) if !skipSitemapIndex { addStandalone("/_sitemapindex", kinds.KindSitemapIndex, output.SitemapIndexFormat) diff --git a/hugolib/filesystems/basefs_test.go b/hugolib/filesystems/basefs_test.go index 10b4a4cb2..e39709386 100644 --- a/hugolib/filesystems/basefs_test.go +++ b/hugolib/filesystems/basefs_test.go @@ -315,7 +315,7 @@ func TestStaticFs(t *testing.T) { checkFileContent(sfs, "f2.txt", c, "Hugo Themes Still Rocks!") } -func TestStaticFsMultiHost(t *testing.T) { +func TestStaticFsMultihost(t *testing.T) { c := qt.New(t) v := config.New() workDir := "mywork" @@ -537,7 +537,7 @@ SCSS Match: {{ with resources.Match "**.scss" }}{{ . | len }}|{{ range .}}{{ .Re b := hugolib.Test(t, files) - b.AssertFileContent("public/index.html", ` + b.AssertFileContent("public/index.html", ` SCSS: /scss/app.scss|body { color: blue; }| SCSS Match: 2| `) diff --git a/hugolib/hugo_sites.go b/hugolib/hugo_sites.go index 99dc88b10..671785f44 100644 --- a/hugolib/hugo_sites.go +++ b/hugolib/hugo_sites.go @@ -269,7 +269,7 @@ func (h *HugoSites) pickOneAndLogTheRest(errors []error) error { return errors[i] } -func (h *HugoSites) isMultiLingual() bool { +func (h *HugoSites) isMultilingual() bool { return len(h.Sites) > 1 } diff --git a/hugolib/hugo_sites_multihost_test.go b/hugolib/hugo_sites_multihost_test.go index 4b779ee92..937166146 100644 --- a/hugolib/hugo_sites_multihost_test.go +++ b/hugolib/hugo_sites_multihost_test.go @@ -66,12 +66,12 @@ robots|{{ site.Language.Lang }} 404|{{ site.Language.Lang }} - + ` b := Test(t, files) - b.Assert(b.H.Conf.IsMultiLingual(), qt.Equals, true) + b.Assert(b.H.Conf.IsMultilingual(), qt.Equals, true) b.Assert(b.H.Conf.IsMultihost(), qt.Equals, true) // helpers.PrintFs(b.H.Fs.PublishDir, "", os.Stdout) diff --git a/hugolib/site.go b/hugolib/site.go index 5a58e8373..117e10144 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -297,7 +297,6 @@ func (s *siteRefLinker) refLink(ref string, source any, relative bool, outputFor ref = filepath.ToSlash(ref) refURL, err = url.Parse(ref) - if err != nil { return s.notFoundURL, err } @@ -681,7 +680,7 @@ func (s *Site) getLanguagePermalinkLang(alwaysInSubDir bool) string { return "" } - if s.h.Conf.IsMultiLingual() && alwaysInSubDir { + if s.h.Conf.IsMultilingual() && alwaysInSubDir { return s.Language().Lang } diff --git a/hugolib/site_new.go b/hugolib/site_new.go index 5a5811958..21d5ace96 100644 --- a/hugolib/site_new.go +++ b/hugolib/site_new.go @@ -484,10 +484,10 @@ func (s *Site) BuildDrafts() bool { return s.conf.BuildDrafts } -// Deprecated: Use hugo.IsMultiLingual instead. +// Deprecated: Use hugo.IsMultilingual instead. func (s *Site) IsMultiLingual() bool { - hugo.Deprecate(".Site.IsMultiLingual", "Use hugo.IsMultiLingual instead.", "v0.124.0") - return s.h.isMultiLingual() + hugo.Deprecate(".Site.IsMultiLingual", "Use hugo.IsMultilingual instead.", "v0.124.0") + return s.h.isMultilingual() } func (s *Site) LanguagePrefix() string { diff --git a/hugolib/site_render.go b/hugolib/site_render.go index 1cf4b9a61..86be897fa 100644 --- a/hugolib/site_render.go +++ b/hugolib/site_render.go @@ -334,7 +334,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.Conf.IsMultihost() || !(s.h.Conf.DefaultContentLanguageInSubdir() || s.h.Conf.IsMultiLingual()) { + if s.h.Conf.IsMultihost() || !(s.h.Conf.DefaultContentLanguageInSubdir() || s.h.Conf.IsMultilingual()) { // No need for a redirect return nil } diff --git a/modules/config.go b/modules/config.go index 62671613c..abb938ac0 100644 --- a/modules/config.go +++ b/modules/config.go @@ -86,7 +86,7 @@ func ApplyProjectConfigDefaults(mod Module, cfgs ...config.AllProvider) error { first := cfgs[0] dirsBase := first.DirsBase() - isMultiHost := first.IsMultihost() + isMultihost := first.IsMultihost() for i, cfg := range cfgs { dirs := cfg.Dirs() @@ -113,7 +113,7 @@ func ApplyProjectConfigDefaults(mod Module, cfgs ...config.AllProvider) error { dir = dirs.AssetDir case files.ComponentFolderStatic: // For static dirs, we only care about the language in multihost setups. - dropLang = !isMultiHost + dropLang = !isMultihost } var perLang bool diff --git a/resources/page/page_matcher_test.go b/resources/page/page_matcher_test.go index 3ab68e8af..dfb479d5e 100644 --- a/resources/page/page_matcher_test.go +++ b/resources/page/page_matcher_test.go @@ -180,7 +180,7 @@ func (c testConfig) IsMultihost() bool { return c.multihost } -func (c testConfig) IsMultiLingual() bool { +func (c testConfig) IsMultilingual() bool { return c.multilingual } diff --git a/resources/page/site.go b/resources/page/site.go index d9f3d967b..8f268091f 100644 --- a/resources/page/site.go +++ b/resources/page/site.go @@ -126,7 +126,7 @@ type Site interface { // BuildDrafts is deprecated and will be removed in a future release. BuildDrafts() bool - // Deprecated: Use hugo.IsMultiLingual instead. + // Deprecated: Use hugo.IsMultilingual instead. IsMultiLingual() bool // LanguagePrefix returns the language prefix for this site. @@ -292,7 +292,7 @@ func (s *siteWrapper) BuildDrafts() bool { return s.s.BuildDrafts() } -// Deprecated: Use hugo.IsMultiLingual instead. +// Deprecated: Use hugo.IsMultilingual instead. func (s *siteWrapper) IsMultiLingual() bool { return s.s.IsMultiLingual() } @@ -453,7 +453,7 @@ func (s testSite) BuildDrafts() bool { return false } -// Deprecated: Use hugo.IsMultiLingual instead. +// Deprecated: Use hugo.IsMultilingual instead. func (s testSite) IsMultiLingual() bool { return false }