应天论坛

 找回密码
 参与我们

QQ登录

只需一步,快速开始

搜索
查看: 1786|回复: 3

highlight.js 增加行数 (codesnippet插件添加行号)

[复制链接]

276

主题

303

帖子

3197

积分

管理员

湘南小侠客

Rank: 9Rank: 9Rank: 9

积分
3197

优质服务勋章论坛元老

QQ
发表于 2018-3-25 22:19:27 | 显示全部楼层 |阅读模式
最近升级了ckeditor编辑器,添加了codesnippet(代码高亮插件),这里不介绍codesnippet的使用方法了,大家可以自行百度,这类教程非常的多
codesnippet是一款基于 highlight.js 代码高亮插件,但是默认不显示行号行数的,由于我之前使用的插件是显示的,所以还了以后感觉非常别扭,于是就尝试在百度了找了一下,发现还真没有有效的解决办法,于是就自己动手吧,其实非常简单,我先说一下我的思路。

首先吧代码片中的换行(\n)都替换成 </li><li>, 然后在代码内容的前面添加 <ul><li>, 而最后 添加 </li></ul>,这样以来,代码就被<li></li>每行隔开了,然后通过css添加行数,就非常简单了。


下面看具体实现的方法
1/先添加一段JS ,就是实现我上述方法的JS(不能添加在highlight.js内,因为此方法并非使用highlight.js函数来完成的)

//代码高亮自定义
[mw_shl_code=javascript,true]$("code").each(function(){
  $(this).html("<ul><li>" + $(this).html().replace(/\n/g,"\n</li><li>") +"\n</li></ul>");
});[/mw_shl_code]

2/在css内添加以下内容(本文中的代码片效果是在vs.css基础上修改的,所以css例子可能只适用与该实例,需要更多效果可以自己去修改)
[mw_shl_code=css,true].hljs {
        border: 0;
        font-family: "Consulas", "Courier New", Courier, mono, serif;
        font-size: 12px;
        background: #eee !important;
        display: block;
        padding: 1px;
        margin: 0;
        width: 100%;
        font-weight: 200;
        color: #333;
        white-space: pre-wrap
}
.hljs ul {
        list-style: decimal;
        background-color: #fff;
        margin: 0px 0px 0 40px !important;
        padding: 0px;
}
.hljs ul li {
        list-style: decimal-leading-zero;
        border-left: 1px solid #ddd !important;
        background: #fff;
        padding: 5px!important;
        margin: 0 !important;
        line-height: 14px;
        word-break: break-all;
        word-wrap: break-word;
}
.hljs ul li:nth-of-type(even) {
        background-color: #fcfcfc;
        color: inherit;
}[/mw_shl_code]

完成以上操作就可以了。
每次见你穿短裤打领带,还穿个拖鞋,下次再这样穿不要从我家门口过了!
http://gsh.yzqz.cn/CassettePlayer/index.html

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 参与我们

本版积分规则

QQ|Archiver|手机版|小黑屋|应天社区 ( 湘ICP备17015224号 )

GMT+8, 2024-12-22 13:02 , Processed in 0.078125 second(s), 31 queries .

Powered by Discuz!

© 2001-2017 Comsenz Inc.


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@yzqz.cn

快速回复 返回顶部 返回列表