}
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
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
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 {
// 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)
}
}
}()
-
if err != nil {
c.r.Println("Error:", err)
}
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.
Running() bool
WorkingDir() string
IsMultihost() bool
- IsMultiLingual() bool
+ IsMultilingual() bool
}
// NewInfo creates a new Hugo Info object.
"github.com/gohugoio/hugo/hugolib"
)
-func TestIsMultiLingualAndIsMultiHost(t *testing.T) {
+func TestIsMultilingualAndIsMultihost(t *testing.T) {
t.Parallel()
files := `
title: home
---
-- layouts/index.html --
-multilingual={{ hugo.IsMultiLingual }}
-multihost={{ hugo.IsMultiHost }}
+multilingual={{ hugo.IsMultilingual }}
+multihost={{ hugo.IsMultihost }}
`
b := hugolib.Test(t, files)
return c.multihost
}
-func (c testConfig) IsMultiLingual() bool {
+func (c testConfig) IsMultilingual() bool {
return c.multilingual
}
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
}
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)
}
// 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)
Base: all,
LanguageConfigMap: langConfigMap,
LoadingInfo: res,
- IsMultihost: isMultiHost,
+ IsMultihost: isMultihost,
}
return cm, nil
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
return c.config.Internal.FastRenderMode
}
-func (c ConfigLanguage) IsMultiLingual() bool {
+func (c ConfigLanguage) IsMultilingual() bool {
return len(c.m.Languages) > 1
}
PathParser() *paths.PathParser
Environment() string
IsMultihost() bool
- IsMultiLingual() bool
+ IsMultilingual() bool
NoBuildLock() bool
BaseConfig() BaseConfig
Dirs() CommonDirs
theme = "test-theme"
[params]
-m1 = "mv1"
+m1 = "mv1"
`
themeConfig := `
[params]
-t1 = "tv1"
+t1 = "tv1"
t2 = "tv2"
`
).BuildE()
b.Assert(err, qt.IsNil)
- b.AssertFileContent("public/index.html", `
+ b.AssertFileContent("public/index.html", `
MyParam: enParamValue
-ThisIsAParam: thisIsAParamValue
+ThisIsAParam: thisIsAParamValue
`)
}
-- 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 }}
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|
`)
).BuildE()
b.Assert(err, qt.IsNil)
- b.AssertFileContent("public/index.html", `
+ b.AssertFileContent("public/index.html", `
Home
`)
HTACCESS.
-
+
`
b := Test(t, files)
-- layouts/index.html --
LanguageCode: {{ .Site.LanguageCode }}|{{ site.Language.LanguageCode }}|
-
+
`
b := Test(t, files)
-- layouts/index.html --
Home.
-
+
`
b := Test(t, files)
params:
-- layouts/index.html --
Foo: {{ site.Params.foo }}|
-
-
+
+
`
b := Test(t, files)
weight = 1
-- layouts/index.html --
Foo: {{ site.Params.foo }}|
-
-
+
+
`
b, err := NewIntegrationTestBuilder(
IntegrationTestConfig{
languageName = "English"
weight = 1
-
-
+
+
`
b, err := NewIntegrationTestBuilder(
IntegrationTestConfig{
-- layouts/index.html --
Home.
-
+
`
b := Test(t, files)
-- layouts/index.html --
Home.
-
+
`
b := Test(t, files)
-- hugo.toml --
baseURL = "https://example.com"
disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT", "page", "section"]
-
+
`
runVariant(t, files, nil)
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)
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"
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|
`)
return errors[i]
}
-func (h *HugoSites) isMultiLingual() bool {
+func (h *HugoSites) isMultilingual() bool {
return len(h.Sites) > 1
}
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)
ref = filepath.ToSlash(ref)
refURL, err = url.Parse(ref)
-
if err != nil {
return s.notFoundURL, err
}
return ""
}
- if s.h.Conf.IsMultiLingual() && alwaysInSubDir {
+ if s.h.Conf.IsMultilingual() && alwaysInSubDir {
return s.Language().Lang
}
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 {
// 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
}
first := cfgs[0]
dirsBase := first.DirsBase()
- isMultiHost := first.IsMultihost()
+ isMultihost := first.IsMultihost()
for i, cfg := range cfgs {
dirs := cfg.Dirs()
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
return c.multihost
}
-func (c testConfig) IsMultiLingual() bool {
+func (c testConfig) IsMultilingual() bool {
return c.multilingual
}
// 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.
return s.s.BuildDrafts()
}
-// Deprecated: Use hugo.IsMultiLingual instead.
+// Deprecated: Use hugo.IsMultilingual instead.
func (s *siteWrapper) IsMultiLingual() bool {
return s.s.IsMultiLingual()
}
return false
}
-// Deprecated: Use hugo.IsMultiLingual instead.
+// Deprecated: Use hugo.IsMultilingual instead.
func (s testSite) IsMultiLingual() bool {
return false
}