1
0
Fork 0

wip(org): Changes to page structure

This commit is contained in:
Joost De Cock 2022-06-10 12:25:56 +02:00
parent 567ea009fd
commit aeeca88641
3 changed files with 70 additions and 4 deletions

View file

@ -159,11 +159,17 @@ export const getStaticPaths = async () => {
`${strapiHost}/blogposts?_locale=en&dev_ne=true&_limit=-1` `${strapiHost}/blogposts?_locale=en&dev_ne=true&_limit=-1`
) )
.then(response => response.json()) .then(response => response.json())
.then(data => data.map(post => ({ params: { slug: post.slug } }))) .then(data => data.map(post => `/blog/${post.slug}`))
.catch(err => console.log(err)) .catch(err => console.log(err))
return { return {
paths, paths: [
...paths,
...paths.map(p => `/de${p}`),
...paths.map(p => `/es${p}`),
...paths.map(p => `/fr${p}`),
...paths.map(p => `/nl${p}`),
],
fallback: false, fallback: false,
} }
} }

View file

@ -70,7 +70,11 @@ export default MdxPage
*/ */
export async function getStaticProps({ params, locale }) { export async function getStaticProps({ params, locale }) {
const { mdx, intro, toc, frontmatter } = await mdxLoader(locale, 'org', params.mdxslug.join('/')) const { mdx, intro, toc, frontmatter } = await mdxLoader(
locale,
'org',
['docs', ...params.mdxslug].join('/')
)
const { title='FIXME: Please give this page a title' } = frontmatter const { title='FIXME: Please give this page a title' } = frontmatter
return { return {
@ -104,7 +108,9 @@ export async function getStaticProps({ params, locale }) {
*/ */
export async function getStaticPaths() { export async function getStaticPaths() {
const somePaths = mdxPaths.filter(path => (path.split('/').length < 5)) const somePaths = mdxPaths
.filter(path => (path.split('/').length < 5))
.filter(path => (path !== 'docs'))
return { return {
paths: [ paths: [

View file

@ -0,0 +1,54 @@
import { useEffect } from 'react'
import Page from 'site/components/wrappers/page.js'
import useApp from 'site/hooks/useApp.js'
import mdxLoader from 'shared/mdx/loader'
import MdxWrapper from 'shared/components/wrappers/mdx'
import ReadMore from 'shared/components/mdx/read-more.js'
const DocsPage = ({ title, mdx }) => {
const app = useApp()
// We don't need all MDX components here, just ReadMore
const components = {
ReadMore: props => <ReadMore {...props} app={app} slug="docs" recurse />,
}
return (
<Page app={app} title={title}>
<div className="w-full">
<MdxWrapper mdx={mdx} app={app} components={components} />
</div>
</Page>
)
}
export default DocsPage
/*
* getStaticProps() is used to fetch data at build-time.
*
* On this page, it is loading the mdx (markdown) content
* from the markdown file on disk.
*
* This, in combination with getStaticPaths() below means this
* page will be used to render/generate all markdown/mdx content.
*
* To learn more, see: https://nextjs.org/docs/basic-features/data-fetching
*/
export async function getStaticProps({ params, locale }) {
const { mdx, intro, toc, frontmatter } = await mdxLoader(
locale,
'org',
['docs']
)
const { title='FIXME: Please give this page a title' } = frontmatter
return {
props: {
mdx,
title,
}
}
}