diff options
| author | 2026-03-30 02:13:49 +0700 | |
|---|---|---|
| committer | 2026-03-30 02:13:49 +0700 | |
| commit | 8d0385546b0a5f4f3b0832fce1b4c0a10fa0a927 (patch) | |
| tree | 3be8adf291fecb7611adce3d5ed610f8ac832ca2 /internal/router/handlers/lang-map.go | |
| parent | 56d333f3501cfc8e5725784e29ea917d347f37d8 (diff) | |
| parent | 52fbb4a4eb781dd4ba66fae0e1ceaec6721758f5 (diff) | |
| download | web-0.12.3.tar.gz web-0.12.3.zip | |
v0.12.3 (#24)v0.12.3
* [feat: add meta for embeds & search
engines](https://github.com/SayaAndy/saya-today-web/commit/610341bc9d59f9724e8e71f663b28df1904cb038)
* feat: link marker fill saturation and brightness in the global map to
the publication date
* [feat: add namespace parameter for
gallery](https://github.com/SayaAndy/saya-today-web/commit/52fbb4a4eb781dd4ba66fae0e1ceaec6721758f5)
* refactor: replace sprintf for galleryid with simple replaceall in
gallery rendering
Diffstat (limited to 'internal/router/handlers/lang-map.go')
| -rw-r--r-- | internal/router/handlers/lang-map.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/router/handlers/lang-map.go b/internal/router/handlers/lang-map.go index dbf1437..7df6104 100644 --- a/internal/router/handlers/lang-map.go +++ b/internal/router/handlers/lang-map.go @@ -3,6 +3,7 @@ package handlers import ( "fmt" "log/slog" + "slices" "strconv" "strings" @@ -41,6 +42,9 @@ func (r *MapHandler) ToValidateLang() router.LangSetting { func (r *MapHandler) Render(c *fiber.Ctx, supplements *router.Supplements, lang string, templateMap fiber.Map) (statusCode int, err error) { pages, err := supplements.B2Client.Scan(lang + "/") + slices.SortFunc(pages, func(a *b2.BlogPage, b *b2.BlogPage) int { + return a.Metadata.PublishedTime.Compare(b.Metadata.PublishedTime) + }) status := fiber.StatusOK if err != nil { slog.Error("received an error while scanning b2 pages", @@ -52,6 +56,7 @@ func (r *MapHandler) Render(c *fiber.Ctx, supplements *router.Supplements, lang } type MapMarker struct { + Index int `json:"Index"` Title string `json:"Title"` PageLink string `json:"PageLink"` Lat float64 `json:"Lat"` @@ -61,7 +66,7 @@ func (r *MapHandler) Render(c *fiber.Ctx, supplements *router.Supplements, lang } mapMarkers := make([]*MapMarker, 0, len(pages)) - for _, page := range pages { + for i, page := range pages { geolocationParts := strings.Split(page.Metadata.Geolocation, " ") if len(geolocationParts) < 2 { continue @@ -78,6 +83,7 @@ func (r *MapHandler) Render(c *fiber.Ctx, supplements *router.Supplements, lang } mapMarkers = append(mapMarkers, &MapMarker{ + Index: i, Title: page.Metadata.Title, PageLink: fmt.Sprintf("/%s/blog/%s", lang, page.FileName), Lat: x, |