commit 23136281f16433f558b868e9e898f741cb20a0bd Author: xuthus5 Date: Fri Jul 22 00:05:59 2022 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..53fc767 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.vscode/ +.idea/ +*.exe +go.sum diff --git a/cmd.go b/cmd.go new file mode 100644 index 0000000..c372b5c --- /dev/null +++ b/cmd.go @@ -0,0 +1,21 @@ +package main + +import ( + "github.com/spf13/cobra" +) + +var ( + rootCmd = &cobra.Command{ + Use: "mder", + Short: "mder is a very fast static site generator", + } +) + +func init() { + // create a new mder folder + rootCmd.AddCommand(initCmd()) +} + +func main() { + rootCmd.Execute() +} diff --git a/deploy.go b/deploy.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/deploy.go @@ -0,0 +1 @@ +package main diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..c36bc83 --- /dev/null +++ b/go.mod @@ -0,0 +1,10 @@ +module mder + +go 1.18 + +require github.com/spf13/cobra v1.5.0 + +require ( + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect +) diff --git a/init.go b/init.go new file mode 100644 index 0000000..703d355 --- /dev/null +++ b/init.go @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" + "os" + + "github.com/spf13/cobra" +) + +func initCmd() *cobra.Command { + var name string + cmd := &cobra.Command{ + Use: "init", + Short: "create a new mder folder", + Run: func(cmd *cobra.Command, args []string) { + if err := cloneTemplate(name); err != nil { + panic(err) + } + _, _ = fmt.Fprintf(os.Stdout, "create folder %s success.\n", name) + }, + } + + cmd.Flags().StringVar(&name, "name", "mder", "Name of the folder to create") + return cmd +} diff --git a/page.go b/page.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/page.go @@ -0,0 +1 @@ +package main diff --git a/post.go b/post.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/post.go @@ -0,0 +1 @@ +package main diff --git a/serve.go b/serve.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/serve.go @@ -0,0 +1 @@ +package main diff --git a/utils.go b/utils.go new file mode 100644 index 0000000..9b4279d --- /dev/null +++ b/utils.go @@ -0,0 +1,16 @@ +package main + +import ( + "fmt" + "os" + "os/exec" +) + +func cloneTemplate(base string) error { + _, err := exec.Command("git", "clone", "https://gitter.top/mder/template", base).Output() + if err != nil { + _, _ = fmt.Fprintf(os.Stderr, "get latest template failed: %v\n", err) + return err + } + return nil +}