diff --git a/package-lock.json b/package-lock.json index 6e7dad6..636544d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "blog.jonasjones.dev", "version": "0.1.0", "dependencies": { + "marked": "^12.0.2", "svelte-kit": "^1.2.0", "svelte-spa-router": "^4.0.0" }, @@ -1775,6 +1776,18 @@ "@jridgewell/sourcemap-codec": "^1.4.15" } }, + "node_modules/marked": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", diff --git a/package.json b/package.json index a85faee..cd06e81 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "vite": "^5.2.12" }, "dependencies": { + "marked": "^12.0.2", "svelte-kit": "^1.2.0", "svelte-spa-router": "^4.0.0" } diff --git a/src/routes.ts b/src/routes.ts index fcac36a..6dd29e4 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,9 +1,19 @@ import Home from './routes/Home.svelte'; -import Post from './routes/Post.svelte'; +import Loading from './routes/Loading.svelte'; import NotFound from './routes/NotFound.svelte'; +import wrap from 'svelte-spa-router/wrap' export default { '/': Home, - '/post/:year/:month/:day/:title': Post, + '/post/:year/:month/:day/:title': wrap({ + // Note that this is a function that returns the import + asyncComponent: () => import('./routes/Post.svelte'), + // Show the loading component while the component is being downloaded + loadingComponent: Loading, + // Pass values for the `params` prop of the loading component + loadingParams: { + message: 'Loading the Name route…' + } + }), '*': NotFound }; diff --git a/src/routes/Loading.svelte b/src/routes/Loading.svelte new file mode 100644 index 0000000..1e6ee61 --- /dev/null +++ b/src/routes/Loading.svelte @@ -0,0 +1,9 @@ +
We're loading the route!
+Here's your message: {params && params.message}
+ + \ No newline at end of file diff --git a/src/routes/Post.svelte b/src/routes/Post.svelte index 08e852c..4a084e9 100644 --- a/src/routes/Post.svelte +++ b/src/routes/Post.svelte @@ -1,28 +1,75 @@ -Tip: try changing the number in the URL's fragment, e.g. #/lorem/4
- Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sed consequatur dicta, explicabo delectus, cupiditate, rem illo repellat aperiam saepe id minus ipsa. Illum libero consectetur fuga neque officia, adipisci commodi.Porro eius harum sed architecto maxime, molestiae cum ad dignissimos eum, nihil eligendi? Non quo, modi officia doloribus distinctio pariatur sed? Veniam facere beatae ipsam reprehenderit suscipit! Sequi, distinctio debitis. -
-{/each} +{params.year}, {params.month}, {params.day}, {params.title}
+ +