编程语言
首页 > 编程语言> > javascript – 为什么highlight.js会忽略语言类?

javascript – 为什么highlight.js会忽略语言类?

作者:互联网

我正在使用Highlight.js库在Blogger中突出显示代码的语法,它拒绝正确地突出显示Lisp代码.

在Blogger上的文章中:

<pre><code class="lisp">
  (coerce (average 1 2 3 4) 'float)
  > 2.5
</code></pre>

在结束前的设计模板中< / head>:

<script src='http://yandex.st/highlightjs/7.0/lisp.min.js' ></script>
<script src='http://yandex.st/highlightjs/7.0/highlight.min.js' ></script>
<link href='http://yandex.st/highlightjs/7.0/styles/github.min.css' rel='stylesheet' />
<script type='text/javascript'>
  hljs.initHighlightingOnLoad();
</script>

在打开文章时,突出显示被破坏,Firebug在HTML面板中显示:

<pre>
  <code class="lisp ruby"> // WTF
  ... stylized RUBY tokens here ...
  </code>
</pre>

在一些代码片段中,highlighter将< code class =“lisp undefined”>并且完全拒绝突出.当我在Blogger上时,我真的不想将任何内容下载到任何地方,特别是当已经发布语言包时.我应该做些什么魔法让Lisp变得可识别?

解决方法:

您正在使用托管版本,其中包含许多常用语言的定义,但Lisp不在其中.有关完整列表,请参阅download page.在这种情况下,类属性中的“lisp”单词不知道为highlight.js,它会尝试自动检测语言.

但是,即使Lisp包含在包中,它也不会突出显示您的片段,因为它包含的输出(> 2.5)不是Lisp,而highlight.js中的Lisp定义不允许这样做.

标签:javascript,syntax-highlighting,lisp,blogger
来源: https://codeday.me/bug/20190530/1182631.html