开发者社区> 问答> 正文

SF markdown 的代码高亮工具是用的什么

试了以下highlight.js
发现只实现四个空格后代码的自动高亮识别
没有预期的
js
的效果
希望有经验的人帮忙解答一下
谢谢

展开
收起
杨冬芳 2016-06-14 17:59:46 1981 0
1 条回答
写回答
取消 提交回答
  • IT从业

    1.SegmentFault使用高亮方案是highlight.js。(这条未经考证,直接引用了 @woody 的答案)
    2.该highlight.js高亮方案仅仅是对html里或者其它指定标签(比如使用含hljs-前缀的class的标签)中的代码进行高亮,不包括markdown语法转义功能。
    3.四个空格后代码、`符号包裹代码本质上是markdown语法(扩展)。
    4.sf在输出页面时,已经在后台进行了markdown语法的转义,将代码输出到了标签中。然后前台才使用highlight.js进行高亮。
    5.题主的情况,应该考虑在使用markdown转义方案之后,再去期许highlight.js完成高亮。或者使用highlight.js直接支持的html代码形式也可。
    6.题主所说 实现四个空格后代码的自动高亮识别 ,我粗看highlight.js源码并未发现对这一特性的实现,当然目前我还没看仔细,暂时不做定论。highlight.js自身主动支持这一特性是可能的,也有可能是识别到了题主代码中的“特定标签”而产生了响应。

    update:
    1.订正:highlight.js 自动响应的标签是

     .. 
    而不是上文2中所说的...
    2.订正:相应的,上文4中应表述为将代码输出到了
    标签中 
    3.补充:highlight.js 可以手动增加对其它标签的响应,比如这样的方式:$('div.code').each(function(i, e) {hljs.highlightBlock(e)});具体可参考这里。
    4.订正:上文6。阅读源码确认highlight.js本身不实现四个空格后代码的自动高亮识别。根据题主的回复了解到题主已在后台部署了markdown语法转义。
    2019-07-17 19:38:25
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Python 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载