CKEditor에 syntaxhighlighter 코드 강조 플러그인 추가
1. "ckeditor/plugins/"디렉터리에 "insertcode"디렉터리를 새로 만들고 "insertcode"디렉터리에 "plugin.js"디렉터리를 새로 만들고 다음 코드를 입력하십시오.
CKEDITOR.plugins.add('insertcode', {
requires: ['dialog'],
init: function(a){
var b = a.addCommand('insertcode', new CKEDITOR.dialogCommand('insertcode'));
a.ui.addButton('insertcode', {
label: a.lang.insertcode.toolbar, command: 'insertcode',icon: this.path + 'images/code.jpg'
});
CKEDITOR.dialog.add('insertcode', this.path + 'dialogs/insertcode.js');
}
});
2. "images"디렉터리를 추가하고 "code.jpg"그림을 넣습니다. (첨부 파일에 코드의 jpg 사진이 업로드되어 직접 사용할 수 있습니다.)3. "dialogs"디렉터리를 추가하고 "insertcode.js"를 새로 만들고 다음 코드를 입력하십시오.
CKEDITOR.dialog.add('insertcode', function(editor){
var escape = function(value){
return value;
};
return {
title: 'Insert Code Dialog',
resizable: CKEDITOR.DIALOG_RESIZE_BOTH,
minWidth: 720,
minHeight: 480,
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'], ['C#', 'csharp'], ['C++', 'cpp'], ['CSS', 'css'], ['Delphi', 'delphi'], ['Diff', 'diff'], ['Groovy', 'groovy'], ['Html', 'xhtml'], ['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:700px;height:420px',
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(){
}
};
});
나는'syntaxhighlighter'로 코드를 밝게 만들었는데, 네가 그것을 좋아하지 않는다면 다른 것으로 바꿀 수도 있다. 4. 다음은 플러그인을 CKEditor에 추가했습니다. 저는 CKEditor 플러그인의 핵심 파일을 직접 수정했습니다. 왜냐하면 저는'코드 삽입'기능을 편집기에 필요한 기능으로 사용하기 때문입니다.
ckeditor 디렉터리에 있는 "ckeditor.js"를 찾았습니다. 여기 코드는 압축된 것입니다. 저희는 CKEditor의 원래about 플러그인을 참고합니다.'about'을 찾아서'fullPage:false,height:200,plugins:'about,basicstyles'를 찾으면 우리는'about'뒤에',insertcode'를 추가합니다. 여기는'plugins:'about,insertcode,basicstyles'가 됩니다.
"about"을 계속 찾아서 "j.add('about', {init:function(l) {var m=l.addCommand('about', new a.dialogCommand('about'), m.modes={wysiwyg:1, source:1};m.canUndo=false;l.ui.addButton('About', {label:l.lang.about.title,command:'about'});a.dialog.add('about'}); t', this.path+'dialogs/about.js');};",우리는 이 번호 뒤에"j.add('insertcode', {requires: ['dialog'], init: function(l) {l.addCommand('insertcode', new a.dialogCommand('insertcode'), l.ui.addButton('insertcode', {label: l.lang.insertcode.toolbar,command:'insertcode', icon:this.path +'images/code.jpg'})를 추가합니다."a.dialog.add('insertcode', this.path + 'dialogs/insertcode.js');}}); ".
다음 "i.toolbar_Basic="을 찾습니다. 이것이 바로 CKEditor의 기본 도구막대입니다. 여기에 ",insertcode"를 추가하면 원하는 위치에 추가할 수 있습니다.예를 들어 나의'['Maximize','Show Blocks','-','insertcode']'이다.
5.'ckeditor/lang'에 들어가면 각각'en.js','zh.js','zh-cn.js'에서'insertcode:'insert Code','insertcode:'삽입 대 a',', insertcode:'코드 삽입'을 추가한다.
6, CKEditor에 대한 수정은 OK, 그리고 마지막 단계는 하이라이트 코드가 필요한 페이지에서 참조하는 것입니다.
<link type = "text/css" rel = "stylesheet" href ="js/syntaxhighlighter/styles/shCore.css" />
<link type = "text/css" rel = "stylesheet" href ="js/syntaxhighlighter/styles/shThemeDefault.css" />
<script type = "text/javascript" src = "js/syntaxhighlighter/scripts/shCore.js" > </script>
<script type = "text/javascript" src = "js/syntaxhighlighter/scripts/shBrushes.js" ></script>
이 네 개의 파일은 syntaxhighlighter의 다운로드 패키지에 있습니다. 마지막으로 페이지에 이 JS를 추가합니다.
<script type= "text/javascript" >
SyntaxHighlighter.config.clipboardSwf= 'js/syntaxhighlighter/scripts/clipboard.swf' ;
SyntaxHighlighter.all();
</script>
CKEditor의 코드 삽입 플러그인은 OK입니다.알림 버그
수정한 후 insertcode 아이콘의 제목이 비어 있습니다.나는 너의 코드 중의 "label: a.lang.insertcode.toolbar"(총 2곳) 를 "label: a.lang.insertcode"로 바꾸었다.해결!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Javascript, CKEditor] CKEditor 태그 사라짐CKEditor에서 소스를 넣고 저장 후 수정했을 때 태그가 사라지는 걸 볼 수 있다. 이럴 때 ckeditor폴더의 config.js에 아래와 같이 추가해주면된다. 버전에 따라 넣어주는 옵션이 다르기때문에 버전 확...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.