Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 27 |
1 files changed, 10 insertions, 17 deletions
@@ -146,26 +146,19 @@ func main() { pages = []*b2.BlogPage{} } - tagsMap := make(map[string]int) + tagsSet := make(map[string]struct{}) for _, page := range pages { slog.Debug("enlist page for catalogue", slog.Any("page", page), slog.String("endpoint", "/")) for _, tag := range page.Metadata.Tags { - tagsMap[tag]++ + tagsSet[tag] = struct{}{} } } - type Tag struct { - Name string `json:"Name" yaml:"name"` - Count int `json:"Count" yaml:"count"` + tagsArray := make([]string, 0, len(tagsSet)) + for tag := range tagsSet { + tagsArray = append(tagsArray, tag) } - - 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) - }) + slices.Sort(tagsArray) content, err := tm.Render("blog-catalogue", fiber.Map{ "QuerySort": querySort, @@ -287,12 +280,12 @@ func main() { case "actionDateDesc": return strings.Compare(b["ActionDate"], a["ActionDate"]) case "publicationDateAsc": - publishedTimeA, _ := time.Parse("2006-01-02 15:04:05 -0700", a["PublishedTime"]) - publishedTimeB, _ := time.Parse("2006-01-02 15:04:05 -0700", b["PublishedTime"]) + publishedTimeA, _ := time.Parse(time.RFC3339, a["PublishedTime"]) + publishedTimeB, _ := time.Parse(time.RFC3339, b["PublishedTime"]) return publishedTimeA.Compare(publishedTimeB) case "publicationDateDesc": - publishedTimeA, _ := time.Parse("2006-01-02 15:04:05 -0700", a["PublishedTime"]) - publishedTimeB, _ := time.Parse("2006-01-02 15:04:05 -0700", b["PublishedTime"]) + publishedTimeA, _ := time.Parse(time.RFC3339, a["PublishedTime"]) + publishedTimeB, _ := time.Parse(time.RFC3339, b["PublishedTime"]) return publishedTimeB.Compare(publishedTimeA) } return 0 |