diff --git a/cmd/owl/init.go b/cmd/owl/init.go new file mode 100644 index 0000000..1eb7ca3 --- /dev/null +++ b/cmd/owl/init.go @@ -0,0 +1,38 @@ +package main + +import ( + "h4kor/owl-blogs" + + "github.com/spf13/cobra" +) + +var domain string +var singleUser string +var unsafe bool + +func init() { + rootCmd.AddCommand(initCmd) + + initCmd.PersistentFlags().StringVar(&domain, "domain", "http://localhost:8080", "Domain to use") + initCmd.PersistentFlags().StringVar(&singleUser, "single-user", "", "Use single user mode with given username") + initCmd.PersistentFlags().BoolVar(&unsafe, "unsafe", false, "Allow raw html") +} + +var initCmd = &cobra.Command{ + Use: "init", + Short: "Creates a new repository", + Long: `Creates a new repository`, + Run: func(cmd *cobra.Command, args []string) { + _, err := owl.CreateRepository(repoPath, owl.RepoConfig{ + Domain: domain, + SingleUser: singleUser, + AllowRawHtml: unsafe, + }) + if err != nil { + println("Error creating repository: ", err.Error()) + } else { + println("Repository created: ", repoPath) + } + + }, +} diff --git a/cmd/owl/web.go b/cmd/owl/web.go index 8dc71d6..6a939e4 100644 --- a/cmd/owl/web.go +++ b/cmd/owl/web.go @@ -7,15 +7,11 @@ import ( ) var port int -var unsafe bool -var user string func init() { rootCmd.AddCommand(webCmd) - rootCmd.PersistentFlags().IntVar(&port, "port", 8080, "Port to use") - rootCmd.PersistentFlags().BoolVar(&unsafe, "unsafe", false, "Allow unsafe html") - rootCmd.PersistentFlags().StringVar(&user, "user", "", "Start server in single user mode.") + webCmd.PersistentFlags().IntVar(&port, "port", 8080, "Port to use") } var webCmd = &cobra.Command{ @@ -23,6 +19,6 @@ var webCmd = &cobra.Command{ Short: "Start the web server", Long: `Start the web server`, Run: func(cmd *cobra.Command, args []string) { - web.StartServer(repoPath, port, unsafe, user) + web.StartServer(repoPath, port) }, }