45 lines
1.3 KiB
Go
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)
|
|
}
|
|
}
|