highlight.js的简单使用

介绍highlight

下载使用

下载地址
可以根据自己的需要,选择支持相应的语言

libragy API

  • highlight(name, value, ignore_illegals, continuation)
    name:语言名称
    value:原始HTML字符串
    ignore_illegals:是否忽略非法字符
    continuation:是否继续未完成的解析
    返回值:Object
    language: 指定的语言,和输入的一致
    relevance: 整数值
    value: 处理后的高丽HTML字符串
  • highlightAuto()
    自动检测语言
  • fixMarkup()
  • highlightBlock(block)
    传入的参数是DOM节点,该函数默认使用语言检测,但是可以在DOM节点的类属性中指定语言
  • configure(options)
    Configures global options:
    • tabReplace:用于替换缩进中的TAB字符的字符串
  • initHighlightingOnLoad()
    这个方法等到页面加载完成之后,再对页面的<pre><code>..</code></pre>代码段高亮。
  • initHighlighting()
    把高亮运用到页面的每个<pre><code>..</code></pre>中,这个方法和initHighlightingOnLoad区别就是,这个不会等待页面加载完成执行。

说明

解析器的工作是查找模式和关键字。找到后,将他们包装成标记<span class="">...</span>中,并将模式名称('String','comment', 'number')或关键字租名称('关键字’,文字,内置)做为跨度的类名称。

Language definition guide

编程语言代码由具有不同解析规则的部分组成:关键字像for或if在字符串内部没有意义,字符串可能包含像\“\”这样的反斜杠符号。注释除了注释的结尾通常不包含任何有趣的内容。
像那样的部分在highlight.js叫做模式
每个模块包含:

  • 开始条件
  • 结束条件
  • 包含子模式列表
  • 词法,规则和关键字
  • ......

解析器的工作是查找模式和关键字。 找到后,将它们包装到标记<span class =“...”> ... </ span>中,并将模式名称(“string”,“comment”,“number”)或关键字组 名称(“关键字”,“文字”,“内置”)作为跨度的类名称。

推荐阅读更多精彩内容