wombat/wombat.go
2021-06-26 17:39:56 +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 picture gallery")),
ifInited(goutil.NewCommandWithFlags("genpics", gallery.Command, "generate picture galleries")),
}
err := goutil.Execute(commands)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}