5

我正在使用Highlight.js库在 Blogger 中对代码进行语法高亮显示,但它拒绝正确高亮 Lisp 代码。

在博客上的文章中:

<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>

在某些代码片段上,荧光笔放置<code class="lisp undefined">并拒绝突出显示。由于我在使用 Blogger,我真的不想将任何东西下载到任何地方,尤其是当已经发布了语言包时。我应该做些什么才能让 Lisp 变得可识别?

4

1 回答 1

6

您正在使用托管版本,其中包含许多通用语言的定义,但 Lisp 不在其中。有关完整列表,请参阅下载页面。在这种情况下,class 属性中的“lisp”单词对于 highlight.js 来说是未知的,它会尝试自动检测语言。

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

于 2012-07-02T09:35:32.793 回答