diff --git a/src/utils/getUniqueTags.ts b/src/utils/getUniqueTags.ts index 57a82ed..2e8ffa5 100644 --- a/src/utils/getUniqueTags.ts +++ b/src/utils/getUniqueTags.ts @@ -2,16 +2,15 @@ import { slugifyStr } from "./slugify"; import type { CollectionEntry } from "astro:content"; const getUniqueTags = (posts: CollectionEntry<"blog">[]) => { - let tags: string[] = []; const filteredPosts = posts.filter(({ data }) => !data.draft); - filteredPosts.forEach(post => { - tags = [...tags, ...post.data.tags] - .map(tag => slugifyStr(tag)) - .filter( - (value: string, index: number, self: string[]) => - self.indexOf(value) === index - ); - }); + const tags: string[] = filteredPosts + .flatMap(post => post.data.tags) + .map(tag => slugifyStr(tag)) + .filter( + (value: string, index: number, self: string[]) => + self.indexOf(value) === index + ) + .sort((tagA: string, tagB: string) => tagA.localeCompare(tagB)); return tags; };