为 filter 添加全局配置支持

This commit is contained in:
ExplodingDragon
2025-11-18 23:56:59 +08:00
parent f4ca1377ca
commit 268f21c2af
15 changed files with 340 additions and 285 deletions

View File

@@ -56,7 +56,7 @@ func main() {
if err != nil {
zap.L().Fatal("failed to init memory provider", zap.Error(err))
}
server := pkg.NewPageServer(http.DefaultClient,
server, err := pkg.NewPageServer(http.DefaultClient,
provider, domain, "gh-pages", memory, memory, 0, &nopCache{},
func(w http.ResponseWriter, r *http.Request, err error) {
if errors.Is(err, os.ErrNotExist) {
@@ -64,7 +64,10 @@ func main() {
} else if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
})
}, make(map[string]map[string]any))
if err != nil {
zap.L().Fatal("failed to init page", zap.Error(err))
}
err = http.ListenAndServe(port, server)
if err != nil && !errors.Is(err, http.ErrServerClosed) {
zap.L().Fatal("failed to start server", zap.Error(err))

View File

@@ -29,11 +29,10 @@ type Config struct {
Page ConfigPage `yaml:"page"` // 页面配置
Render ConfigRender `yaml:"render"` // 渲染配置
Proxy ConfigProxy `yaml:"proxy"` // 反向代理配置
StaticDir string `yaml:"static"` // 静态资源提供路径
Filters map[string]map[string]any `yaml:"filters"` // 渲染器配置
pageErrNotFound, pageErrUnknown *template.Template
}

View File

@@ -64,7 +64,7 @@ func main() {
if !ok {
log.Fatalln(errors.New("database not support cursor"))
}
pageServer := pkg.NewPageServer(
pageServer, err := pkg.NewPageServer(
http.DefaultClient,
backend,
config.Domain,
@@ -74,7 +74,11 @@ func main() {
config.Cache.MetaTTL,
cacheBlob.Child("filter"),
config.ErrorHandler,
config.Filters,
)
if err != nil {
log.Fatalln(err)
}
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM, syscall.SIGQUIT)
defer stop()