Files
pages/src/routes/blog/posts.ts

114 lines
3.0 KiB
TypeScript

export interface BlogPostDetails {
date: string;
// Format: HH:mm
time: string;
// Banner image title. If empty, defaults to banner.webp
banner: string;
bannerAlt: string;
title: string;
/**
* Description to be used in page's metadata.
*/
description: string;
}
export interface BlogPostLink {
key: string;
post: BlogPostDetails;
}
export const posts: BlogPostLink[] = [
{
key: "2026/0326",
post: {
date: "2026-03-26",
time: "20:50",
banner: "banner.webp",
bannerAlt: "White light blurs on a darker background.",
title: "Moving On",
description: "It's time to switch domains.",
}
},
{
key: "2026/0325",
post: {
date: "2026-03-25",
time: "22:22",
banner: "banner.webp",
bannerAlt: "A sunset captured from an Autobahn exit.",
title: "I made a LIGHTYEARS font",
description: "I feel electric and it's only getting brighter!",
}
},
{
key: "2026/0317",
post: {
date: "2026-03-17",
time: "17:00",
banner: "banner.webp",
bannerAlt: "A Microsoft Surface Pro 8 displaying a Blue Screen of Death.",
title: "How To: Set Up SvelteKit Frontend + PostgreSQL Backend",
description: "How to set up a web application with a backend on a remote server without getting error 403.",
}
},
{
key: "2026/0214",
post: {
date: "2026-02-14",
time: "19:46",
banner: "logins.webp",
bannerAlt: "A curved stick from a tree with some dry leaves attached. Its form resembles an entity with two legs, a spine, and no arms, leaning over and looking sad.",
title: "SSH Woes",
description: "About how I was shocked to learn that my server was open for attacks for well over a year.",
}
},
{
key: "2026/0208",
post: {
date: "2026-02-08",
time: "17:45",
banner: "sadstick.webp",
bannerAlt: "A curved stick from a tree with some dry leaves attached. Its form resembles an entity with two legs, a spine, and no arms, leaning over and looking sad.",
title: "Am I doing too much?",
description: "I'm trying to pursue too many hobbies all at once and it's a struggle.",
}
},
{
key: "2026/0205",
post: {
date: "2026-02-05",
time: "22:55",
banner: "banner.webp",
bannerAlt: "A Leuchtturm-branded notebook with a copper-coloured cover. An eraser, a pencil sharpener, and a Faber-Castell pencil are lying on top.",
title: "Drawing Challenge",
description: "Challenging myself to draw something every day for 4 weeks.",
}
},
{
key: "2026/0131",
post: {
date: "2026-01-31",
time: "20:24",
banner: "colossus.webp",
bannerAlt: "Colossus standing in the National Museum of Computing in Bletchley, UK",
title: "Lessons Learned",
description: "A small note about how you should always check whether your finished work works as intended.",
}
},
{
key: "2026/0129",
post: {
date: "2026-01-29",
time: "16:42",
banner: "girl.webp",
bannerAlt: "A small drawing of an anime-style girl's head.",
title: "Limitations",
description: "Something about how boundaries can foster creativity.",
}
},
];