mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-29 07:00:31 +03:00
Add multilingual multihost support
This commit adds multihost support when more than one language is configured and `baseURL` is set per language. Updates #4027
This commit is contained in:
parent
6233ddf9d1
commit
2e0465764b
14 changed files with 350 additions and 80 deletions
|
@ -19,6 +19,7 @@ import (
|
|||
"io"
|
||||
"strings"
|
||||
|
||||
"github.com/gohugoio/hugo/config"
|
||||
"github.com/gohugoio/hugo/helpers"
|
||||
"github.com/spf13/afero"
|
||||
"github.com/spf13/viper"
|
||||
|
@ -80,11 +81,34 @@ func LoadConfig(fs afero.Fs, relativeSourcePath, configFilename string) (*viper.
|
|||
helpers.Deprecated("site config", "disableRobotsTXT", "Use disableKinds= [\"robotsTXT\"]", false)
|
||||
}
|
||||
|
||||
loadDefaultSettingsFor(v)
|
||||
if err := loadDefaultSettingsFor(v); err != nil {
|
||||
return v, err
|
||||
}
|
||||
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func loadLanguageSettings(cfg config.Provider) error {
|
||||
multilingual := cfg.GetStringMap("languages")
|
||||
var (
|
||||
langs helpers.Languages
|
||||
err error
|
||||
)
|
||||
|
||||
if len(multilingual) == 0 {
|
||||
langs = append(langs, helpers.NewDefaultLanguage(cfg))
|
||||
} else {
|
||||
langs, err = toSortedLanguages(cfg, multilingual)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed to parse multilingual config: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
cfg.Set("languagesSorted", langs)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func loadDefaultSettingsFor(v *viper.Viper) error {
|
||||
|
||||
c, err := helpers.NewContentSpec(v)
|
||||
|
@ -154,5 +178,5 @@ func loadDefaultSettingsFor(v *viper.Viper) error {
|
|||
v.SetDefault("debug", false)
|
||||
v.SetDefault("disableFastRender", false)
|
||||
|
||||
return nil
|
||||
return loadLanguageSettings(v)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue