wombat/wombat.go

45 lines
1.3 KiB
Go
Raw Normal View History

2019-01-01 19:41:03 +01:00
package main
import (
"fmt"
2020-10-11 13:35:13 +02:00
goutil "git.gutmet.org/goutil.git/misc"
2019-01-01 19:41:03 +01:00
"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"
2019-01-01 19:41:03 +01:00
"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
}
2019-01-01 19:41:03 +01:00
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")),
2019-01-01 19:41:03 +01:00
}
err := goutil.Execute(commands)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}