summaryrefslogtreecommitdiff
path: root/main.go
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go33
1 files changed, 20 insertions, 13 deletions
diff --git a/main.go b/main.go
index 7b8bfd3..4dc9619 100644
--- a/main.go
+++ b/main.go
@@ -121,7 +121,7 @@ func main() {
querySort := c.Query("sort")
if querySort == "" {
- querySort = "titleAsc"
+ querySort = "publicationDateDesc"
}
encodedQuery := c.Request().URI().QueryString()
@@ -146,19 +146,26 @@ func main() {
pages = []*b2.BlogPage{}
}
- tagsSet := make(map[string]struct{})
+ tagsMap := make(map[string]int)
for _, page := range pages {
- slog.Debug("enlist page for catalogue", slog.Any("page", page), slog.String("endpoint", "/"))
+ slog.Debug("enlist page for catalogue", slog.Any("page", page), slog.String("endpoint", "/"+lang+"/blog"))
for _, tag := range page.Metadata.Tags {
- tagsSet[tag] = struct{}{}
+ tagsMap[tag]++
}
}
- tagsArray := make([]string, 0, len(tagsSet))
- for tag := range tagsSet {
- tagsArray = append(tagsArray, tag)
+ type Tag struct {
+ Name string `json:"Name" yaml:"name"`
+ Count int `json:"Count" yaml:"count"`
}
- slices.Sort(tagsArray)
+
+ tagsArray := make([]Tag, 0, len(tagsMap))
+ for tag, count := range tagsMap {
+ tagsArray = append(tagsArray, Tag{tag, count})
+ }
+ slices.SortFunc(tagsArray, func(a Tag, b Tag) int {
+ return strings.Compare(a.Name, b.Name)
+ })
content, err := tm.Render("blog-catalogue", fiber.Map{
"QuerySort": querySort,
@@ -258,7 +265,7 @@ func main() {
"Link": page.Link,
"ArticleLink": "/" + lang + "/blog/" + page.FileName,
"Title": page.Metadata.Title,
- "PublishedTime": page.Metadata.PublishedTime.Format("2006-01-02 15:04:05 -0700"),
+ "PublishedTime": page.Metadata.PublishedTime.Format("2006-01-02 15:04:05 -07:00"),
"ActionDate": page.Metadata.ActionDate,
"ShortDescription": page.Metadata.ShortDescription,
"Thumbnail": page.Metadata.Thumbnail,
@@ -280,12 +287,12 @@ func main() {
case "actionDateDesc":
return strings.Compare(b["ActionDate"], a["ActionDate"])
case "publicationDateAsc":
- publishedTimeA, _ := time.Parse(time.RFC3339, a["PublishedTime"])
- publishedTimeB, _ := time.Parse(time.RFC3339, b["PublishedTime"])
+ publishedTimeA, _ := time.Parse("2006-01-02 15:04:05 -07:00", a["PublishedTime"])
+ publishedTimeB, _ := time.Parse("2006-01-02 15:04:05 -07:00", b["PublishedTime"])
return publishedTimeA.Compare(publishedTimeB)
case "publicationDateDesc":
- publishedTimeA, _ := time.Parse(time.RFC3339, a["PublishedTime"])
- publishedTimeB, _ := time.Parse(time.RFC3339, b["PublishedTime"])
+ publishedTimeA, _ := time.Parse("2006-01-02 15:04:05 -07:00", a["PublishedTime"])
+ publishedTimeB, _ := time.Parse("2006-01-02 15:04:05 -07:00", b["PublishedTime"])
return publishedTimeB.Compare(publishedTimeA)
}
return 0