diff --git a/package.json b/package.json
index 9a415ca..16ac517 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,6 @@
{
"name": "thomaswilson-sveltekit",
+ "license": "UNLICENSED",
"version": "1.0.0",
"scripts": {
"dev": "vite dev",
@@ -11,9 +12,9 @@
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ."
},
"devDependencies": {
- "@sveltejs/adapter-auto": "^1.0.0-next.64",
- "@sveltejs/adapter-netlify": "^1.0.0-next.51",
- "@sveltejs/kit": "^1.0.0-next.405",
+ "@sveltejs/adapter-auto": "^1.0.0-next.65",
+ "@sveltejs/adapter-netlify": "^1.0.0-next.71",
+ "@sveltejs/kit": "^1.0.0-next.428",
"@types/sanitize-html": "^2.6.2",
"@typescript-eslint/eslint-plugin": "^5.32.0",
"@typescript-eslint/parser": "^5.32.0",
diff --git a/src/routes/__layout.svelte b/src/routes/+layout.svelte
similarity index 100%
rename from src/routes/__layout.svelte
rename to src/routes/+layout.svelte
diff --git a/src/routes/index.svelte b/src/routes/+page.svelte
similarity index 98%
rename from src/routes/index.svelte
rename to src/routes/+page.svelte
index 8c563f2..8c61574 100644
--- a/src/routes/index.svelte
+++ b/src/routes/+page.svelte
@@ -1,7 +1,3 @@
-
-
-
- It's been + It's been {daysSinceLastPublish} - {daysSinceLastPublish === 1 ? 'day' : 'days'} since I last published something. On average I publish something every {averageDaysBetweenPosts} days ({numberOfPosts} posts in {daysSinceFirstPost} days). + {daysSinceLastPublish === 1 ? 'day' : 'days'} since I last published something. On average I publish + something every {averageDaysBetweenPosts} days ({numberOfPosts} posts in {daysSinceFirstPost} days).
diff --git a/src/routes/blog/+page.ts b/src/routes/blog/+page.ts new file mode 100644 index 0000000..21c5832 --- /dev/null +++ b/src/routes/blog/+page.ts @@ -0,0 +1,36 @@ +import type { LoadEvent, Load, Page } from '@sveltejs/kit'; +import { differenceInCalendarDays, intlFormat } from 'date-fns'; +export const prerender = true; + +type BlogPost = { + filename: string; + preview: string[]; + title: string; + slug: string; + date: Date; + book_review?: boolean; +}; + +export async function load({ fetch }: LoadEvent) { + const posts = await fetch('/api/blog.json') + .then((res) => res.json()) + .then((res) => res.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); + + return { + posts, + firstPost, + averageDaysBetweenPosts, + daysSinceFirstPost, + daysSinceLastPublish, + numberOfPosts + }; +} diff --git a/src/routes/blog/[slug].svelte b/src/routes/blog/[slug]/+page.svelte similarity index 70% rename from src/routes/blog/[slug].svelte rename to src/routes/blog/[slug]/+page.svelte index ce42a81..ba68848 100644 --- a/src/routes/blog/[slug].svelte +++ b/src/routes/blog/[slug]/+page.svelte @@ -1,34 +1,11 @@ - -