Подсветка синтаксиса реакции не работает с TailwindCSS
Я показываю содержимое блока здравомыслия, используя [@sanity/block-content-to-react](@sanity/block-content-to-react). Компонент BlockContent является оболочкой div с классом «проза».
<div className="prose prose-zinc font-display prose-h1:font-normal prose-code:mx-1 prose-code:before:content-none prose-code:after:content-none dark:prose-invert ">
<BlockContent
// Pass in block content straight from Sanity.io
blocks={singleBlog.body}
serializers={serializers}
/>
</div>
В моих сериализаторах я передаю пользовательский<Code/>
компонент.
const serializers = {
types: {
code: (props) => <Code props={props} />,
},
};
В моем пользовательском компоненте кода я использую Syntax Highlighter для переноса содержимого кода.
<SyntaxHighlighter style={theme} language={props.node.language}>
{props.node.code}
</SyntaxHighlighter>
Но независимо от того, какую тему я выберу, она меняет только цвета фона и размер шрифта, но не влияет на цвета текста.
Я думал, что класс «проза» в обертке div вызывает проблему. Но удалить это тоже не помогло.
{/* <div className="prose prose-zinc font-display prose-h1:font-normal prose-code:mx-1 prose-code:before:content-none prose-code:after:content-none dark:prose-invert "> */}
<BlockContent
// Pass in block content straight from Sanity.io
blocks={singleBlog.body}
serializers={serializers}
/>
{/* </div> */}
У кого-нибудь есть решение?
1 ответ
Я не уверен, используете ли вы пользовательскую тему или используете один из многих вариантов. Но если вы используете доступную версию, которую вы можете найти здесь: https://react-syntax-highlighter.github.io/react-syntax-highlighter/demo/prism.html .
Тогда это может быть проблема с вашим импортом.
Если я импортирую такую тему (используя hljs ):import {dark} from "react-syntax-highlighter/dist/esm/styles/hljs";
Я получаю только цвет фона.
Если я импортирую такую тему, используя параметр «призма», я также получаю цвет текста:import {dark} from "react-syntax-highlighter/dist/esm/styles/prism";