介绍highlight
- 支持176语言和79样式
- 自动语言检测
- 可用于node
下载使用
下载地址
可以根据自己的需要,选择支持相应的语言
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”)或关键字组 名称(“关键字”,“文字”,“内置”)作为跨度的类名称。
链接:https://www.jianshu.com/p/73fbdf6f9426