分享 Highlight.js 常见的几个函数使用方法 - 文章教程

分享 Highlight.js 常见的几个函数使用方法

发布于 2019-12-19 字数 3666 浏览 3202 评论 0

highlight.js 作为 hljs 对象的方法提供一些函数。

分享 Highlight.js 常见的几个函数使用方法

highlight(name, value, ignore_illegals, continuation)

用指定语言高亮代码。

参数

  • name : 要高亮的语言名,或别名
  • value : 原始 HTML 字符串
  • ignore_illegals : 是否忽略非法字符
  • continuation : 是否继续未完成的解析

返回的对象的属性

  • language : 语言名,和参数传递的语言名一致
  • relevance : 整数值
  • value : 带有高亮标记显示的字符串(配合 css 即可实现着色)
  • top : 当前模式的堆顶部

highlightAuto(value, languageSubset)

自动高亮代码。

参数

  • value : 原始 HTML 字符串
  • languageSubset : 可选的语言名或别名列表用来限制检测的语言范围

返回的对象的属性

  • language : 检测的语言
  • relevance : 整数值
  • value : 带有高亮标记显示的字符串
  • second_best : 拥有相同结构的的对象,作为检测出的次优语言,可能缺失

fixMarkup(value)

对着色处理后的 HTML 代码进行后处理。目前包括替换缩进制表符和使用 <br> 标记代替换换行符。使用 configure 进行全局配置。

参数

  • value : 代码高亮标记显示的字符串

返回值

  • 处理后的字符串

highlightBlock(block)

对包含代码的 DOM 节点添加高亮标记。默认使用语言检测,但是你也可以在节点上添加 class 属性来指定语言。

参数

  • block : DOM 节点

configure(options)

接受一个对象,使用此对象的属性值取更新全局配置。其它的选项不会改变。

options 的可选属性

  • tabReplace : 用于在缩进中替换制表符的字符串。
  • useBR : 设置是否使用 <br> 标记替代换行符,对没有被 <pre> 标签包含的代码使用时非常有用。
  • classPrefix : 在生成的高亮标记的类名之前添加的字符串前缀,用于兼容样式表
  • languages : 语言名或别名列表用来限制检测的语言范围。

initHighlighting()

为页面中所有 <pre><code>..</code></pre> 块添加高亮标记。配合 styles 中的 css 使用即可实现着色。

initHighlightingOnLoad()

将高亮显示绑定到页面加载完成触发的事件上。

registerLanguage(name, language)

以指定的名称将新语言添加到库中。

参数

  • name : 一个用作注册的语言的名称的字符串
  • language : 一个返回描述语言定义对象的函数。函数将被传递给 hljs 对象,以便能够使用在其中定义的公共正则表达式。

listLanguages()

返回语言名称列表。

getLanguage(name)

通过名称或别名查阅语言。

参数

  • name : 一个语言名称字符串或别名字符串

返回值

    • 返回一个语言对象,如果没找到则返回 undefined

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2891 文章
评论
84935 人气
更多

推荐作者

勿忘心安

文章 0 评论

ekko

文章 0 评论

江挽川

文章 0 评论

献世佛

文章 0 评论

Meets

文章 0 评论