mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
parent
2a2c983867
commit
e26a8b242a
4 changed files with 127 additions and 100 deletions
|
@ -22,6 +22,10 @@ import (
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ cmder = (*genChromaStyles)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
type genChromaStyles struct {
|
type genChromaStyles struct {
|
||||||
style string
|
style string
|
||||||
highlightStyle string
|
highlightStyle string
|
||||||
|
@ -29,6 +33,10 @@ type genChromaStyles struct {
|
||||||
cmd *cobra.Command
|
cmd *cobra.Command
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *genChromaStyles) getCommand() *cobra.Command {
|
||||||
|
return c.cmd
|
||||||
|
}
|
||||||
|
|
||||||
// TODO(bep) highlight
|
// TODO(bep) highlight
|
||||||
func createGenChromaStyles() *genChromaStyles {
|
func createGenChromaStyles() *genChromaStyles {
|
||||||
g := &genChromaStyles{
|
g := &genChromaStyles{
|
||||||
|
|
|
@ -23,11 +23,19 @@ import (
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
_ cmder = (*genDocsHelper)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
type genDocsHelper struct {
|
type genDocsHelper struct {
|
||||||
target string
|
target string
|
||||||
cmd *cobra.Command
|
cmd *cobra.Command
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *genDocsHelper) getCommand() *cobra.Command {
|
||||||
|
return c.cmd
|
||||||
|
}
|
||||||
|
|
||||||
func createGenDocsHelper() *genDocsHelper {
|
func createGenDocsHelper() *genDocsHelper {
|
||||||
g := &genDocsHelper{
|
g := &genDocsHelper{
|
||||||
cmd: &cobra.Command{
|
cmd: &cobra.Command{
|
||||||
|
|
|
@ -201,15 +201,15 @@ func AddCommands() {
|
||||||
HugoCmd.AddCommand(newBenchmarkCmd().getCommand())
|
HugoCmd.AddCommand(newBenchmarkCmd().getCommand())
|
||||||
HugoCmd.AddCommand(newConvertCmd().getCommand())
|
HugoCmd.AddCommand(newConvertCmd().getCommand())
|
||||||
HugoCmd.AddCommand(newNewCmd().getCommand())
|
HugoCmd.AddCommand(newNewCmd().getCommand())
|
||||||
HugoCmd.AddCommand(listCmd)
|
HugoCmd.AddCommand(newListCmd().getCommand())
|
||||||
HugoCmd.AddCommand(newImportCmd().getCommand())
|
HugoCmd.AddCommand(newImportCmd().getCommand())
|
||||||
|
|
||||||
HugoCmd.AddCommand(genCmd)
|
HugoCmd.AddCommand(genCmd)
|
||||||
genCmd.AddCommand(genautocompleteCmd)
|
genCmd.AddCommand(genautocompleteCmd)
|
||||||
genCmd.AddCommand(gendocCmd)
|
genCmd.AddCommand(gendocCmd)
|
||||||
genCmd.AddCommand(genmanCmd)
|
genCmd.AddCommand(genmanCmd)
|
||||||
genCmd.AddCommand(createGenDocsHelper().cmd)
|
genCmd.AddCommand(createGenDocsHelper().getCommand())
|
||||||
genCmd.AddCommand(createGenChromaStyles().cmd)
|
genCmd.AddCommand(createGenChromaStyles().getCommand())
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
205
commands/list.go
205
commands/list.go
|
@ -21,129 +21,140 @@ import (
|
||||||
jww "github.com/spf13/jwalterweatherman"
|
jww "github.com/spf13/jwalterweatherman"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
var _ cmder = (*listCmd)(nil)
|
||||||
listCmd.AddCommand(listDraftsCmd)
|
|
||||||
listCmd.AddCommand(listFutureCmd)
|
type listCmd struct {
|
||||||
listCmd.AddCommand(listExpiredCmd)
|
cmd *cobra.Command
|
||||||
listCmd.PersistentFlags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
|
|
||||||
listCmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var listCmd = &cobra.Command{
|
func (c *listCmd) getCommand() *cobra.Command {
|
||||||
Use: "list",
|
return c.cmd
|
||||||
Short: "Listing out various types of content",
|
}
|
||||||
Long: `Listing out various types of content.
|
|
||||||
|
func newListCmd() *listCmd {
|
||||||
|
cc := &listCmd{}
|
||||||
|
|
||||||
|
cc.cmd = &cobra.Command{
|
||||||
|
Use: "list",
|
||||||
|
Short: "Listing out various types of content",
|
||||||
|
Long: `Listing out various types of content.
|
||||||
|
|
||||||
List requires a subcommand, e.g. ` + "`hugo list drafts`.",
|
List requires a subcommand, e.g. ` + "`hugo list drafts`.",
|
||||||
RunE: nil,
|
RunE: nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
var listDraftsCmd = &cobra.Command{
|
cc.cmd.AddCommand(
|
||||||
Use: "drafts",
|
&cobra.Command{
|
||||||
Short: "List all drafts",
|
Use: "drafts",
|
||||||
Long: `List all of the drafts in your content directory.`,
|
Short: "List all drafts",
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
Long: `List all of the drafts in your content directory.`,
|
||||||
cfgInit := func(c *commandeer) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
c.Set("buildDrafts", true)
|
cfgInit := func(c *commandeer) error {
|
||||||
return nil
|
c.Set("buildDrafts", true)
|
||||||
}
|
return nil
|
||||||
c, err := InitializeConfig(false, cfgInit)
|
}
|
||||||
if err != nil {
|
c, err := InitializeConfig(false, cfgInit)
|
||||||
return err
|
if err != nil {
|
||||||
}
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
sites, err := hugolib.NewHugoSites(*c.DepsCfg)
|
sites, err := hugolib.NewHugoSites(*c.DepsCfg)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newSystemError("Error creating sites", err)
|
return newSystemError("Error creating sites", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
|
if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
|
||||||
return newSystemError("Error Processing Source Content", err)
|
return newSystemError("Error Processing Source Content", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, p := range sites.Pages() {
|
for _, p := range sites.Pages() {
|
||||||
if p.IsDraft() {
|
if p.IsDraft() {
|
||||||
jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
|
jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
|
&cobra.Command{
|
||||||
var listFutureCmd = &cobra.Command{
|
Use: "future",
|
||||||
Use: "future",
|
Short: "List all posts dated in the future",
|
||||||
Short: "List all posts dated in the future",
|
Long: `List all of the posts in your content directory which will be
|
||||||
Long: `List all of the posts in your content directory which will be
|
|
||||||
posted in the future.`,
|
posted in the future.`,
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
cfgInit := func(c *commandeer) error {
|
cfgInit := func(c *commandeer) error {
|
||||||
c.Set("buildFuture", true)
|
c.Set("buildFuture", true)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
c, err := InitializeConfig(false, cfgInit)
|
c, err := InitializeConfig(false, cfgInit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
sites, err := hugolib.NewHugoSites(*c.DepsCfg)
|
sites, err := hugolib.NewHugoSites(*c.DepsCfg)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newSystemError("Error creating sites", err)
|
return newSystemError("Error creating sites", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
|
if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
|
||||||
return newSystemError("Error Processing Source Content", err)
|
return newSystemError("Error Processing Source Content", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, p := range sites.Pages() {
|
for _, p := range sites.Pages() {
|
||||||
if p.IsFuture() {
|
if p.IsFuture() {
|
||||||
jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
|
jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
|
&cobra.Command{
|
||||||
var listExpiredCmd = &cobra.Command{
|
Use: "expired",
|
||||||
Use: "expired",
|
Short: "List all posts already expired",
|
||||||
Short: "List all posts already expired",
|
Long: `List all of the posts in your content directory which has already
|
||||||
Long: `List all of the posts in your content directory which has already
|
|
||||||
expired.`,
|
expired.`,
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
cfgInit := func(c *commandeer) error {
|
cfgInit := func(c *commandeer) error {
|
||||||
c.Set("buildExpired", true)
|
c.Set("buildExpired", true)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
c, err := InitializeConfig(false, cfgInit)
|
c, err := InitializeConfig(false, cfgInit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
sites, err := hugolib.NewHugoSites(*c.DepsCfg)
|
sites, err := hugolib.NewHugoSites(*c.DepsCfg)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newSystemError("Error creating sites", err)
|
return newSystemError("Error creating sites", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
|
if err := sites.Build(hugolib.BuildCfg{SkipRender: true}); err != nil {
|
||||||
return newSystemError("Error Processing Source Content", err)
|
return newSystemError("Error Processing Source Content", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, p := range sites.Pages() {
|
for _, p := range sites.Pages() {
|
||||||
if p.IsExpired() {
|
if p.IsExpired() {
|
||||||
jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
|
jww.FEEDBACK.Println(filepath.Join(p.File.Dir(), p.File.LogicalName()))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
cc.cmd.PersistentFlags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
|
||||||
|
cc.cmd.PersistentFlags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
|
||||||
|
|
||||||
|
return cc
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue