diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-05-22 17:35:21 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-05-22 18:54:34 +0200 |
commit | 943ff7f7ce14a1e7edc195684036000efea5fb7f (patch) | |
tree | c4bfdc0d7bbb6660b3e0905b1f0a5f58bc3ff230 | |
parent | 288be1976d766f8b5c693da1830866cff616241d (diff) |
commands: Add missing gen docshelper command
Updates #10953
-rw-r--r-- | commands/gen.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/commands/gen.go b/commands/gen.go index fde5ae3bc..1f8109e01 100644 --- a/commands/gen.go +++ b/commands/gen.go @@ -15,6 +15,7 @@ package commands import ( "context" + "encoding/json" "fmt" "os" "path" @@ -26,6 +27,7 @@ import ( "github.com/alecthomas/chroma/v2/styles" "github.com/bep/simplecobra" "github.com/gohugoio/hugo/common/hugo" + "github.com/gohugoio/hugo/docshelper" "github.com/gohugoio/hugo/helpers" "github.com/gohugoio/hugo/hugofs" "github.com/spf13/cobra" @@ -174,11 +176,47 @@ url: %s } + var docsHelperTarget string + + newDocsHelper := func() simplecobra.Commander { + return &simpleCommand{ + name: "docshelper", + short: "Generate some data files for the Hugo docs.", + + run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error { + r.Println("Generate docs data to", docsHelperTarget) + + targetFile := filepath.Join(docsHelperTarget, "docs.json") + + f, err := os.Create(targetFile) + if err != nil { + return err + } + defer f.Close() + + enc := json.NewEncoder(f) + enc.SetIndent("", " ") + + if err := enc.Encode(docshelper.GetDocProvider()); err != nil { + return err + } + + r.Println("Done!") + return nil + }, + withc: func(cmd *cobra.Command) { + cmd.Hidden = true + cmd.PersistentFlags().StringVarP(&docsHelperTarget, "dir", "", "docs/data", "data dir") + }, + } + } + return &genCommand{ commands: []simplecobra.Commander{ newChromaStyles(), newGen(), newMan(), + newDocsHelper(), }, } |