blob: 7b3e2352512cf595e37f9b1e58536104e19c7b1d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
package buildcmd
import (
"context"
"flag"
"github.com/peterbourgon/ff/v3/ffcli"
"github.com/gohugoio/hugoThemesSiteBuilder/pkg/rootcmd"
)
// Config for the get subcommand.
type Config struct {
rootConfig *rootcmd.Config
}
// New returns a usable ffcli.Command for the get subcommand.
func New(rootConfig *rootcmd.Config) *ffcli.Command {
cfg := Config{
rootConfig: rootConfig,
}
fs := flag.NewFlagSet(rootcmd.CommandName+" build", flag.ExitOnError)
rootConfig.RegisterFlags(fs)
return &ffcli.Command{
Name: "build",
ShortUsage: rootcmd.CommandName + " build [flags] <action>",
ShortHelp: "Build re-creates the themes site's content based on themes.txt and go.mod.",
FlagSet: fs,
Exec: cfg.Exec,
}
}
// Exec function for this command.
func (c *Config) Exec(ctx context.Context, args []string) error {
const configAll = "config.json"
client := c.rootConfig.Client
if err := client.CreateThemesConfig(); err != nil {
return err
}
if true {
return nil
}
if !client.OutFileExists("go.mod") {
// Initialize the Hugo Module
if err := client.InitModule(configAll); err != nil {
return err
}
}
mmap, err := client.GetHugoModulesMap(configAll)
if err != nil {
return err
}
if err := client.WriteThemesContent(mmap); err != nil {
return err
}
return nil
}
|