主頁(yè) > 知識(shí)庫(kù) > SyntaxHighlighter配合CKEditor插件輕松打造代碼語(yǔ)法著色

SyntaxHighlighter配合CKEditor插件輕松打造代碼語(yǔ)法著色

熱門標(biāo)簽:智能電銷機(jī)器人真的好嗎 靈聲智能電話機(jī)器人招聘 長(zhǎng)春防封卡電銷卡套餐 株洲外呼營(yíng)銷系統(tǒng)有哪些 天津電銷卡外呼系統(tǒng)線路 企業(yè)電話機(jī)器人辦理 四平電話機(jī)器人哪家好 長(zhǎng)春銷售外呼系統(tǒng)業(yè)務(wù) 興化400電話辦理多少錢
上網(wǎng)搜索了一下相關(guān)的文章不少,大同小異,本人一直使用的是CKeditor的文字編輯器,所以償試使用網(wǎng)上很多網(wǎng)友介紹的SyntaxHighlighter配合CKEditor插件的方式實(shí)現(xiàn)??赡苁且?yàn)镾yntaxHighlighter和CKEditor版本不同,過(guò)程中遇到了一些問(wèn)題,解決的同時(shí)也根據(jù)個(gè)人理解做部分調(diào)整,所以本文所描述的方法僅供參考。



一、SyntaxHighlighter簡(jiǎn)介

SyntaxHighlighter(原名:dp.SyntaxHighlighter)是一套在瀏覽器上對(duì)各種代碼進(jìn)行語(yǔ)法著色的獨(dú)立JavaScript庫(kù)。

下載網(wǎng)站:http://alexgorbatchev.com/SyntaxHighlighter/
腳本之家下載:https://www.jb51.net/codes/15916.html

本文使用的版本是3.0.83版,下載后只需要syntaxhighlighter文件夾下的“scripts”和“styles”文件夾內(nèi)的文件,在代碼語(yǔ)法著色高亮顯示的頁(yè)面引用“styles/shCore.css”樣式文件,“scripts/shCore.js”JS文件,因?yàn)槊恳环N代碼語(yǔ)言都要引用各自的JS文件,為了降低HTTP請(qǐng)求,把所有代碼語(yǔ)言的JS文件內(nèi)容都放到一個(gè)“scripts/shBrushSeaYee.js”JS文件里,把所代碼寫成一行,優(yōu)化一下。

例如:
復(fù)制代碼 代碼如下:

link rel="stylesheet" type="text/css" href="/syntaxhighlighter/styles/shCoreDefault.css" />
script language="javascript" type="text/javascript" src="/syntaxhighlighter/scripts/shCore.js">/script>
script language="javascript" type="text/javascript" src="/syntaxhighlighter/scripts/shBrushSeaYee.js">/script>


二、CKEditor簡(jiǎn)介

CKeditor是一個(gè)專門使用在網(wǎng)頁(yè)上屬于開(kāi)放源代碼的所見(jiàn)即所得文字編輯器。它志于輕量化,不需要太復(fù)雜的安裝步驟即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的編程語(yǔ)言相結(jié)合。它原名FCKEditor,在2009年發(fā)布更新到3.0,并改名為CKEditor。原來(lái)叫FCK,是因?yàn)樽畛醯拈_(kāi)發(fā)者叫Frederico Calderia Knabben;現(xiàn)在叫CK,意指"Content and Knowledge"。據(jù)官方的解釋,CKEditor是對(duì)FCKEditor的代碼的完全重寫,而且此項(xiàng)工作從2007年就開(kāi)始了,更新包括:新的用戶界面,一個(gè)支持Plug-in的Javascript API,并提供對(duì)視覺(jué)障礙者的使用支持。

下載網(wǎng)站:http://ckeditor.com/

本文使用的版本是3.5.3版,安裝配置都比較簡(jiǎn)單,本文不再贅述。

三、CKEditor代碼語(yǔ)法著色高亮顯示的插件開(kāi)發(fā)

1、在"ckeditor\plugins\"目錄下新建一個(gè)"insertcode"目錄,然后在"insertcode"目錄下新建一個(gè)"plugin.js",輸入以下代碼:
復(fù)制代碼 代碼如下:

CKEDITOR.plugins.add('insertcode',
{
init: function(editor)
{
//plugin code goes here
var pluginName = 'Insertcode';
CKEDITOR.dialog.add(pluginName, this.path + 'insertcode.js');
editor.config.flv_path = editor.config.flv_path || (this.path);
editor.addCommand(pluginName, new CKEDITOR.dialogCommand(pluginName));
editor.ui.addButton('Insertcode',
{
label: '插入代碼',
command: pluginName,
icon: this.path + 'insertcode.gif'
});
}
});


注:第1行代碼中“insertcode”必須與文件夾名稱相同且區(qū)分大小寫字母,因?yàn)樵贚inux系統(tǒng)的Web服務(wù)器中,路徑是區(qū)分大小寫字母的。
2、"insertcode"目錄下放入一個(gè)"insertcode.gif"16*16大小的圖片,可自己做或上網(wǎng)找。
3、"insertcode"目錄下新建一個(gè)"insertcode.js",輸入如下代碼:
復(fù)制代碼 代碼如下:

CKEDITOR.dialog.add('Insertcode', function(editor){
var escape = function(value){return value;};
return{
title: '插入代碼',
resizable: CKEDITOR.DIALOG_RESIZE_BOTH,
minWidth: 720,
minHeight: 520,
contents: [{
id: 'cb',
name: 'cb',
label: 'cb',
title: 'cb',
elements: [{
type: 'select',
label: 'Language',
id: 'lang',
required: true,
'default': 'csharp',
items: [['ActionScript3', 'as3'], ['Bash/shell', 'bash'], ['ColdFusion', 'cf'], ['C#', 'csharp'], ['C++', 'cpp'], ['CSS', 'css'], ['Delphi', 'delphi'], ['Diff', 'diff'], ['Groovy', 'groovy'], ['JavaScript', 'js'], ['Java', 'java'], ['JavaFX', 'jfx'], ['Perl', 'perl'], ['PHP', 'php'], ['Plain Text', 'plain'], ['PowerShell', 'ps'], ['Python', 'py'], ['Ruby', 'rails'], ['Scala', 'scala'], ['SQL', 'sql'], ['Visual Basic', 'vb'], ['XML', 'xml']]
}, {
type: 'textarea',
style: 'width:718px;height:450px',
label: 'Code',
id: 'code',
rows: 31,
'default': ''
}]
}],
onOk: function(){
code = this.getValueOf('cb', 'code');
lang = this.getValueOf('cb', 'lang');
html = '' + escape(code) + '';
editor.insertHtml("pre class=\"brush:" + lang + ";\">" + html + "/pre>");
},
onLoad: function(){}
};
});

4、在"ckeditor\"目錄下找到“config.js”文件,這是CKEditor的配置文件,添加如下代碼:

復(fù)制代碼 代碼如下:
config.extraPlugins = 'insertcode';


注:代碼中“insertcode”也必須與文件夾名稱相同,區(qū)分大小寫字母。

要在CKEditor工具欄添加按鈕就在此配置文件中添加上“,Insertcode”,依然要注意區(qū)分大小寫字母。至此就大功造成了。
您可能感興趣的文章:
  • FCKeditor .NET的配置、擴(kuò)展與安全性經(jīng)驗(yàn)交流
  • CKEditor 4.4.1 添加代碼高亮顯示插件功能教程【使用官方推薦Code Snippet插件】
  • CKeditor富文本編輯器使用技巧之添加自定義插件的方法
  • CKEDITOR二次開(kāi)發(fā)之插件開(kāi)發(fā)方法
  • ckeditor自定義插件使用方法詳解
  • FCKeditor 插件開(kāi)發(fā) 示例(詳細(xì)版本)
  • 添加FCKeditor插件需要注意的地方
  • fckeditor 修改記錄添加行距功能插件
  • ckeditor插件開(kāi)發(fā)簡(jiǎn)單實(shí)例
  • fckeditor 插件開(kāi)發(fā)參考文檔
  • ckeditor syntaxhighlighter代碼高亮插件配置分享
  • 手把手教你 CKEDITOR 4 擴(kuò)展插件制作

標(biāo)簽:新疆 漯河 運(yùn)城 貴港 石嘴山 黑龍江 青海 巴彥淖爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SyntaxHighlighter配合CKEditor插件輕松打造代碼語(yǔ)法著色》,本文關(guān)鍵詞  SyntaxHighlighter,配合,CKEditor,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SyntaxHighlighter配合CKEditor插件輕松打造代碼語(yǔ)法著色》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于SyntaxHighlighter配合CKEditor插件輕松打造代碼語(yǔ)法著色的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章