"time"
"github.com/bep/simplecobra"
+ "github.com/gohugoio/hugo/config/allconfig"
"github.com/gohugoio/hugo/modules"
"github.com/gohugoio/hugo/parser"
"github.com/gohugoio/hugo/parser/metadecoders"
r *rootCommand
format string
+ lang string
commands []simplecobra.Commander
}
if err != nil {
return err
}
- config := conf.configs.Base
+ var config *allconfig.Config
+ if c.lang != "" {
+ var found bool
+ config, found = conf.configs.LanguageConfigMap[c.lang]
+ if !found {
+ return fmt.Errorf("language %q not found", c.lang)
+ }
+ } else {
+ config = conf.configs.LanguageConfigSlice[0]
+ }
var buf bytes.Buffer
dec := json.NewEncoder(&buf)
cmd.Short = "Print the site configuration"
cmd.Long = `Print the site configuration, both default and custom settings.`
cmd.Flags().StringVar(&c.format, "format", "toml", "preferred file format (toml, yaml or json)")
+ cmd.Flags().StringVar(&c.lang, "lang", "", "the language to display config for. Defaults to the first language defined.")
applyLocalFlagsBuildConfig(cmd, c.r)
return nil
}
}
+ // Transfer the changed mounts to the language versions (all share the same mount set, but can be displayed in different languages).
+ for _, l := range c.LanguageConfigSlice {
+ l.Module.Mounts = c.Base.Module.Mounts
+ }
+
return nil
}
b.Assert(enConcp.BaseURL().String(), qt.Equals, "https://example.com")
modConf := enConf.Module
- b.Assert(modConf.Mounts, qt.HasLen, 2)
+ b.Assert(modConf.Mounts, qt.HasLen, 8)
b.Assert(modConf.Mounts[0].Source, qt.Equals, filepath.FromSlash("content/en"))
b.Assert(modConf.Mounts[0].Target, qt.Equals, "content")
b.Assert(modConf.Mounts[0].Lang, qt.Equals, "en")
},
).Build()
- modConf := b.H.Configs.Base.Module
-
- b.Assert(modConf.Mounts, qt.HasLen, 7)
+ b.Assert(b.H.Configs.Base.Module.Mounts, qt.HasLen, 7)
+ b.Assert(b.H.Configs.LanguageConfigSlice[0].Module.Mounts, qt.HasLen, 7)
}