buildWatch bool
environment string
- // File format to read or write (TOML, YAML, JSON).
- format string
-
// Common build flags.
baseURL string
gc bool
if err != nil {
return err
}
- switch r.format {
- case "json", "toml", "yaml":
- // OK
- default:
- return fmt.Errorf("unsupported format %q; must be one of json, toml or yaml", r.format)
- }
loggers.PanicOnWarning.Store(r.panicOnWarning)
r.commonConfigs = lazycache.New[int32, *commonConfig](lazycache.Options{MaxEntries: 5})
// Configure persistent flags
cmd.PersistentFlags().StringVarP(&r.source, "source", "s", "", "filesystem path to read files relative from")
- cmd.PersistentFlags().StringVar(&r.format, "format", "toml", "preferred file format (toml, yaml or json)")
cmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
cmd.PersistentFlags().StringP("destination", "d", "", "filesystem path to write files to")
cmd.PersistentFlags().SetAnnotation("destination", cobra.BashCompSubdirsInDir, []string{})
"bytes"
"context"
"encoding/json"
+ "fmt"
"os"
"strings"
"time"
type configCommand struct {
r *rootCommand
+ format string
+
commands []simplecobra.Commander
}
return err
}
- format := strings.ToLower(c.r.format)
+ format := strings.ToLower(c.format)
switch format {
case "json":
return parser.InterfaceToConfig(m, metadecoders.YAML, os.Stdout)
case "toml":
return parser.InterfaceToConfig(m, metadecoders.TOML, os.Stdout)
+ default:
+ return fmt.Errorf("unsupported format: %q", format)
}
}
cmd := cd.CobraCommand
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)")
+
return nil
}
var (
force bool
contentType string
+ format string
)
var c *newCommand
cmd.Flags().StringVarP(&contentType, "kind", "k", "", "content type to create")
cmd.Flags().String("editor", "", "edit new content with this editor, if provided")
cmd.Flags().BoolVarP(&force, "force", "f", false, "overwrite file if it already exists")
+ cmd.Flags().StringVar(&format, "format", "toml", "preferred file format (toml, yaml or json)")
+
},
},
&simpleCommand{
return errors.New(createpath + " already exists and is not empty. See --force.")
case !isEmpty && force:
- all := append(dirs, filepath.Join(createpath, "hugo."+r.format))
+ all := append(dirs, filepath.Join(createpath, "hugo."+format))
for _, path := range all {
if exists, _ := helpers.Exists(path, sourceFs); exists {
return errors.New(path + " already exists")
}
}
- c.newSiteCreateConfig(sourceFs, createpath, r.format)
+ c.newSiteCreateConfig(sourceFs, createpath, format)
// Create a default archetype file.
helpers.SafeWriteToDisk(filepath.Join(archeTypePath, "default.md"),