diff --git a/website/src/lib/components/docs/DocsContainer.svelte b/website/src/lib/components/docs/DocsContainer.svelte new file mode 100644 index 00000000..6340a8c7 --- /dev/null +++ b/website/src/lib/components/docs/DocsContainer.svelte @@ -0,0 +1,82 @@ + + +
+ +
+ + diff --git a/website/src/lib/components/docs/DocsLoader.svelte b/website/src/lib/components/docs/DocsLoader.svelte deleted file mode 100644 index 24777557..00000000 --- a/website/src/lib/components/docs/DocsLoader.svelte +++ /dev/null @@ -1,112 +0,0 @@ - - -{#if module !== undefined} - {#if titleOnly} - {metadata.title} - {:else} -
- -
- {/if} -{/if} - - diff --git a/website/src/lib/components/embedding/Embedding.svelte b/website/src/lib/components/embedding/Embedding.svelte index 7b89e517..fe3ee594 100644 --- a/website/src/lib/components/embedding/Embedding.svelte +++ b/website/src/lib/components/embedding/Embedding.svelte @@ -1,272 +1,269 @@
-
- - - - - {#if $fileObservers.size > 1} -
- -
- {/if} -
-
- - {#if options.elevation.show} - dataset !== null)} - elevationFill={options.elevation.fill} - panelSize={options.elevation.height} - showControls={options.elevation.controls} - class="py-2" - /> - {/if} -
+
+ + + + + {#if $fileObservers.size > 1} +
+ +
+ {/if} +
+
+ + {#if options.elevation.show} + dataset !== null)} + elevationFill={options.elevation.fill} + panelSize={options.elevation.height} + showControls={options.elevation.controls} + class="py-2" + /> + {/if} +
diff --git a/website/src/routes/[[language]]/+page.svelte b/website/src/routes/[[language]]/+page.svelte index f727de46..586de4de 100644 --- a/website/src/routes/[[language]]/+page.svelte +++ b/website/src/routes/[[language]]/+page.svelte @@ -1,6 +1,6 @@
- -
- -
+ +
+ +
diff --git a/website/src/routes/[[language]]/help/+layout.ts b/website/src/routes/[[language]]/help/+layout.ts new file mode 100644 index 00000000..da8f2423 --- /dev/null +++ b/website/src/routes/[[language]]/help/+layout.ts @@ -0,0 +1,32 @@ +import { guides } from '$lib/components/docs/docs.js'; + +async 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`); +} + +export async function load({ params }) { + const { language } = params; + + const guideTitles: Record = {}; + for (let guide of Object.keys(guides)) { + { + const module = await getModule(language, guide); + guideTitles[guide] = module.metadata.title; + } + for (let subguide of guides[guide]) { + const module = await getModule(language, `${guide}/${subguide}`); + guideTitles[`${guide}/${subguide}`] = module.metadata.title; + } + } + + return { + guideTitles + }; +} \ No newline at end of file diff --git a/website/src/routes/[[language]]/help/+page.svelte b/website/src/routes/[[language]]/help/+page.svelte index f54521de..619657d7 100644 --- a/website/src/routes/[[language]]/help/+page.svelte +++ b/website/src/routes/[[language]]/help/+page.svelte @@ -1,9 +1,12 @@ -
@@ -18,7 +21,7 @@ {guideIcons[guide]}
- + {data.guideTitles[guide]}
{#each guides[guide] as subGuide} @@ -28,7 +31,7 @@ class="h-fit px-0 py-1 text-muted-foreground text-base text-center whitespace-normal" > - + {data.guideTitles[`${guide}/${subGuide}`]} {/each}
diff --git a/website/src/routes/[[language]]/help/[...guide]/+page.svelte b/website/src/routes/[[language]]/help/[...guide]/+page.svelte index 645208a1..eb675c3b 100644 --- a/website/src/routes/[[language]]/help/[...guide]/+page.svelte +++ b/website/src/routes/[[language]]/help/[...guide]/+page.svelte @@ -1,36 +1,42 @@ - +
+ +
- {#if previousGuide} + {#if data.previousGuide} {/if} - {#if nextGuide} + {#if data.nextGuide} {/if} diff --git a/website/src/routes/[[language]]/help/[...guide]/+page.ts b/website/src/routes/[[language]]/help/[...guide]/+page.ts new file mode 100644 index 00000000..9d116c0d --- /dev/null +++ b/website/src/routes/[[language]]/help/[...guide]/+page.ts @@ -0,0 +1,30 @@ +import { getNextGuide, getPreviousGuide } from "$lib/components/docs/docs"; + +async 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`); +} + +export async function load({ params }) { + const { guide, language } = params; + + const previousGuide = getPreviousGuide(guide); + const nextGuide = getNextGuide(guide); + + const module = await getModule(language, guide); + const previousModule = previousGuide ? await getModule(language, previousGuide) : undefined; + const nextModule = nextGuide ? await getModule(language, nextGuide) : undefined; + return { + component: module.default, + previousGuide, + previousGuideTitle: previousModule?.metadata.title, + nextGuide, + nextGuideTitle: nextModule?.metadata.title, + }; +} \ No newline at end of file