diff --git a/website/src/hooks.server.js b/website/src/hooks.server.js new file mode 100644 index 00000000..049a2ea8 --- /dev/null +++ b/website/src/hooks.server.js @@ -0,0 +1,43 @@ +import { base } from '$app/paths'; +import { languages } from '$lib/languages'; +import { getURLForLanguage } from '$lib/utils'; + +export async function handle({ event, resolve }) { + let language = event.params.language ?? 'en'; + const strings = await import(`./locales/${language}.json`); + + let path = event.url.pathname; + let page = event.route.id?.replace('/[[language]]', '').split('/')[1] ?? 'home'; + + let title = strings.metadata[`${page}_title`]; + let description = strings.metadata[`description`]; + + let head = ` + gpx.studio — ${title} + + + + + + + + + + + + + + + `; + + for (let lang of Object.keys(languages)) { + head += ` +`; + } + + const response = await resolve(event, { + transformPageChunk: ({ html }) => html.replace('', head) + }); + + return response; +} \ No newline at end of file diff --git a/website/src/lib/components/Head.svelte b/website/src/lib/components/Head.svelte deleted file mode 100644 index dacc734f..00000000 --- a/website/src/lib/components/Head.svelte +++ /dev/null @@ -1,70 +0,0 @@ - - - - {#if $isLoading} - gpx.studio — the online GPX file editor - - - - - - {:else} - gpx.studio — {$_(`metadata.${title}_title`)} - - - - - - {/if} - - - - - - - - - - - - - {#each Object.keys(languages) as lang} - - {/each} - diff --git a/website/src/lib/components/LanguageSelect.svelte b/website/src/lib/components/LanguageSelect.svelte index e4311375..891704b7 100644 --- a/website/src/lib/components/LanguageSelect.svelte +++ b/website/src/lib/components/LanguageSelect.svelte @@ -1,4 +1,5 @@ -
diff --git a/website/src/routes/[[language]]/+layout.svelte b/website/src/routes/[[language]]/+layout.svelte deleted file mode 100644 index b509b73e..00000000 --- a/website/src/routes/[[language]]/+layout.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/website/src/routes/l/[[language]]/+page.svelte b/website/src/routes/l/[[language]]/+page.svelte deleted file mode 100644 index 2b488537..00000000 --- a/website/src/routes/l/[[language]]/+page.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - - -
- {#each Object.entries(languages) as [lang, label]} - {#if lang !== 'en'} - - {label} - - {/if} - {/each} -
diff --git a/website/svelte.config.js b/website/svelte.config.js index 7de1de53..b7793641 100644 --- a/website/svelte.config.js +++ b/website/svelte.config.js @@ -23,7 +23,7 @@ const config = { relative: false, }, prerender: { - entries: ['/', '/404', '/l/fr/'], + entries: ['/', '/404'], crawl: true, } }