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

hij*_*ian 4 javascript lisp blogger syntax-highlighting

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

在Blogger上的文章中:

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

在结束前的设计模板中</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>
Run Code Online (Sandbox Code Playgroud)

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

<pre>
  <code class="lisp ruby"> // WTF
  ... stylized RUBY tokens here ...
  </code>
</pre>
Run Code Online (Sandbox Code Playgroud)

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

小智 6

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

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