diff --git a/app/pages/+config.ts b/app/pages/+config.ts index a08bc68..95b4734 100644 --- a/app/pages/+config.ts +++ b/app/pages/+config.ts @@ -23,6 +23,7 @@ export default { class: "flex min-h-full bg-white dark:bg-slate-900", }, + prerender: true, prefetchStaticAssets: "hover", extends: vikeReact, diff --git a/app/pages/certifications/+onBeforePrerenderStart.ts b/app/pages/certifications/+onBeforePrerenderStart.ts new file mode 100644 index 0000000..fc14c85 --- /dev/null +++ b/app/pages/certifications/+onBeforePrerenderStart.ts @@ -0,0 +1,6 @@ +import { docsService } from "@/services/DocsService"; + +export async function onBeforePrerenderStart() { + const allDocumentations = await docsService.getUrls("certifications"); + return allDocumentations; +} diff --git a/app/pages/docs/+onBeforePrerenderStart.ts b/app/pages/docs/+onBeforePrerenderStart.ts new file mode 100644 index 0000000..1b83a1e --- /dev/null +++ b/app/pages/docs/+onBeforePrerenderStart.ts @@ -0,0 +1,6 @@ +import { docsService } from "@/services/DocsService"; + +export async function onBeforePrerenderStart() { + const allDocumentations = await docsService.getUrls("docs"); + return allDocumentations; +} diff --git a/app/services/DocsService.ts b/app/services/DocsService.ts index 6d85eb4..a54ecef 100644 --- a/app/services/DocsService.ts +++ b/app/services/DocsService.ts @@ -164,6 +164,17 @@ class DocsService { return null; } } + + public async getUrls(namespace: "docs" | "certifications") { + try { + await this.fetchDocs(); + const docs = Array.from(this.cache.keys()).filter((key) => key.startsWith(`/${namespace}`)); + return docs; + } catch (error) { + console.error("Error fetching URLs:", error); + return []; + } + } } export const docsService = DocsService.getInstance();