commit 3a5ee0d2d6e344b12efc7a97354ec3480c4c578b
parent 4ffaeaf15536596c94dc73b393ca7894e3bd5e2c
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Mon, 15 Feb 2021 11:11:34 +0100
modules: Allow absolute paths for any modules resolved via project replacement
Fixes #8240
Diffstat:
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git 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/<mymodule>
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
@@ -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 {