mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2025-12-03 10:22:13 +00:00
non-blocking docs load
This commit is contained in:
@@ -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
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user