I have written {numberOfBlogPostsThisYear} {numberOfBlogPostsThisYear === 1 ? "piece" : "pieces"} so far this year. On average - I publish something every {averageDaysBetweenPosts} days ({numberOfPosts} + I publish something every {averageDaysBetweenPosts.toFixed(2)} days ({numberOfPosts} posts in {daysSinceFirstPost} days).
diff --git a/src/routes/blog/tag/[tag]/+page.server.ts b/src/routes/blog/tag/[tag]/+page.server.ts index f86b170..ec7690d 100644 --- a/src/routes/blog/tag/[tag]/+page.server.ts +++ b/src/routes/blog/tag/[tag]/+page.server.ts @@ -16,14 +16,9 @@ export const load: Load = async ({ params, url }) => { const currentYear = getYear(new Date()); console.log({ posts }); - const mostRecentPost = posts[0]; - - const daysSinceLastPublish = differenceInCalendarDays(new Date(), new Date(mostRecentPost.date)); const numberOfPosts = posts.length; const firstPost = posts[numberOfPosts - 1]; - const daysSinceFirstPost = differenceInCalendarDays(new Date(), new Date(firstPost.date)); - const averageDaysBetweenPosts = Number(daysSinceFirstPost / numberOfPosts).toFixed(2); const numberOfBlogPostsThisYear: number = posts.filter( (post) => getYear(new Date(post.date)) === currentYear ).length; @@ -32,9 +27,6 @@ export const load: Load = async ({ params, url }) => { tag, posts, firstPost, - averageDaysBetweenPosts, - daysSinceFirstPost, - daysSinceLastPublish, numberOfPosts, numberOfBlogPostsThisYear, }; diff --git a/src/routes/blog/tag/[tag]/+page.svelte b/src/routes/blog/tag/[tag]/+page.svelte index b10360d..1d6372f 100644 --- a/src/routes/blog/tag/[tag]/+page.svelte +++ b/src/routes/blog/tag/[tag]/+page.svelte @@ -4,6 +4,7 @@ import Navbar from "$lib/components/Navbar.svelte"; import BlogHeader from "../../BlogHeader.svelte"; import BlogPostListItem from "../../BlogPostListItem.svelte"; + import { differenceInCalendarDays } from "date-fns"; interface Props { data: PageData; @@ -11,15 +12,15 @@ let { data }: Props = $props(); - let { - posts, - tag, - numberOfPosts, - daysSinceLastPublish, - daysSinceFirstPost, - averageDaysBetweenPosts, - numberOfBlogPostsThisYear, - } = $derived(data); + const { posts, tag, numberOfPosts, numberOfBlogPostsThisYear } = data; + + const daysSinceFirstPost = $derived( + differenceInCalendarDays(new Date(), new Date(posts[posts.length - 1].date)) + ); + + const daysSinceLastPublish = $derived( + differenceInCalendarDays(new Date(), new Date(posts[0].date)) + );