From 639073e4fee8fd4235c1002b076e110fad4c82f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 9 Feb 2024 13:52:36 +0200 Subject: Fix rebuild with resources.Concat Fixes #12017 --- config/allconfig/allconfig.go | 4 ++-- config/allconfig/configlanguage.go | 10 +++++++++- config/configProvider.go | 4 +++- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'config') 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 -- cgit v1.2.3