summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-05-22 17:35:21 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-05-22 18:54:34 +0200
commit943ff7f7ce14a1e7edc195684036000efea5fb7f (patch)
treec4bfdc0d7bbb6660b3e0905b1f0a5f58bc3ff230
parent288be1976d766f8b5c693da1830866cff616241d (diff)
commands: Add missing gen docshelper command
Updates #10953
-rw-r--r--commands/gen.go38
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(),
},
}