Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hugolib/hugo_modules_test.go28
-rw-r--r--modules/collect.go32
-rw-r--r--modules/config.go3
3 files changed, 49 insertions, 14 deletions
diff --git a/hugolib/hugo_modules_test.go b/hugolib/hugo_modules_test.go
index 73a3d2db0..66b3609af 100644
--- a/hugolib/hugo_modules_test.go
+++ b/hugolib/hugo_modules_test.go
@@ -506,3 +506,31 @@ weight = 2
}
}
}
+
+func TestMountsProject(t *testing.T) {
+
+ config := `
+
+baseURL="https://example.org"
+
+[module]
+[[module.mounts]]
+source="mycontent"
+target="content"
+
+`
+ b := newTestSitesBuilder(t).
+ WithConfigFile("toml", config).
+ WithSourceFile(filepath.Join("mycontent", "mypage.md"), `
+---
+title: "My Page"
+---
+
+`)
+
+ b.Build(BuildCfg{})
+
+ //helpers.PrintFs(b.H.Fs.Source, "public", os.Stdout)
+
+ b.AssertFileContent("public/mypage/index.html", "Permalink: https://example.org/mypage/")
+}
diff --git a/modules/collect.go b/modules/collect.go
index 9f3eb99f1..5ba7f74e2 100644
--- a/modules/collect.go
+++ b/modules/collect.go
@@ -305,21 +305,25 @@ func (c *collector) addAndRecurse(owner *moduleAdapter, disabled bool) error {
func (c *collector) applyMounts(moduleImport Import, mod *moduleAdapter) error {
mounts := moduleImport.Mounts
- if !mod.projectMod && len(mounts) == 0 {
- modConfig := mod.Config()
+ modConfig := mod.Config()
+
+ if len(mounts) == 0 {
+ // Mounts not defined by the import.
mounts = modConfig.Mounts
- if len(mounts) == 0 {
- // Create default mount points for every component folder that
- // exists in the module.
- for _, componentFolder := range files.ComponentFolders {
- sourceDir := filepath.Join(mod.Dir(), componentFolder)
- _, err := c.fs.Stat(sourceDir)
- if err == nil {
- mounts = append(mounts, Mount{
- Source: componentFolder,
- Target: componentFolder,
- })
- }
+
+ }
+
+ if !mod.projectMod && len(mounts) == 0 {
+ // Create default mount points for every component folder that
+ // exists in the module.
+ for _, componentFolder := range files.ComponentFolders {
+ sourceDir := filepath.Join(mod.Dir(), componentFolder)
+ _, err := c.fs.Stat(sourceDir)
+ if err == nil {
+ mounts = append(mounts, Mount{
+ Source: componentFolder,
+ Target: componentFolder,
+ })
}
}
}
diff --git a/modules/config.go b/modules/config.go
index 122fd6c55..163bc7049 100644
--- a/modules/config.go
+++ b/modules/config.go
@@ -171,6 +171,9 @@ func ApplyProjectConfigDefaults(cfg config.Provider, mod Module) error {
mounts = append(mounts, Mount{Source: dirKey.component, Target: dirKey.component})
}
+ // Prepend the mounts from configuration.
+ mounts = append(moda.mounts, mounts...)
+
// Remove duplicates
seen := make(map[string]bool)
tmp := mounts[:0]