feat: Add prerender functionality and onBeforePrerenderStart
This commit is contained in:
parent
641e1e8a13
commit
234ee24e3f
@ -23,6 +23,7 @@ export default {
|
|||||||
class: "flex min-h-full bg-white dark:bg-slate-900",
|
class: "flex min-h-full bg-white dark:bg-slate-900",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
prerender: true,
|
||||||
prefetchStaticAssets: "hover",
|
prefetchStaticAssets: "hover",
|
||||||
|
|
||||||
extends: vikeReact,
|
extends: vikeReact,
|
||||||
|
|||||||
6
app/pages/certifications/+onBeforePrerenderStart.ts
Normal file
6
app/pages/certifications/+onBeforePrerenderStart.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import { docsService } from "@/services/DocsService";
|
||||||
|
|
||||||
|
export async function onBeforePrerenderStart() {
|
||||||
|
const allDocumentations = await docsService.getUrls("certifications");
|
||||||
|
return allDocumentations;
|
||||||
|
}
|
||||||
6
app/pages/docs/+onBeforePrerenderStart.ts
Normal file
6
app/pages/docs/+onBeforePrerenderStart.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import { docsService } from "@/services/DocsService";
|
||||||
|
|
||||||
|
export async function onBeforePrerenderStart() {
|
||||||
|
const allDocumentations = await docsService.getUrls("docs");
|
||||||
|
return allDocumentations;
|
||||||
|
}
|
||||||
@ -164,6 +164,17 @@ class DocsService {
|
|||||||
return null;
|
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();
|
export const docsService = DocsService.getInstance();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user