import { entries } from './feed'; interface FeedEntry { content: any; title: string; subtitle: string; date: string; } let entriesPerPage = 8; export async function load({ params, url }) { // Get page index let pageIndex = Number(url.searchParams.get('p')); if (pageIndex == 0) { pageIndex = 1; } // TODO check if index exceeds maximum permitted and redirect (to max page?) let feedEntries: FeedEntry[] = []; let start = (pageIndex - 1) * entriesPerPage; for (let i = start; i < start + entriesPerPage; i += 1) { // Stop iterating when end reached if (i >= entries.length) { break; } // Vite complains if I don't do this even though it's stupid const path = entries[i].split("/"); const page = await import(`./${path[0]}/${path[1]}.md`); const md = page.metadata; feedEntries.push({ content: page.default, title: md.title, subtitle: md.subtitle, date: md.date, }); } let currentPage = pageIndex; let maxPages = Math.ceil(entries.length / entriesPerPage); return { currentPage, maxPages, feedEntries, }; }