FCKeditor + SyntaxHighlighter 让代码高亮着色插件

FCKeditor是现在最为流行的开源编辑器,SyntaxHighlighter是一个用JS实现的代码高亮显示插件,可以最小化修改您的程序实现效果,最终效果截图:

演示网页:

下载FCKeditor + SyntaxHighlighter插件包:fck_SyntaxHighlighter我们打包版

下面分步介绍如何在FCKeditor环境中使用SyntaxHighlighter。

后台FCKeditor编辑器的修改

1、将包解压后,把 insertcode 文件夹上传到 FCKeditor编辑器的editor\plugins\目录下,然后修改FCKeditor编辑器的fckconfig.js此文件,在此文件中 FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;下面加入以下代码:
FCKConfig.Plugins.Add('insertcode');

2、打开FCKeditor编辑器的editor\lang文件夹里的zh-cn.js,在DlgDivInlineStyle : "CSS 样式",(注意这句后面一定要加一个逗号“,”)下面加入以下代码
//Plugins
InsertCodeBtn : "插入代码"

3、修改FCKeditor编辑器的fckconfig.js文件,在编辑器控制面板中加入按钮,在调用工具栏参数的Media后面加入insertcode(注意正确加上标点符号,否则会报错)。如下所示:
FCKConfig.**Sets[ "standard"] = [
['Source','Paste','PasteText','PasteWord','-','Undo','Redo','-','Bold','Italic','Underline','StrikeThrough','TextColor','Table','-','JustifyLeft','JustifyCenter','JustifyRight','OrderedList','UnorderedList','-','Image','Attach','Flash','Media','InsertCode'],完成以上操作后,此时启动FCKeditor编辑器应该在编辑器的**上多了一个图标,点击此图标即可添加你的代码了。如果报错,提示找不到工具项,那是FCKeditor的缓存没清除,退出后台或更新缓存,刷新一下,重新进入就可以看到代码插入图标了。

前台显示页面的SyntaxHighlighter调用

1、将包解压后把 syntax 文件夹上传到前台根目录下的js文件夹中。

2、在需要进行高亮显示处理的HTML页面中增加SyntaxHighlighter控制代码,将如下代码,插入到HTML页面的<header>与</header>之间:

<script type="text/javascript" src="/js/syntax/scripts/shCore.js"></script>
<script type="text/javascript" src="/js/syntax/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/js/syntax/scripts/shBrushAll.js"></script>
<link href="/js/syntax/styles/shCore.css" type="text/css" rel="stylesheet"/>
<link href="/js/syntax/styles/shThemeDefault.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = '/js/syntax/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>

<font face="Courier New" style="background-color: #f8f8f8">2、在前台页的CSS文件中增加如下样式控制CSS代码(这段也可以不加,只是为了更美观):</font>

.codeHead {font-weight: bold;font-size: 12px;padding: 5px;padding-left: 15px;background: #fff;border-bottom: 1px solid #ddd;}
.codeText {border: 1px solid #ddd;width: 98%;overflow: auto;margin: 0 0 1.1em;padding: 0;word-break: break-all;background: #fff;font: 12px 'Courier New', Monospace;}
.codeText ol {list-style: decimal-leading-zero;margin: 0 1px 0 45px;padding: 5px 0;color: #5C5C5C;border-left: 1px solid #ddd;background: #fff;}
.codeText ol li {list-style-type:decimal;padding-left: 10px;background: #FFF;}
.codeText ol li.alt {background: #FFF;}
.codeText ol li span {color: #000;}

注意:这样的前台调用路径为 /js/syntax/ 是因为我上传到了这个路径,此路径根据你的需要可修改。应为你实际上传的路径。

至此修改全部结束,如果你在修改中遇到什么问题,欢迎与我们交流,tech#cncms.com

补充:有朋友反映加载时页面会卡一下才能显示完,原因是在页面加载时JS即开始运行,进行代码的着色,解决办法就是,让代码着色 SyntaxHighlighter.all(); 延时执行即可,我们把上面的代码稍改一下:

<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = '/js/syntax/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>

改为:

<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = '/js/syntax/scripts/clipboard.swf';
setTimeout("SyntaxHighlighter.all();",300);
</script>

这样改后,就感觉不到加载时的卡了。

(0)

相关推荐

  • FCKeditor smarty 编辑器的应用PHP

    感谢csdn社区 hsboy用户的帖子 原文: 6 楼hsboy(PHP it!)回复于 2006-03-05 18:44:07 得分60 假设 1.你要用fckeditor编辑的内容通过$smarty->assign('content', $content)传递到模板 2.fckeditor编辑器放在当前被调用的php程序所在目录(注意不是模板文件所在的目录)的fckeditor目录下 则模板只需这样写即可: 复制代码 代码如下: <script type="text/javasc

  • fckeditor编辑器下的自定义分页符实现方法

    这里我们小编参考了几篇文章特为大家整理下,用到的朋友多支持一下了. 进行长文章分页,编辑人员在控制分页符的时候手工插入很麻烦,所以修改了FCK的插入分页符的插入字符: 修改方法: 打开/editor/js/ 找到fckeditorcode_gecko.js和fckeditorcode_ie.js 因为fck有二个js文件.fckeditorcode_gecko.js是针对非ie的.一个是针对ie的.所以我们需要更改二个js的文件. 这样方便我们以后插入分页时,就不需要那么一大串的了. 找到: v

  • Smarty中调用FCKeditor的方法

    本文实例讲述了Smarty中调用FCKeditor的方法,分享给大家供大家参考.具体实现方法如下: FCKeditor是目前互联网上最好的在线编辑器. smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序 员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要. 在Smarty中调用FCKeditor的文件: 复制代码 代码如下: requ

  • 将FCKeditor导入PHP+SMARTY的实现方法

    本文实例讲述了将FCKeditor导入PHP+SMARTY的实现方法.分享给大家供大家参考.具体分析如下: 提取Fckeditor时,采用如下,PHP用$_POST['p_info']得到FCKeditor的值. 补充: 1 .此处basepath 的路径一定要和上面include的路径一样.否则会找不到文件 另外,对于这个输入内容的变量,如果要把它存入数据库教程,它的变量名为你建立对象的名字.例如上面就是 "p_info". 2. 在FCKeditor/_samples/里面有个ph

  • 实例(Smarty+FCKeditor新闻系统)

    以下是主文件index.php的内容: 复制代码 代码如下: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <?php  require('./global.php');  require('./smarty/libs/Smarty.class.php');  require('./mysql.php');  require('./FCKeditor/fck

  • fckeditor粘贴Word时弹出窗口取消的方法

    本文实例讲述了fckeditor粘贴Word时弹出窗口取消的方法.分享给大家供大家参考.具体方法如下: 用fckeditor作为用户发布的编辑框,允许用户发布Word.默认的情况下,粘取进word时,提示是否清除word样式,选择"是"则弹出一个框,需要再粘贴一次来清除word样式.这个操作很麻烦,因此要取消. 开始找到的方法是把ckeditor/" target="_blank">fckeditoreditorjs下的fckeditorcode_i

  • 探讨fckeditor在Php中的配置详解

    前言: FCKeidtor是个国外的多语言编辑器,你可以对其配置文件进行简单修改使之支持目前常用Web开发语言的应用,下面我就讲讲FCKeditor的最新版本2.4.2在php的具体配置过程,有不足和出错的地方,欢迎指正. 精简: 正因为这个编辑器是支持多语言的,所以首先我们针对使用对其做相应的冗余文件删除. 1.临时文件及文件夹删除:从根目录下开始删除一切以"_"开头的文件及文件夹,因为他们为临时文件和文件夹.删除这类临时文件及文件夹之后,我们还要删除一些根目录下的多余文件,根目录下

  • FCKeditor + SyntaxHighlighter 让代码高亮着色插件

    FCKeditor是现在最为流行的开源编辑器,SyntaxHighlighter是一个用JS实现的代码高亮显示插件,可以最小化修改您的程序实现效果,最终效果截图: 演示网页: 下载FCKeditor + SyntaxHighlighter插件包:fck_SyntaxHighlighter我们打包版 下面分步介绍如何在FCKeditor环境中使用SyntaxHighlighter. 后台FCKeditor编辑器的修改 1.将包解压后,把 insertcode 文件夹上传到 FCKeditor编辑器

  • prettify 代码高亮着色器google出品

    在<head></head>标签之间加入这两行代码: 复制代码 代码如下: <link href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css" rel="stylesheet" type="text/css"/> <script src="http://google-code-prettify.go

  • 2014最热门的JavaScript代码高亮插件推荐

    对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染任何一种编程语言,包括一些关键字的着色,以及每行代码的缩进等.今天我们要来分享一些高性能的JavaScript代码高亮插件,这些JavaScript代码高亮插件将非常有效地帮你实现在网页上的代码编辑和展示. 1.SyntaxHighlighter – 最优秀的JavaScript代码高亮插件 SyntaxHighlighter 是一款完全基于JavaScript的代码高亮插件,Sy

  • vue 代码高亮插件全面对比测评

    全面对比 从活跃方面来看 从功能方面来看 代码高亮是必须的,社区必须活跃,不然修复bug没有一点点参考,太费时间.自动补全缩进,快捷键操作,搜索和替换等功能不是必须的,如果有,能拿来装逼当然最好,不能也不影响使用. 故而挑出了以下几个,再具体分析,逐个调查,查看后续开发,部署的坑,坑少方便的就被我选中. 深入对比 1,ace Ace是一个用JavaScript编写的嵌入式代码编辑器.它与Sublime,Vim和TextMate等原生编辑器的功能和性能相匹配.它可以很容易地嵌入到任何网页和Java

  • FCKeditor 和 SyntaxHighlighter 代码高亮插件的整合

    Introduction(简介) This is a dialog-based plugin to handle formatting of source code for FCKeditor 2.5.x. It WON'T work with the new CKEditor (yet).(CKEditor 是FCKEditor 的升级版,不过,SyntaxHighlighter 还不能在 CKEditor 中实现代码高亮) It makes use of the SyntaxHighligh

  • CKEditor中加入syntaxhighlighter代码高亮插件

    从官网 下载ckeditor,我下载的是CKEditor 3.3.1 .CKEditor与原来的FCKeditor有太大的不同了,作为开发人员,在做自己的博客的时候总是需要贴代码的,只好给它先做一个插入代码的插件了.高亮代码用的是"SyntaxHighlighter ". 1.在"ckeditor/plugins/"目录下新建一个"insertcode"目录,然后在"insertcode"目录下新建一个"plugin

  • SyntaxHighlighter配合CKEditor插件轻松打造代码语法着色

    上网搜索了一下相关的文章不少,大同小异,本人一直使用的是CKeditor的文字编辑器,所以偿试使用网上很多网友介绍的SyntaxHighlighter配合CKEditor插件的方式实现.可能是因为SyntaxHighlighter和CKEditor版本不同,过程中遇到了一些问题,解决的同时也根据个人理解做部分调整,所以本文所描述的方法仅供参考. 一.SyntaxHighlighter简介 SyntaxHighlighter(原名:dp.SyntaxHighlighter)是一套在浏览器上对各种代

  • ckeditor syntaxhighlighter代码高亮插件配置分享

    最近由于自己想做一个网站形式的代码库,自已写一个在线文本编辑器,对于现在的我来,确实是很不切实际,呵呵!再说了,现在有一个非常好的在线文本编辑器(ckeditor)了,我和必再去费这等功夫呢!有现成的,拿过用就是的呗!正所谓的拿来主义!不过这个在线文本编辑器,对于我们程序员来说有一个算是缺陷吧!没有代码高亮的功能!这样把代码贴上去,很不好看!今天晚上,我总是把他给弄出来了.当然也采在别人的肩膀上做成的.在此感谢他们的分享!费话不多说了!咱们进入正题吧! 首先去官方网站下载个ckeditor 其次

  • asp.net 为FCKeditor开发代码高亮插件实现代码

    所以就为FCKeditor写了个InsertCode的插件.整个插件的制作过程非常简单:FCKeditor插件开发请参考FCKeditor官网的文档: http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Customization/Plug-ins 首先,我们在FCKeditor/editor/plugins目录下新建一个insertcode目录,并在insertcode目录下新建一个fckplugin.js文件. 在新建的fckpl

  • 防止SyntaxHighlighter.js的代码高亮时闪一下的解决方法

    SyntaxHighlighter.js是一个代码高亮的JS插件,使用也很简单,但是由于是浏览器段执行JS代码来着色,会出现视觉上闪一下的效果.比如你的20行代码网页打开显示高度为100px,但是SyntaxHighlighter高亮后该区域高度变为120px 加上颜色的变化,这样的体验特别不好. 解决原理:把pre标签的样式定义为 高亮后的样式即可 解决方法:在shCoreDefault.css文件加上如下样式 pre { line-height:22px !important; backgr

随机推荐