tldr; 这不是 Svelte 问题。这是我的 Sanityblocks-to-html
实用程序序列化程序的问题。
嗨@RichHarris!在将一个 repo 放在一起进行复制时,我发现 prism 按预期工作。然后我能够缩小我的问题。
我一开始就应该提到,我正在使用 Sapper 并从 Sanity 中提取内容。我对 Sanity 实用程序的序列化程序进行了修改,该block-content-to-html
实用程序将我的可移植文本转换为标记。该<pre>
标签data-language='HTML'
来自 Sanity,而 Prism CSS 是期待class="language-HTML
. 我将我的序列化程序修改为:
code: ({node}) =>
h(
"pre",
{
"data-language": node.language, "class": "language-" + node.language
},
h("code", {}, node.code)
)
刷新后工作。类属性被添加,并应用了 CSS。我只是在浏览代码,因为我真的不知道它是如何blocksToHtml
工作的,但是在将 object 属性更改为 时className
,一切都按预期工作:
code: ({node}) =>
h(
"pre",
{
"data-language": node.language, className: "language-" + node.language
},
h("code", {}, node.code)
)
谢谢你看,里奇!我真的很喜欢 Svelte!