gatsby-browser.js (28 lines of code) (raw):
import React from 'react'
import {ThemeProvider, createGlobalStyle} from 'styled-components'
import {BaseStyles, Link, theme} from '@primer/components'
import {MDXProvider} from '@mdx-js/react'
const GlobalStyle = createGlobalStyle`
a {
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
`
const components = {
a: Link
/*
pre: props => props.children,
code: Code,
inlineCode: InlineCode,
table: Table,
img: Image,
p: Paragraph,
hr: HorizontalRule,
blockquote: Blockquote,
h1: H1,
h2: H2,
h3: H3,
h4: H4,
h5: H5,
h6: H6,
ul: List,
ol: List.withComponent('ol'),
dl: DescriptionList,
*/
}
export function wrapRootElement({element}) {
return (
<MDXProvider components={components}>
<ThemeProvider theme={theme}>{element}</ThemeProvider>
</MDXProvider>
)
}
export function wrapPageElement({element}) {
return (
<>
<GlobalStyle />
<BaseStyles fontSize={2}>{element}</BaseStyles>
</>
)
}