diff --git a/modules/collect.go b/modules/collect.go index eb7e0d000..4de51258b 100644 --- a/modules/collect.go +++ b/modules/collect.go @@ -276,7 +276,7 @@ func (c *collector) add(owner *moduleAdapter, moduleImport Import, disabled bool // Fall back to project/themes/ if moduleDir == "" { var err error - moduleDir, err = c.createThemeDirname(modulePath, owner.projectMod) + moduleDir, err = c.createThemeDirname(modulePath, owner.projectMod || moduleImport.pathProjectReplaced) if err != nil { c.err = err return nil, nil diff --git a/modules/config.go b/modules/config.go index d56f38343..106becc60 100644 --- a/modules/config.go +++ b/modules/config.go @@ -237,6 +237,7 @@ func decodeConfig(cfg config.Provider, pathReplacements map[string]string) (Conf for i, imp := range c.Imports { if newImp, found := c.replacementsMap[imp.Path]; found { imp.Path = newImp + imp.pathProjectReplaced = true c.Imports[i] = imp } } @@ -355,12 +356,13 @@ func (v HugoVersion) IsValid() bool { } type Import struct { - Path string // Module path - IgnoreConfig bool // Ignore any config in config.toml (will still folow imports). - IgnoreImports bool // Do not follow any configured imports. - NoVendor bool // Never vendor this import (only allowed in main project). - Disable bool // Turn off this module. - Mounts []Mount + Path string // Module path + pathProjectReplaced bool // Set when Path is replaced in project config. + IgnoreConfig bool // Ignore any config in config.toml (will still folow imports). + IgnoreImports bool // Do not follow any configured imports. + NoVendor bool // Never vendor this import (only allowed in main project). + Disable bool // Turn off this module. + Mounts []Mount } type Mount struct {