Diffstat (limited to 'internal/router/lang-blog.go')
| -rw-r--r-- | internal/router/lang-blog.go | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/internal/router/lang-blog.go b/internal/router/lang-blog.go index 1a7cbca..38a6597 100644 --- a/internal/router/lang-blog.go +++ b/internal/router/lang-blog.go @@ -9,12 +9,15 @@ import ( "strings" "github.com/SayaAndy/saya-today-web/internal/b2" - "github.com/SayaAndy/saya-today-web/internal/templatemanager" "github.com/SayaAndy/saya-today-web/locale" "github.com/gofiber/fiber/v2" ) -func Lang_Blog(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error { +func init() { + tm.Add("blog-catalogue", "views/layouts/general-page.html", "views/pages/blog-catalogue.html") +} + +func Lang_Blog(l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error { return func(c *fiber.Ctx) error { lang := c.Params("lang") if !slices.Contains(langs, lang) { @@ -34,7 +37,7 @@ func Lang_Blog(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleC c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8) return c.Status(fiber.ErrInternalServerError.Code).SendString("failed to generate regex for tags gathering") } - decodedQuery, err := url.QueryUnescape(string(encodedQuery)) + decodedQuery, _ := url.QueryUnescape(string(encodedQuery)) matches := re.FindAllStringSubmatch(decodedQuery, -1) queryTags := make([]string, 0, len(matches)) @@ -51,11 +54,11 @@ func Lang_Blog(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleC tagsMap := make(map[string]int) for _, page := range pages { - slog.Debug("enlist page for catalogue", slog.Any("page", page), slog.String("endpoint", "/"+lang+"/blog")) for _, tag := range page.Metadata.Tags { tagsMap[tag]++ } } + slog.Debug("enlist pages for catalogue", slog.Int("tag_count", len(tagsMap)), slog.Int("page_count", len(pages)), slog.String("path", c.Path())) type Tag struct { Name string `json:"Name" yaml:"name"` @@ -73,6 +76,7 @@ func Lang_Blog(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleC content, err := tm.Render("blog-catalogue", fiber.Map{ "QuerySort": querySort, "QueryTags": strings.Join(queryTags, ","), + "QueryString": string(c.Request().URI().QueryString()), "Tags": tagsArray, "Lang": lang, "L": l[lang], @@ -80,7 +84,7 @@ func Lang_Blog(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleC "Title": l[lang].BlogSearch.Header, }) if err != nil { - slog.Warn("failed to generate page", slog.String("page", "/"+lang+"/blog"), slog.String("error", err.Error())) + slog.Warn("failed to generate page", slog.String("path", c.Path()), slog.String("error", err.Error())) c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8) return c.Status(fiber.ErrInternalServerError.Code).SendString("failed to generate page") } |