帶有語法高亮的網頁中的任何區塊
我需要在網頁中添加語法高亮,但我不能更改標記。
大多數語法高亮庫(例如 Prism.js)都要求您使用固定的結構,如下所示:
引用如下:
Prism 會盡力鼓勵良好的作者實踐。因此,它僅與
<pre>
元素配合工作,因為在沒有<pre>
元素的情況下,將代碼標記為無語義是無效的。
這聽起來很理想,但是我從外部來源得到的代碼在 div
中。你要求我使用那種標記,但我卻沒有。
最終,我找到了一個工具 https://highlightjs.org/,它讓我可以將語法高亮應用於我想要的頁面上的任何元素,只需先加載該庫,然後調用以下代碼:
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.my-code-div').forEach((el) => {
hljs.highlightElement(el)
})
})