Skip to content

Commit 1fa311f

Browse files
committed
temp: styled mdx
1 parent 87938e4 commit 1fa311f

File tree

3 files changed

+35
-16
lines changed

3 files changed

+35
-16
lines changed

data/createPages/index.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ interface MdxEdge {
7575
id: string;
7676
frontmatter: {
7777
slug: string;
78+
title: string;
7879
};
7980
internal: {
8081
contentFilePath: string;
@@ -131,6 +132,7 @@ export const createPages: GatsbyNode['createPages'] = async ({ graphql, actions:
131132
id
132133
frontmatter {
133134
slug
135+
title
134136
}
135137
internal {
136138
contentFilePath
@@ -251,12 +253,16 @@ export const createPages: GatsbyNode['createPages'] = async ({ graphql, actions:
251253
return slug;
252254
}
253255

256+
const mdxWrapper = path.resolve('src/components/Layout/MDXWrapper.tsx');
257+
258+
console.log('cat', edge.node.frontmatter);
259+
254260
createPage({
255261
path: slug,
256-
component: edge.node.internal.contentFilePath,
262+
component: `${mdxWrapper}?__contentFilePath=${edge.node.internal.contentFilePath}`,
257263
context: {
258264
slug,
259-
mdx: true,
265+
title: edge.node.frontmatter.title,
260266
layout: { sidebar: true, searchBar: true, template: 'base' },
261267
},
262268
});
@@ -287,6 +293,8 @@ export const createPages: GatsbyNode['createPages'] = async ({ graphql, actions:
287293
throw new Error('API reference result is undefined');
288294
}
289295

296+
console.log('lucie', mdxResult.data);
297+
290298
await Promise.all([
291299
...documentResult.data.allFileHtml.edges.map(documentCreator(documentTemplate)),
292300
...apiReferenceResult.data.allFileHtml.edges.map(documentCreator(apiReferenceTemplate)),

gatsby-browser.tsx

-14
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import {
1313
import { reducerApiKeyData } from './src/redux/api-key/api-key-reducer';
1414
import UserContextWrapper from './src/contexts/user-context/wrap-with-provider';
1515
import { useSiteMetadata } from './src/hooks/use-site-metadata';
16-
import { MDXProvider } from '@mdx-js/react';
1716

1817
const onClientEntry: GatsbyBrowser['onClientEntry'] = () => {
1918
setupObserver();
@@ -78,19 +77,6 @@ export const wrapRootElement = ({ element }) => {
7877
);
7978
};
8079

81-
export const wrapPageElement = ({ element }: { element: React.ReactNode }) => {
82-
return (
83-
<MDXProvider
84-
components={{
85-
h1: (props: any) => <h1 className="text-4xl font-bold mb-4" {...props} />,
86-
h2: (props: any) => <h2 className="text-2xl font-semibold mb-3" {...props} />,
87-
}}
88-
>
89-
{element}
90-
</MDXProvider>
91-
);
92-
};
93-
9480
export const onRouteUpdate = () => {
9581
trackPageView();
9682
};

src/components/Layout/MDXWrapper.tsx

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import React from 'react';
2+
import { PageProps } from 'gatsby';
3+
4+
import '../../styles/global.css';
5+
import PageTitle from '../PageTitle';
6+
import { MarkdownProvider } from '../Markdown';
7+
8+
type PageContextType = {
9+
title: string;
10+
};
11+
12+
type MDXWrapperProps = PageProps<unknown, PageContextType>;
13+
14+
const MDXWrapper: React.FC<MDXWrapperProps> = ({ children, pageContext }) => {
15+
const { title } = pageContext;
16+
17+
return (
18+
<MarkdownProvider>
19+
{title && <PageTitle>{title}</PageTitle>}
20+
{children}
21+
</MarkdownProvider>
22+
);
23+
};
24+
25+
export default MDXWrapper;

0 commit comments

Comments
 (0)