diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/allconfig/allconfig.go | 4 | ||||
-rw-r--r-- | config/allconfig/configlanguage.go | 10 | ||||
-rw-r--r-- | config/configProvider.go | 4 |
3 files changed, 14 insertions, 4 deletions
diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go index f22fe8a7e..21d12b0c7 100644 --- a/config/allconfig/allconfig.go +++ b/config/allconfig/allconfig.go @@ -663,7 +663,7 @@ type Configs struct { // All below is set in Init. Languages langs.Languages LanguagesDefaultFirst langs.Languages - ContentPathParser paths.PathParser + ContentPathParser *paths.PathParser configLangs []config.AllProvider } @@ -735,7 +735,7 @@ func (c *Configs) Init() error { c.Languages = languages c.LanguagesDefaultFirst = languagesDefaultFirst - c.ContentPathParser = paths.PathParser{LanguageIndex: languagesDefaultFirst.AsIndexSet(), IsLangDisabled: c.Base.IsLangDisabled} + c.ContentPathParser = &paths.PathParser{LanguageIndex: languagesDefaultFirst.AsIndexSet(), IsLangDisabled: c.Base.IsLangDisabled} c.configLangs = make([]config.AllProvider, len(c.Languages)) for i, l := range c.LanguagesDefaultFirst { diff --git a/config/allconfig/configlanguage.go b/config/allconfig/configlanguage.go index 2cc80caa8..9971be65f 100644 --- a/config/allconfig/configlanguage.go +++ b/config/allconfig/configlanguage.go @@ -19,6 +19,7 @@ import ( "github.com/gohugoio/hugo/common/paths" "github.com/gohugoio/hugo/common/urls" "github.com/gohugoio/hugo/config" + "github.com/gohugoio/hugo/identity" "github.com/gohugoio/hugo/langs" ) @@ -42,7 +43,7 @@ func (c ConfigLanguage) LanguagesDefaultFirst() langs.Languages { return c.m.LanguagesDefaultFirst } -func (c ConfigLanguage) PathParser() paths.PathParser { +func (c ConfigLanguage) PathParser() *paths.PathParser { return c.m.ContentPathParser } @@ -133,6 +134,13 @@ func (c ConfigLanguage) Watching() bool { return c.m.Base.Internal.Watch } +func (c ConfigLanguage) NewIdentityManager(name string) identity.Manager { + if !c.Watching() { + return identity.NopManager + } + return identity.NewManager(name) +} + // GetConfigSection is mostly used in tests. The switch statement isn't complete, but what's in use. func (c ConfigLanguage) GetConfigSection(s string) any { switch s { diff --git a/config/configProvider.go b/config/configProvider.go index 38dde3bb4..586a9b758 100644 --- a/config/configProvider.go +++ b/config/configProvider.go @@ -20,6 +20,7 @@ import ( "github.com/gohugoio/hugo/common/paths" "github.com/gohugoio/hugo/common/types" "github.com/gohugoio/hugo/common/urls" + "github.com/gohugoio/hugo/identity" "github.com/gohugoio/hugo/langs" ) @@ -31,7 +32,7 @@ type AllProvider interface { LanguagePrefix() string BaseURL() urls.BaseURL BaseURLLiveReload() urls.BaseURL - PathParser() paths.PathParser + PathParser() *paths.PathParser Environment() string IsMultihost() bool IsMultiLingual() bool @@ -57,6 +58,7 @@ type AllProvider interface { BuildDrafts() bool Running() bool Watching() bool + NewIdentityManager(name string) identity.Manager FastRenderMode() bool PrintUnusedTemplates() bool EnableMissingTranslationPlaceholders() bool |