试了以下highlight.js
发现只实现四个空格后代码的自动高亮识别
没有预期的js
的效果
希望有经验的人帮忙解答一下
谢谢
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中所说的...
标签中
3.补充:highlight.js 可以手动增加对其它标签的响应,比如这样的方式:$('div.code').each(function(i, e) {hljs.highlightBlock(e)});具体可参考这里。
4.订正:上文6。阅读源码确认highlight.js本身不实现四个空格后代码的自动高亮识别。根据题主的回复了解到题主已在后台部署了markdown语法转义。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。