我使用@theme-ui/prism来格式化markdown文件中的代码块文本。im使用的markdown插件是gatsby- plugin -mdx。它似乎不起作用,因为我在代码块中看不到黑色背景。
下面是我所做的:
yarn add @theme-ui/prism创建src/gatsby-plugin-theme ui/Components.ts:
import Prism from '@theme-ui/prism'
const components = {
pre: props => props.children,
code: Prism,
}
export default components在src/gatsby-plugin-theme-ui/index.ts中,我为pre定义了一种样式
import nightOwl from '@theme-ui/prism/presets/night-owl.json';
import colors from "./colors";
import headings from "./headings";
const systemFonts =
'-apple-system, BlinkMacSystemFont, San Francisco, Helvetica Neue, Helvetica, Ubuntu, Roboto, Noto, Segoe UI, Arial, sans-serif';
const transition = '0.2s ease-out';
export default {
useColorSchemeMediaQuery: true,
colors,
initialColorMode: `dark`,
fonts: {
body: systemFonts,
heading: "Avenir Next",
monospace: 'Menlo, monospace'
},
fontSizes: [12, 14, 16, 24, 28, 36, 48, 64],
fontWeights: {
body: 400,
heading: 500,
bold: 600,
},
lineHeights: {
body: 1.7,
heading: 1.1275,
},
letterSpacings: {
body: 'normal',
caps: '0.2em'
},
breakpoints: [
'320px', '376px', '540px', '735px', '1070px', '1280px', '1640px', '1880px'
],
transition,
styles: {
root: {
fontFamily: 'body',
lineHeight: 'body',
fontWeight: 'body',
...headings
},
...headings,
p: {
my: 4,
},
a: {
color: 'secondary',
transition: `color ${transition}`,
':hover,:focus': {
color: 'text'
}
},
pre: {
...nightOwl,
fontFamily: `"Operator Mono", monospace`,
fontSize: '0.9rem',
tabSize: 4,
hyphens: `none`,
overflow: `auto`,
borderRadius: 6,
p: 3,
my: 4
},
inlineCode: {
color: `primary`,
background: `rgba(233, 218, 172, 0.15)`,
borderRadius: 3,
px: `0.4rem`,
py: `0.2rem`
},
table: {
width: '100%',
borderCollapse: 'separate',
borderSpacing: 0
},
th: {
textAlign: 'left',
borderBottomStyle: 'solid'
},
td: {
textAlign: 'left',
borderBottomStyle: 'solid'
}
}
}发布于 2020-08-30 02:55:51
棱镜特性实际上似乎是针对theme-ui的未来版本的,所以默认(在撰写本文时是v0.3.x) doesn't support it。
为了解决这个问题,你可以把你的theme-ui*和gatsby-plugin-theme-ui包版本改为^0.4.0-rc.1 (rc.3实际上已经过时了,但是it's broken自动柜员机,所以不要使用它)。
// package.json
{
...
"dependencies": {
"gatsby-plugin-theme-ui": "^0.4.0-rc.1",
"@theme-ui/prism": "^0.4.0-rc.1",
"theme-ui": "^0.4.0-rc.1",
}
}https://stackoverflow.com/questions/63414103
复制相似问题