diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-10-29 19:14:04 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-10-30 11:41:05 +0300 |
commit | 173187e2633f3fc037c83e1e3de2902ae3c93b92 (patch) | |
tree | 92fbe7d0cd7dddf2eb229b074f24120c15d0407a /modules/collect.go | |
parent | 8a1c637c4494751046142e0ef345fce38fc1431b (diff) |
Add module.replacements
Fixes #7904
Fixes #7908
Diffstat (limited to 'modules/collect.go')
-rw-r--r-- | modules/collect.go | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/modules/collect.go b/modules/collect.go index 3059d3f99..e00fa540f 100644 --- a/modules/collect.go +++ b/modules/collect.go @@ -274,10 +274,14 @@ func (c *collector) add(owner *moduleAdapter, moduleImport Import, disabled bool } } - // Fall back to /themes/<mymodule> + // Fall back to project/themes/<mymodule> if moduleDir == "" { - moduleDir = filepath.Join(c.ccfg.ThemesDir, modulePath) - + var err error + moduleDir, err = c.createThemeDirname(modulePath, owner.projectMod) + if err != nil { + c.err = err + return nil, nil + } if found, _ := afero.Exists(c.fs, moduleDir); !found { c.err = c.wrapModuleNotFound(errors.Errorf(`module %q not found; either add it as a Hugo Module or store it in %q.`, modulePath, c.ccfg.ThemesDir)) return nil, nil @@ -441,7 +445,7 @@ func (c *collector) applyThemeConfig(tc *moduleAdapter) error { tc.cfg = cfg } - config, err := DecodeConfig(cfg) + config, err := decodeConfig(cfg, c.moduleConfig.replacementsMap) if err != nil { return err } @@ -605,7 +609,6 @@ func (c *collector) normalizeMounts(owner *moduleAdapter, mounts []Mount) ([]Mou mnt.Source = filepath.Clean(mnt.Source) mnt.Target = filepath.Clean(mnt.Target) - var sourceDir string if owner.projectMod && filepath.IsAbs(mnt.Source) { |