commands: Deprecate CLI flags canonifyURLs, pluralizeListTitles, preserveTaxonomyName...
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 28 Jan 2018 16:22:08 +0000 (17:22 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 28 Jan 2018 16:22:08 +0000 (17:22 +0100)
You can of course still set them in site config.

Fixes #4347

commands/hugo.go

index c9f07348341f7fe00ca3c499c6d3c7617a05b0f2..d24c8cebb3f431d0ae68744b4762aba761c4c549 100644 (file)
@@ -509,8 +509,21 @@ func (c *commandeer) initializeFlags(cmd *cobra.Command) {
 
 }
 
+var deprecatedFlags = map[string]bool{
+       strings.ToLower("uglyURLs"):              true,
+       strings.ToLower("pluralizeListTitles"):   true,
+       strings.ToLower("preserveTaxonomyNames"): true,
+       strings.ToLower("canonifyURLs"):          true,
+}
+
 func (c *commandeer) setValueFromFlag(flags *flag.FlagSet, key string) {
        if flags.Changed(key) {
+               if _, deprecated := deprecatedFlags[strings.ToLower(key)]; deprecated {
+                       msg := fmt.Sprintf(`Set "%s = true" in your config.toml.
+If you need to set this configuration value from the command line, set it via an OS environment variable: "HUGO_%s=true hugo"`, key, strings.ToUpper(key))
+                       // Remove in Hugo 0.37
+                       helpers.Deprecated("hugo", "--"+key+" flag", msg, false)
+               }
                f := flags.Lookup(key)
                c.Set(key, f.Value.String())
        }