non-blocking docs load

This commit is contained in:
vcoppe
2024-09-20 14:22:55 +02:00
parent a48da3fcf0
commit f77793b7fe
7 changed files with 54 additions and 48 deletions

View File

@@ -1,32 +1,28 @@
import { guides } from '$lib/components/docs/docs.js';
async function getModule(language: string | undefined, guide: string) {
function getModule(language: string | undefined, guide: string) {
language = language ?? 'en';
let subguide = guide.includes('/') ? guide.split('/').pop() : undefined;
if (subguide) {
guide = guide.replace(`/${subguide}`, '');
}
return subguide
? await import(`./../../../lib/docs/${language}/${guide}/${subguide}.mdx`)
: await import(`./../../../lib/docs/${language}/${guide}.mdx`);
? import(`./../../../lib/docs/${language}/${guide}/${subguide}.mdx`)
: import(`./../../../lib/docs/${language}/${guide}.mdx`);
}
export async function load({ params }) {
const { language } = params;
const guideTitles: Record<string, string> = {};
const guideModules: Record<string, any> = {};
for (let guide of Object.keys(guides)) {
{
const module = await getModule(language, guide);
guideTitles[guide] = module.metadata.title;
}
guideModules[guide] = getModule(language, guide);
for (let subguide of guides[guide]) {
const module = await getModule(language, `${guide}/${subguide}`);
guideTitles[`${guide}/${subguide}`] = module.metadata.title;
guideModules[`${guide}/${subguide}`] = getModule(language, `${guide}/${subguide}`);
}
}
return {
guideTitles
guideModules
};
}