KindEditor插件之代码高亮

 

前序:由于工作需要使用在线编辑器,找了几个对比了下KindEditor还是不错的,国产的.但文档还是不全,还好能参考官方插件,套出来一些插 件.本文章分为4个部分,分别介绍图片上传插件、代码高亮插件、引用文本以及附件插件的制作。网上大部分都是直接或改官方的JSP文件,连action都 没有用,太不专业了。在上传附件或图片的时候写action上传不了居然还将web.xml中的<url-pattern>/*< /url-pattern>换为:<url-pattern>*.action</url-pattern>这样以来势必 会影响到其他地方。本文主要讲解插件的详细制作过程以及问题的处理,均为结合Struts2的标准方式,绝无什么水货处理方式!

KindEditor官方:http://www.kindsoft.net/

KindEditor4.0测试版Demo:http://www.kindsoft.net/ke4/php/demo.php

注意:KindEditor官方4.0下月发布正式版,已经有了代码高亮、附件上传等插件,如果你能等的话就暂扫一下我的文章就可以了!!!

KindEditor插件之代码高亮

代码高亮这个功能对于我们这些个coder来说很有用处,所以我们写一个,怎么写?

1.先去别人的页面上盗取下来一个代码选择的页面,自己写也可以,就一个下拉框,一个文本域就完了.

我这里是盗用OSCHINA的:

复制代码
狠狠的展开我
 1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="utf-8"/>
5 <title>KindEditor</title>
6 </head>
7 <body style='background:#f0f0ee;font-size:9pt;'>
8 <table border="0" cellpadding="0" cellspacing="0">
9 <tr>
10 <td style='padding-bottom:10px;'>
11 <select id='ic_lang' name='lang'>
12
13 <option value=''>[选择编程语言]</option>
14 <option value='java'>Java</option>
15 <option value='cpp'>C/C++/Objective-C</option>
16 <option value='c#'>C#</option>
17 <option value='js'>JavaScript</option>
18 <option value='php'>PHP</option>
19
20 <option value='perl'>Perl</option>
21 <option value='python'>Python</option>
22 <option value='ruby'>Ruby</option>
23 <option value='html'>HTML</option>
24 <option value='xml'>XML</option>
25 <option value='css'>CSS</option>
26
27 <option value='vb'>ASP/Basic</option>
28 <option value='pascal'>Delphi/Pascal</option>
29 <option value='scala'>Scala</option>
30 <option value='groovy'>Groovy</option>
31 <option value='lua'>Lua</option>
32 <option value='sql'>SQL</option>
33
34 <option value='cpp'>Google Go</option>
35 <option value='as3'>Flash/ActionScript/Flex</option>
36 <option value='sliverlight'>WPF/SliverLight</option>
37 <option value='shell'>Shell/批处理</option>
38 </select>
39 以便系统进行正确的语法着色
40 </td>
41
42 </tr>
43 <tr>
44 <td>
45 <textarea name='source' id='ic_source' style='width:500px;height:200px;font-size:9pt;font-family:Courier New,Arial'></textarea>
46 </td>
47 </tr>
48 </table>
49 </body>
50 </html>
复制代码

你直接用吧,什么都不用改.

放到哪里呢?我们放到js\plugins\code\insert_code.html这里js文件夹下有你的kindeditor.js

有了页面,我们还没有写调用它的代码....

继续,打开你的编辑器页面加入以下javascript:

(注意以上代码最后少了"});"复制的不给力...)

你可能会问这都是神马???

智商超过0的人基本都知道这大致做了什么.

我简单说明下KE.lang['code'] = "插入程序代码或脚本";就相当于定义常量而已.

点击工具栏中的定义插件就是那个click...我们用的是KindEditor自己带的弹出框,当然你用你自己喜欢的也可以.

注意file这个属性,它是相对plugin目录来写的,注意下...

对于这个插件其实没什么可以解释的了,照搬吧....

最后还有一点...我们的工具栏还是没有显示出来图标....

加入样式:

1
2
3
4
5
6
.ke-icon-code {
    background-image: url(images/code.gif);
    background-position: 0px 0px;
    width: 16px;
    height: 16px;
}

好了,搞定???

其实是搞定了,只是没有高亮而已(什么话!做高亮不高亮还叫搞定了?插件确实完成了...)

我们只需要加入一个高亮javascript库即可.当然是选用SyntaxHighlighter插件喽!然后如下

<script type="text/javascript" src="js/syntax/brush.js"></script>
<link type="text/css" rel="stylesheet" href="js/syntax/shCore.css"/>
<link type="text/css" rel="stylesheet" href="js/syntax/shThemeDefault.css"/>
<style>
 
</style>
<script type='text/javascript'>
<!--
$(document).ready(function(){
    SyntaxHighlighter.config.clipboardSwf = 'js/syntax/clipboard.swf';
    SyntaxHighlighter.all();
});
//-->
</script>
  <link rel="stylesheet" href="css/ke.css" type="text/css"/></head>

ke.css是神马???

在图片上传中我解释了,在这里我在说下,我们在编辑器中插入代码了,怎么所见即所得呢?就需要这个ke.css来做插入代码的样式

在这里我全列出来,自己则取修改吧(里面还包含引用文本插件的一些CSS留着吧,下一讲你就不用再费事了):

关于图标大家海捞吧...

哎...做个好人吧,把需要的图标列一下,如果觉得不好,那么网上捞吧.

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on   码魂  阅读(8063)  评论(1编辑  收藏  举报

编辑推荐:
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
阅读排行:
· 想让你多爱自己一些的开源计时器
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 大模型 Token 究竟是啥:图解大模型Token
· 用99元买的服务器搭一套CI/CD系统
· 如何在 .NET 中 使用 ANTLR4
< 2011年8月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10

导航

统计

点击右上角即可分享
微信分享提示