Files
photog/main.go
T

39 lines
1.0 KiB
Go
Raw Normal View History

2026-07-02 00:53:17 +02:00
package main
import (
"flag"
"log"
"os"
)
func main() {
contentDir := flag.String("content", "./content", "directory containing images and .toml sidecars")
outputDir := flag.String("output", "./public", "directory for generated site output")
baseURL := flag.String("base-url", "http://localhost:8080", "public base URL, no trailing slash")
port := flag.String("port", "8080", "port to listen on")
serve := flag.Bool("serve", false, "serve the generated site on the same port (for local development)")
flag.Parse()
for _, d := range []string{*contentDir, *outputDir} {
if err := os.MkdirAll(d, 0755); err != nil {
log.Fatalf("mkdir %s: %v", d, err)
}
}
g := NewGenerator(*contentDir, *outputDir, *baseURL)
if err := g.Build(); err != nil {
log.Printf("initial build: %v", err)
}
w, err := NewWatcher(*contentDir, g)
if err != nil {
log.Fatalf("watcher: %v", err)
}
defer w.Close()
go w.Watch()
s := NewServer(*port, *contentDir, *outputDir, *serve, g)
log.Fatal(s.Listen())
}