more contained fixes to docs
This commit is contained in:
parent
2a21b10acc
commit
8a4c558cee
28 changed files with 213 additions and 217 deletions
|
@ -4,6 +4,14 @@ import { Spinner } from 'shared/components/spinner.mjs'
|
|||
import { MdxWrapper } from './wrapper.mjs'
|
||||
import { components } from 'shared/components/mdx/index.mjs'
|
||||
|
||||
export const loaders = {
|
||||
en: (path) => import(`orgmarkdown/docs/${path}/en.md`),
|
||||
de: (path) => import(`orgmarkdown/docs/${path}/de.md`),
|
||||
fr: (path) => import(`orgmarkdown/docs/${path}/fr.md`),
|
||||
es: (path) => import(`orgmarkdown/docs/${path}/es.md`),
|
||||
nl: (path) => import(`orgmarkdown/docs/${path}/nl.md`),
|
||||
uk: (path) => import(`orgmarkdown/docs/${path}/uk.md`),
|
||||
}
|
||||
/*
|
||||
* Webpack will check on disk for all possible files matching this
|
||||
* dynamic import. So unless we divide it up a bit your computer
|
||||
|
@ -11,44 +19,30 @@ import { components } from 'shared/components/mdx/index.mjs'
|
|||
*
|
||||
* This will return a language-specific component
|
||||
*/
|
||||
const dynamicDocsFactory = (lang) => {
|
||||
return function DynamicDocs({ path }) {
|
||||
const [frontmatter, setFrontmatter] = useState({})
|
||||
const mdx = dynamic(
|
||||
() =>
|
||||
import(`orgmarkdown/docs/${path}/${lang}.md`).then((mod) => {
|
||||
setFrontmatter(mod.frontmatter)
|
||||
return mod
|
||||
}),
|
||||
{ ssr: false }
|
||||
)
|
||||
const MDX = mdx ? mdx : <Spinner className="w16 h-16 animate-spin text-primary" />
|
||||
|
||||
return (
|
||||
<MdxWrapper {...frontmatter} path={path} language={lang}>
|
||||
<MDX components={components} />
|
||||
</MdxWrapper>
|
||||
)
|
||||
}
|
||||
function DynamicDocs({ path, lang }) {
|
||||
const [frontmatter, setFrontmatter] = useState({})
|
||||
const mdx = dynamic(
|
||||
() =>
|
||||
loaders[lang](path).then((mod) => {
|
||||
setFrontmatter(mod.frontmatter)
|
||||
return mod
|
||||
}),
|
||||
{ ssr: false }
|
||||
)
|
||||
const MDX = mdx ? mdx : <Spinner className="w16 h-16 animate-spin text-primary" />
|
||||
|
||||
return (
|
||||
<MdxWrapper {...frontmatter} path={path} language={lang}>
|
||||
<MDX components={components} />
|
||||
</MdxWrapper>
|
||||
)
|
||||
}
|
||||
|
||||
/*
|
||||
* Instantiate language-specific components
|
||||
*/
|
||||
const OrgDocsEn = dynamicDocsFactory('en')
|
||||
const OrgDocsDe = dynamicDocsFactory('de')
|
||||
const OrgDocsFr = dynamicDocsFactory('fr')
|
||||
const OrgDocsEs = dynamicDocsFactory('es')
|
||||
const OrgDocsNl = dynamicDocsFactory('nl')
|
||||
|
||||
/*
|
||||
* Return language-specific component
|
||||
*/
|
||||
export const DynamicOrgDocs = ({ path = false, language = 'en' }) => {
|
||||
if (!path) return null
|
||||
if (language === 'en') return <OrgDocsEn path={path} />
|
||||
if (language === 'de') return <OrgDocsDe path={path} />
|
||||
if (language === 'es') return <OrgDocsEs path={path} />
|
||||
if (language === 'fr') return <OrgDocsFr path={path} />
|
||||
if (language === 'nl') return <OrgDocsNl path={path} />
|
||||
return <DynamicDocs path={path} lang={language} />
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue