data endpoint for entity 90008 (aka. a website)
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: improve typings

+16 -6
+7 -3
src/routes/posts/+page.svelte
··· 1 1 <script lang="ts"> 2 + import type { PostData } from './+page.js'; 3 + 2 4 export let data; 5 + 6 + let posts: PostData[] = data.posts as PostData[]; 3 7 </script> 4 8 5 9 <div> 6 - {#each data.posts as post} 10 + {#each posts as post} 7 11 <div> 8 12 <a href="/posts/{post.path}" data-sveltekit-preload-data="hover"> 9 - <p>{post.title}</p> 10 - <p>{post.excerpt}</p> 13 + <p>{post.metadata.title}</p> 14 + <p>{post.metadata.excerpt}</p> 11 15 </a> 12 16 <div> 13 17 <time datetime="2020-03-16">{post.published}</time>
+9 -2
src/routes/posts/+page.ts
··· 1 1 import convertDate from "$lib/convertDate"; 2 2 3 + export interface PostData { 4 + path: string, 5 + published: string, 6 + metadata: Record<string, string>, 7 + } 8 + 3 9 export async function load({ params }) { 4 10 const allPostFiles: Record<string, any> = import.meta.glob('./*/+page.md', {eager: true}); 5 - const allPosts: any[] = Object.entries(allPostFiles).map(([path, post]) => { 11 + const allPosts: PostData[] = Object.entries(allPostFiles).map(([path, post]) => { 6 12 const postPath = path.slice(2, -8); 7 - return { ...post.metadata, path: postPath, published: convertDate(post.metadata.date) }; 13 + return { metadata: post.metadata, path: postPath, published: convertDate(post.metadata.date) }; 8 14 }); 9 15 if (!allPosts.length) { 10 16 return { status: 404 }; 11 17 } 18 + //console.log(allPosts); 12 19 return { posts: allPosts }; 13 20 }
-1
src/routes/posts/hello-world/+page.md
··· 2 2 title: Hello World 3 3 author: Jeff 4 4 date: 2022-05-27 5 - layout: blog 6 5 excerpt: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget massa sit amet arcu varius lacinia nec quis lacus. 7 6 --- 8 7