[backport] add multi theme support

This commit is contained in:
wjqserver 2025-03-22 20:46:08 +08:00
parent 3c247665fc
commit c1ba935ca4

15
main.go
View file

@ -35,10 +35,8 @@ var (
) )
var ( var (
//go:embed pages/bootstrap/* //go:embed pages/*
pagesFS embed.FS pagesFS embed.FS
//go:embed pages/nebula/*
NebulaPagesFS embed.FS
) )
var ( var (
@ -110,12 +108,19 @@ func InitReq(cfg *config.Config) {
func loadEmbeddedPages(cfg *config.Config) (fs.FS, error) { func loadEmbeddedPages(cfg *config.Config) (fs.FS, error) {
var pages fs.FS var pages fs.FS
var err error var err error
switch cfg.Pages.Theme { switch cfg.Pages.Theme {
case "bootstrap": case "bootstrap":
pages, err = fs.Sub(pagesFS, "pages/bootstrap") pages, err = fs.Sub(pagesFS, "pages/bootstrap")
case "nebula": case "nebula":
pages, err = fs.Sub(NebulaPagesFS, "pages/nebula") pages, err = fs.Sub(pagesFS, "pages/nebula")
case "design":
pages, err = fs.Sub(pagesFS, "pages/design")
case "metro":
pages, err = fs.Sub(pagesFS, "pages/metro")
case "classic":
pages, err = fs.Sub(pagesFS, "pages/classic")
case "mino":
pages, err = fs.Sub(pagesFS, "pages/mino")
default: default:
pages, err = fs.Sub(pagesFS, "pages/bootstrap") // 默认主题 pages, err = fs.Sub(pagesFS, "pages/bootstrap") // 默认主题
logWarning("Invalid Pages Theme: %s, using default theme 'bootstrap'", cfg.Pages.Theme) logWarning("Invalid Pages Theme: %s, using default theme 'bootstrap'", cfg.Pages.Theme)