Global access to post summaries for all posts on site
This commit is contained in:
parent
a0106369c9
commit
8b533b296c
|
@ -9,7 +9,8 @@
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"moduleResolution": "bundler"
|
"moduleResolution": "bundler",
|
||||||
|
"allowImportingTsExtensions": true
|
||||||
}
|
}
|
||||||
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias and https://kit.svelte.dev/docs/configuration#files
|
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias and https://kit.svelte.dev/docs/configuration#files
|
||||||
//
|
//
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* Provides post summaries to all pages. That means every page can access summaries
|
||||||
|
* for all posts on the website.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { posts } from './post/data.js';
|
||||||
|
|
||||||
|
// Basically the same as Post but might contain less infomation - save storage
|
||||||
|
type Summary = {
|
||||||
|
url : string,
|
||||||
|
title : string,
|
||||||
|
description : string,
|
||||||
|
creation_date : number,
|
||||||
|
modification_date: number,
|
||||||
|
};
|
||||||
|
|
||||||
|
export function load() {
|
||||||
|
let summaries : Summary[] = [];
|
||||||
|
|
||||||
|
posts.map((post) => {
|
||||||
|
let summary : Summary = {
|
||||||
|
url: post.url,
|
||||||
|
title : post.title,
|
||||||
|
description : post.description,
|
||||||
|
creation_date : post.creation_date,
|
||||||
|
modification_date : post.modification_date
|
||||||
|
};
|
||||||
|
summaries.push(summary);
|
||||||
|
});
|
||||||
|
|
||||||
|
return { summaries };
|
||||||
|
}
|
|
@ -1,7 +1,18 @@
|
||||||
|
<script lang="ts">
|
||||||
|
export let data;
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="main-title">
|
<div class="main-title">
|
||||||
<h1>The Deprived Devs</h1>
|
<h1>The Deprived Devs</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h1>Recent posts on Deprived.dev</h1>
|
||||||
|
<ul>
|
||||||
|
<!-- TODO: Filter by date or something -->
|
||||||
|
{#each data.summaries as summary}
|
||||||
|
<li><a href="/post/{summary.url}">{summary.title}</a></li>
|
||||||
|
{/each}
|
||||||
|
</ul>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.main-title {
|
.main-title {
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
import { posts } from './data.js';
|
|
||||||
|
|
||||||
// Basically the same as Post but might contain less infomation - save storage
|
|
||||||
// type Summary = {
|
|
||||||
// url : string,
|
|
||||||
// title : string,
|
|
||||||
// description : string,
|
|
||||||
// creation_date : number,
|
|
||||||
// modification_date: number,
|
|
||||||
// };
|
|
||||||
|
|
||||||
export function load() {
|
|
||||||
return {
|
|
||||||
summaries: posts.map((post) => ({
|
|
||||||
url: post.url,
|
|
||||||
title: post.title,
|
|
||||||
description: post.description
|
|
||||||
}))
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script>
|
<script lang="ts">
|
||||||
export let data;
|
export let data;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<p>hello</p>
|
<h1>All posts on deprived.dev!</h1>
|
||||||
<ul>
|
<ul>
|
||||||
{#each data.summaries as summary}
|
{#each data.summaries as summary}
|
||||||
<li><a href="/post/{summary.url}">{summary.title}</a></li>
|
<li><a href="/post/{summary.url}">{summary.title}</a></li>
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
|
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
||||||
import adapter from '@sveltejs/adapter-static';
|
import adapter from '@sveltejs/adapter-static';
|
||||||
|
|
||||||
/** @type {import('@sveltejs/kit').Config} */
|
/** @type {import('@sveltejs/kit').Config} */
|
||||||
export default {
|
export default {
|
||||||
|
preprocess: vitePreprocess(),
|
||||||
kit: {
|
kit: {
|
||||||
prerender: {
|
prerender: {
|
||||||
handleHttpError: 'fail'
|
handleHttpError: 'fail'
|
||||||
|
|
Loading…
Reference in New Issue