diff --git a/main.go b/main.go index 6c7e87c..1b1adf3 100644 --- a/main.go +++ b/main.go @@ -75,6 +75,11 @@ func main() { server.Use(cache.New( cache.Config{ Next: func(c *fiber.Ctx) bool { + resp_code := c.Response().StatusCode() + if resp_code < 200 || resp_code >= 300 { + return true + } + // Disable cache for settings page return strings.Contains(c.Path(), "/settings") || c.Path() == "/" }, @@ -103,6 +108,12 @@ func main() { return c.Next() }) + server.Use(func(c *fiber.Ctx) error { + var baseURL string + c.Bind(fiber.Map{"FullURL": baseURL + c.OriginalURL(), "BaseURL": baseURL}) + return c.Next() + }) + server.Static("/favicon.ico", "./views/assets/favicon.ico") server.Static("css/", "./views/css") server.Static("assets/", "./views/assets") diff --git a/pages/artwork.go b/pages/artwork.go index 27d105e..3b9a431 100644 --- a/pages/artwork.go +++ b/pages/artwork.go @@ -21,8 +21,10 @@ func ArtworkPage(c *fiber.Ctx) error { // Optimize this return c.Render("pages/artwork", fiber.Map{ - "Illust": illust, - "Title": illust.Title, - "PageType": "artwork", + "Illust": illust, + "Title": illust.Title, + "PageType": "artwork", + "MetaDescription": illust.Description, + "MetaImage": illust.Images[0].Original, }) } diff --git a/pages/search.go b/pages/search.go new file mode 100644 index 0000000..db9e32d --- /dev/null +++ b/pages/search.go @@ -0,0 +1,34 @@ +package pages + +// import ( +// session "codeberg.org/vnpower/pixivfe/v2/core/config" +// core "codeberg.org/vnpower/pixivfe/v2/core/webapi" +// "github.com/gofiber/fiber/v2" +// ) + +// func IndexPage(c *fiber.Ctx) error { + +// // If token is set, do the landing request... +// if token := session.CheckToken(c); token != "" { +// mode := c.Query("mode", "all") + +// works, err := core.GetLanding(c, mode) + +// if err != nil { +// return err +// } + +// return c.Render("pages/index", fiber.Map{ +// "Title": "Landing", "Data": works, +// }) +// } + +// // ...otherwise, default to today's illustration ranking +// works, err := core.GetRanking(c, "daily", "illust", "", "1") +// if err != nil { +// return err +// } +// return c.Render("pages/index", fiber.Map{ +// "Title": "Landing", "NoTokenData": works, +// }) +// } diff --git a/views/layout.jet.html b/views/layout.jet.html index d15fe4e..40c96c9 100644 --- a/views/layout.jet.html +++ b/views/layout.jet.html @@ -10,6 +10,25 @@ + + {{ if BaseURL }} + + + + + + + {{ if isset(MetaDescription) }} + + {{ end }} + + {{ if isset(MetaImage) }} + + {{ end }} + {{ end }}