补充实现细节

This commit is contained in:
dragon
2025-01-07 17:30:47 +08:00
parent 0172dceaa8
commit b617127a8b
7 changed files with 80 additions and 12 deletions

59
main.go
View File

@@ -1,4 +1,61 @@
package main
func main() {
import (
"flag"
"log"
"log/slog"
"net/http"
"os"
"code.d7z.net/d7z-project/gitea-pages/pkg"
"code.d7z.net/d7z-project/gitea-pages/pkg/providers"
"gopkg.in/yaml.v3"
)
var (
configPath = "config-local.yaml"
debug = false
config = &Config{}
)
func init() {
flag.StringVar(&configPath, "conf", configPath, "config file path")
flag.BoolVar(&debug, "debug", debug, "debug mode")
}
func main() {
flag.Parse()
debugInject()
loadConf()
gitea, err := providers.NewGitea(config.Auth.Server, config.Auth.Token)
if err != nil {
log.Fatalln(err)
}
server := pkg.NewPageServer(gitea, pkg.DefaultOptions(config.Domain))
mux := http.NewServeMux()
mux.Handle("/", server)
defer server.Close()
_ = http.ListenAndServe(config.Bind, mux)
}
func debugInject() {
programLevel := new(slog.LevelVar)
programLevel.Set(slog.LevelDebug)
if debug {
h := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: programLevel})
slog.SetDefault(slog.New(h))
}
slog.Debug("debug mode")
}
func loadConf() {
file, err := os.ReadFile(configPath)
if err != nil {
log.Fatalf("read config file failed: %v", err)
}
err = yaml.Unmarshal(file, &config)
if err != nil {
log.Fatalf("parse config file failed: %v", err)
}
}