wombat/wombat.go
gutmet 3e86c03557 command unification
* 'post' > 'newpost'
* 'newpage' as new command
* fixed 'newgallery' to check for init
2021-06-26 17:09:41 +02:00

45 lines
1.3 KiB
Go

package main
import (
"fmt"
goutil "git.gutmet.org/goutil.git/misc"
"git.gutmet.org/simpleserver.git"
"git.gutmet.org/wombat.git/gallery"
"git.gutmet.org/wombat.git/generate"
"git.gutmet.org/wombat.git/initer"
"git.gutmet.org/wombat.git/page"
"git.gutmet.org/wombat.git/post"
"os"
)
func serve(args []string) error {
simpleserver.Serve("stage2")
return nil
}
func ifInited(cmd goutil.Command) goutil.Command {
oldExec := cmd.Exec
cmd.Exec = func(args []string) error {
initer.InitializedOrDie()
return oldExec(args)
}
return cmd
}
func main() {
commands := []goutil.Command{
goutil.NewCommandWithFlags("init", initer.Command, "initialize wombat directory"),
ifInited(goutil.NewCommandWithFlags("gen", generate.Command, "generate the website")),
ifInited(goutil.NewCommand("serve", serve, "just execute web server")),
ifInited(goutil.NewCommandWithFlags("newpost", post.Command, "create a new blogpost")),
ifInited(goutil.NewCommandWithFlags("newpage", page.Command, "create a new page")),
ifInited(goutil.NewCommandWithFlags("newgallery", gallery.NewCommand, "init new gallery")),
ifInited(goutil.NewCommandWithFlags("genpics", gallery.Command, "generate galleries")),
}
err := goutil.Execute(commands)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}