我做到了。这里是代码,我认为你不需要language-js
如何后续做...
<pre class="language-js">
var cheese = sandwich;
function(){
return "hello!";
}
</pre>
首先我初始化prism并按照文档中的手动高亮步骤进行:
<script>
window.Prism = window.Prism || {};
window.Prism.manual = true;
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/prism.min.js"></script>
现在默认情况下什么都不会发生。文档中更深入的部分,在与Node一起使用的示例下展示了一个例子。
const code = `var data = 1;`;
const html = Prism.highlight(code, Prism.languages.javascript, 'javascript');
所以在我的例子中,我执行以下操作:
<script>
// Get the pre element
let pre = document.querySelector("pre");
// Grab the text out of it
let code = pre.innerText;
// Highlight it
let highlighted = Prism.highlight(code, Prism.languages.javascript, 'javascript');
// Now put that back in, but as HTML
pre.innerHTML = highlighted
</script>
这里有个例子:
https://codepen.io/EightArmsHQ/pen/f9023daaa6499786e25899cb62f4d6c2?editors=1010
我相信你可以想出如何使用querySelectorAll
选择所有的pre
标签,并循环遍历每一个并进行格式化 : )