summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-06-01 09:30:16 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-06-01 10:49:21 +0200
commite3ae8f025d5919dd6675d5176b10bcf8884baa95 (patch)
treefdc41ba93919027052fccd77109b5c0bc4098b27
parent06faee5beb2244f08567ac8f50207152553d84a9 (diff)
Make sure any default mounts show up in "hugo config"
Fixes #11040
-rw-r--r--config/allconfig/allconfig.go15
-rw-r--r--hugolib/config_test.go26
2 files changed, 41 insertions, 0 deletions
diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go
index abb955546..40bb2221d 100644
--- a/config/allconfig/allconfig.go
+++ b/config/allconfig/allconfig.go
@@ -649,6 +649,21 @@ func (c *Configs) Init() error {
return err
}
+ // We should consolidate this, but to get a full view of the mounts in e.g. "hugo config" we need to
+ // transfer any default mounts added above to the config used to print the config.
+ for _, m := range c.Modules[0].Mounts() {
+ var found bool
+ for _, cm := range c.Base.Module.Mounts {
+ if cm.Source == m.Source && cm.Target == m.Target && cm.Lang == m.Lang {
+ found = true
+ break
+ }
+ }
+ if !found {
+ c.Base.Module.Mounts = append(c.Base.Module.Mounts, m)
+ }
+ }
+
return nil
}
diff --git a/hugolib/config_test.go b/hugolib/config_test.go
index 814be667f..245180e12 100644
--- a/hugolib/config_test.go
+++ b/hugolib/config_test.go
@@ -1151,3 +1151,29 @@ weight = 1
})
}
+
+// Issue #11040
+func TestConfigModuleDefaultMountsInConfig(t *testing.T) {
+ t.Parallel()
+
+ files := `
+-- hugo.toml --
+baseURL = "https://example.org"
+contentDir = "mycontent"
+-- layouts/index.html --
+Home.
+
+
+`
+ b := NewIntegrationTestBuilder(
+ IntegrationTestConfig{
+ T: t,
+ TxtarString: files,
+ },
+ ).Build()
+
+ modConf := b.H.Configs.Base.Module
+
+ b.Assert(modConf.Mounts, qt.HasLen, 7)
+
+}