From 30cbf42ca582303e6211449cb3f07df3c18a011e Mon Sep 17 00:00:00 2001 From: Enoch Riese Date: Fri, 28 Jul 2023 11:45:49 -0500 Subject: [PATCH 1/3] fix nav prebuild translations --- .gitignore | 4 ++-- sites/lab/pages/index.mjs | 2 +- sites/lab/prebuild.mjs | 3 +++ sites/shared/prebuild/markdown.mjs | 5 +++-- sites/shared/prebuild/sitenav-lab.mjs | 13 +++++++------ sites/shared/prebuild/sitenav-org.mjs | 13 +++++++------ 6 files changed, 23 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index b084f36b8c5..013667cd7de 100644 --- a/.gitignore +++ b/.gitignore @@ -38,7 +38,7 @@ packages/new-design/lib/banner.mjs # Lab auto-generated content sites/lab/lib -sites/lab/pages +sites/lab/pages/* sites/lab/public/android-chrome-192x192.png sites/lab/public/android-chrome-384x384.png sites/lab/public/apple-touch-icon.png @@ -50,7 +50,7 @@ sites/lab/public/mstile-150x150.png sites/lab/public/safari-pinned-tab.svg sites/lab/public/site.webmanifest # but not the indexes -!sites/lab/pages/*/index.js +!sites/lab/pages/*/index.mjs # dev auto-generated content sites/dev/public/android-chrome-192x192.png diff --git a/sites/lab/pages/index.mjs b/sites/lab/pages/index.mjs index e22e009968e..31acd914d18 100644 --- a/sites/lab/pages/index.mjs +++ b/sites/lab/pages/index.mjs @@ -5,7 +5,7 @@ import { useTranslation } from 'next-i18next' // Components import Head from 'next/head' import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' -import { Popout, ns as popoutNs } from 'shared/components/popout.mjs' +import { Popout, ns as popoutNs } from 'shared/components/popout/index.mjs' import { WebLink } from 'shared/components/web-link.mjs' const ns = ['lab', ...pageNs, ...popoutNs] diff --git a/sites/lab/prebuild.mjs b/sites/lab/prebuild.mjs index b43b205f9a5..5eabf325527 100644 --- a/sites/lab/prebuild.mjs +++ b/sites/lab/prebuild.mjs @@ -1,4 +1,5 @@ import { prebuildRunner } from '../shared/prebuild/runner.mjs' +import { prebuildLab } from '../shared/prebuild/lab.mjs' /* * This handles the prebuild step for FreeSewing.dev @@ -25,3 +26,5 @@ prebuildRunner({ posts: false, }, }) + +prebuildLab() diff --git a/sites/shared/prebuild/markdown.mjs b/sites/shared/prebuild/markdown.mjs index b73722876f8..e70acec12bf 100644 --- a/sites/shared/prebuild/markdown.mjs +++ b/sites/shared/prebuild/markdown.mjs @@ -71,6 +71,7 @@ const loadFolderFrontmatter = async (key, site, folder, transform = false, lang .split(`markdown/${site}/${site === 'dev' ? '' : folder + '/'}`) .pop() .split(`.md:${key}:`) + if (chunks.length === 2 && chunks[0].length > 1) { /* * Figure out the language and make sure we have an key for that language @@ -81,7 +82,7 @@ const loadFolderFrontmatter = async (key, site, folder, transform = false, lang /* * Add page to our object with slug as key and title as value */ - let slug = (prefix + chunks[0].slice(0, -3)).replace(`/./`, `/`) + let slug = prefix + chunks[0].slice(0, -3).replace('./', '') if (slug === prefix) slug = slug.slice(0, -1) if (slug !== 'docs/.') pages[lang][slug] = transform @@ -127,7 +128,7 @@ const formatDate = (date, slug, lang) => { * Loads all docs files, titles and order */ const loadDocs = async (site) => { - const folder = site === 'org' ? 'docs' : '.' + const folder = site === 'org' ? 'docs' : '' const titles = await loadFolderFrontmatter('title', site, folder) // Order is the same for all languages, so only grab EN files const order = await loadFolderFrontmatter('order', site, folder, false, 'en') diff --git a/sites/shared/prebuild/sitenav-lab.mjs b/sites/shared/prebuild/sitenav-lab.mjs index 28d5e9a48e5..036c3563a6d 100644 --- a/sites/shared/prebuild/sitenav-lab.mjs +++ b/sites/shared/prebuild/sitenav-lab.mjs @@ -1,4 +1,5 @@ import allLanguages from '../../../config/languages.json' assert { type: 'json' } +import i18nConfig from '../config/i18n.config.mjs' import { loadTranslations } from './shared.mjs' import { freeSewingConfig as conf } from '../config/freesewing.config.mjs' import { designs, tags } from '../config/designs.mjs' @@ -17,17 +18,17 @@ import i18next from 'i18next' */ export const extendSiteNav = async (pages, lang) => { - const translations = await loadTranslations({ + const resources = await loadTranslations({ site: 'lab', - namespaces: ['account', 'design', 'sections', 'tags'], - languages: allLanguages, + namespaces: ['account', 'sections', 'tags', 'designs'], + languages: [lang], }) - const resources = {} - resources[lang] = translations[lang] - i18next.init({ + const config = i18nConfig([lang]) + await i18next.init({ lng: lang, resources, + interpolation: config.interpolation, }) const { t } = i18next diff --git a/sites/shared/prebuild/sitenav-org.mjs b/sites/shared/prebuild/sitenav-org.mjs index 145f59db1d7..c69fe3d0c60 100644 --- a/sites/shared/prebuild/sitenav-org.mjs +++ b/sites/shared/prebuild/sitenav-org.mjs @@ -1,5 +1,6 @@ import { freeSewingConfig as conf } from '../config/freesewing.config.mjs' import { designs } from '../config/designs.mjs' +import i18nConfig from '../config/i18n.config.mjs' import { loadTranslations } from './shared.mjs' import i18next from 'i18next' @@ -17,17 +18,17 @@ import i18next from 'i18next' */ export const extendSiteNav = async (siteNav, lang) => { - const translations = await loadTranslations({ + const resources = await loadTranslations({ site: 'org', - namespaces: ['account', 'design', 'sections'], - language: lang, + namespaces: ['account', 'sections', 'tags', 'designs'], + languages: [lang], }) - const resources = {} - resources[lang] = translations - i18next.init({ + const config = i18nConfig([lang]) + await i18next.init({ lng: lang, resources, + interpolation: config.interpolation, }) const { t } = i18next From 6f7eb860b87790da44f70ab875087addc2005849 Mon Sep 17 00:00:00 2001 From: Enoch Riese Date: Fri, 28 Jul 2023 12:07:02 -0500 Subject: [PATCH 2/3] chore (lint) --- sites/shared/prebuild/sitenav-lab.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/sites/shared/prebuild/sitenav-lab.mjs b/sites/shared/prebuild/sitenav-lab.mjs index 036c3563a6d..a9f94b31489 100644 --- a/sites/shared/prebuild/sitenav-lab.mjs +++ b/sites/shared/prebuild/sitenav-lab.mjs @@ -1,4 +1,3 @@ -import allLanguages from '../../../config/languages.json' assert { type: 'json' } import i18nConfig from '../config/i18n.config.mjs' import { loadTranslations } from './shared.mjs' import { freeSewingConfig as conf } from '../config/freesewing.config.mjs' From 45ced9274f14c8530e8aa9246e1859cfc90d5c7b Mon Sep 17 00:00:00 2001 From: Enoch Riese Date: Fri, 28 Jul 2023 12:29:04 -0500 Subject: [PATCH 3/3] fix popout import on lab docs page --- .gitignore | 4 +++- sites/lab/pages/docs/index.mjs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 013667cd7de..81beabdb614 100644 --- a/.gitignore +++ b/.gitignore @@ -50,7 +50,9 @@ sites/lab/public/mstile-150x150.png sites/lab/public/safari-pinned-tab.svg sites/lab/public/site.webmanifest # but not the indexes -!sites/lab/pages/*/index.mjs +!sites/lab/pages/index.mjs +!sites/lab/pages/code/index.mjs +!sites/lab/pages/docs/index.mjs # dev auto-generated content sites/dev/public/android-chrome-192x192.png diff --git a/sites/lab/pages/docs/index.mjs b/sites/lab/pages/docs/index.mjs index 0da4e7f6401..e01eff9434f 100644 --- a/sites/lab/pages/docs/index.mjs +++ b/sites/lab/pages/docs/index.mjs @@ -3,7 +3,7 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { useTranslation } from 'next-i18next' // Components import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' -import { Popout } from 'shared/components/popout.mjs' +import { Popout } from 'shared/components/popout/index.mjs' import { ChoiceLink } from 'shared/components/choice-link.mjs' import { DocsIcon } from 'shared/components/icons.mjs'