検索
ホームページCMS チュートリアルDEDECMSDedeCms 5.7 でコードの強調表示を実装する方法

DedeCms 5.7 でコードの強調表示を実装する方法

DedeCms 5.7 でコードの強調表示を実装するにはどうすればよいですか?

ブログ Web サイトを構築する場合でも、CMS タイプの Web サイトを構築する場合でも、その多くはコードの強調表示が必要です。Dreamweaver CMS は、中国で最も優れた CMS Web サイト構築システムの 1 つです。 WordPress などのプラグインが利用可能です。私は最新の dedeCMS 5.7 を使用しています。長い間インターネットで情報を探してきました。ほとんどの情報は CKEditor と SyntaxHighlighter の統合に関する記事を書いています。ただし、dedecms には ckeditor が統合されています、通常は config.js の ckeditor のみを対象とします。変更内容は異なります。

推奨学習: 梦Weavercms

なので、自分で考えて修正するしかないので、ウェブマスターの友人の参考のために方法を書き留めておきます:

1. まず、SyntaxHighlighter の公式 Web サイトにアクセスしてダウンロードします (URL: http://alexgorbatchev.com/SyntaxHighlighter/download/)。バージョン 2.1 をダウンロードすることをお勧めします。バージョン 3.0 は自動行折り返しをサポートしていないようです。ここではバージョン 2.1.382 を使用します。ダウンロードしたファイルを syntaxHighlight フォルダーに解凍し、不要なファイルを削除し、script フォルダーと style フォルダーだけを残します。

2. 新しいダイアログ フォルダーを作成し、その中に syntaxhighlight.js という名前のファイルを作成します。コードが大きすぎるため、投稿するのは適切ではありません。syntaxhighlight.js を直接ダウンロードしてください

変更したい場合 コード部分のスタイルは、以下のコードの

タグ内のスタイルを変更してください。

コードは次のとおりです:

onOk : function() { 
var i = this.getParentEditor(); 
var h = i.getSelection(); 
var g = h.getStartElement(); 
var l = g && g.getAscendant("pre", true); 
var j = f(); 
this.commitContent(j); 
var k = e(j); 
var m = CKEDITOR.dom.element 
.createFromHtml(&#39;<table style="border:1px solid #EAED9C;width:660px;"><tr><td><pre class="&#39; + k + &#39;">&#39; 
+ c(j.code) +"
");  if (l) {  m.insertBefore(l);  l.remove()  } else {  i.insertElement(m)  }  },

3. 次に、syntaxhighlight.gif 画像ファイルを保存する新しい画像フォルダーを作成します。画像ファイルはエディターのツールバーに表示されます。16 を使用できます。 *16 ピクセル. 画像

4. 言語パックである新しい lang フォルダーを作成します. その中には 2 つのファイルがあります, 1 つは中国語の cn.js で、もう 1 つは英語の en.js です. コードの内容

en.js コードは次のとおりです:

コードは次のとおりです:

CKEDITOR.plugins.setLang(&#39;syntaxhighlight&#39;, &#39;en&#39;, 
{ 
syntaxhighlight: 
{ 
title: &#39;Add or update a code snippet&#39;, 
sourceTab: &#39;Source code&#39;, 
langLbl: &#39;Select language&#39;, 
advancedTab: &#39;Advanced&#39;, 
hideGutter: &#39;Hide gutter&#39;, 
hideGutterLbl: &#39;Hide gutter & line numbers.&#39;, 
hideControls: &#39;Hide controls&#39;, 
hideControlsLbl: &#39;Hide code controls at the top of the code block.&#39;, 
collapse: &#39;Collapse&#39;, 
collapseLbl: &#39;Collapse the code block by default. (controls need to be turned on)&#39;, 
showColumns: &#39;Show columns&#39;, 
showColumnsLbl: &#39;Show row columns in the first line.&#39;, 
lineWrap: &#39;Disable line wrapping&#39;, 
lineWrapLbl: &#39;Switch off line wrapping.&#39;, 
lineCount: &#39;Default line count&#39;, 
highlight: &#39;Highlight lines&#39;, 
highlightLbl: &#39;Enter a comma seperated lines of lines you want to highlight, eg <em>3,10,15</em>.&#39; 
} 
});

cn.js コードは次のとおりです:

コードは次のとおりです:

CKEDITOR.plugins.setLang(&#39;syntaxhighlight&#39;, &#39;cn&#39;, 
{ 
syntaxhighlight: 
{ 
title: &#39;添加或更新代码&#39;, 
sourceTab: &#39;代码&#39;, 
langLbl: &#39;选择语言&#39;, 
advancedTab: &#39;高级&#39;, 
hideGutter: &#39;隐藏分割线&#39;, 
hideGutterLbl: &#39;隐藏分割线和行号&#39;, 
hideControls: &#39;隐藏工具栏&#39;, 
hideControlsLbl: &#39;隐藏浮动工具栏&#39;, 
collapse: &#39;代码折叠&#39;, 
collapseLbl: &#39;默认折叠代码块 (需要启用工具栏)&#39;, 
lineWrap: &#39;自动换行&#39;, 
lineWrapLbl: &#39;关闭自动换行&#39;, 
autoLinks: &#39;自动链接&#39;, 
autoLinksLbl: &#39;不自动转换超链接&#39;, 
lineCount: &#39;起始行号&#39;, 
highlight: &#39;高亮行号&#39;, 
highlightLbl: &#39;输入以逗号分隔的行号, 如 <em>3,10,15</em>.&#39; 
} 
});

5. 新しい plugin.js ファイルを作成します。このファイルは ckeditor プラグインに必要なファイルであり、プラグインの構成がいくつか含まれています。

コードは次のとおりです:

CKEDITOR.plugins.add("syntaxhighlight", { 
requires : [ "dialog" ], 
lang : [ "cn" ], 
init : function(a) { 
var b = "syntaxhighlight"; 
var c = a.addCommand(b, new CKEDITOR.dialogCommand(b)); 
c.modes = { 
wysiwyg : 1, 
source : 1 
}; 
c.canUndo = false; 
a.ui.addButton("Code", { 
label : a.lang.syntaxhighlight.title, 
command : b, 
icon : this.path + "images/syntaxhighlight.gif" 
}); 
CKEDITOR.dialog.add(b, this.path + "dialogs/syntaxhighlight.js") 
} 
});

6. dedecms 5.7 には dedepage プラグインが統合されているため、それが使用されます ckeditor カスタム プラグインを追加します。 /ckeditor/dedepage フォルダーで、plugin.js ファイルを開き、最後に次を追加します:

requires: ['syntaxhighlight']、syntaxhighlight はコード ハイライト プラグインのファイルです。フォルダー名、コード追加後の内容は次のとおりです。

[code] 
// Register a plugin named "dedepage". 
(function() 
{ 
CKEDITOR.plugins.add( &#39;dedepage&#39;, 
{ 
init : function( editor ) 
{ 
// Register the command. 
editor.addCommand( &#39;dedepage&#39;,{ 
exec : function( editor ) 
{ 
// Create the element that represents a print break. 
// alert(&#39;dedepageCmd!&#39;); 
editor.insertHtml("
"); 
} 
}); 
// alert(&#39;dedepage!&#39;); 
// Register the toolbar button. 
editor.ui.addButton( &#39;MyPage&#39;, 
{ 
label : &#39;插入分页符&#39;, 
command : &#39;dedepage&#39;, 
icon: &#39;images/dedepage.gif&#39; 
}); 
// alert(editor.name); 
}, 
requires : [ &#39;fakeobjects&#39; ], 
requires : [&#39;syntaxhighlight&#39;] 
}); 
})(); 
[/code]

7. /include/ckeditor/ckeditor.inc.php ファイルを変更し、変更後に $toolbar['Basic'] 配列の最後の行に要素 Code を追加します。コードは次のとおりです:

コードは次のとおりです:

$toolbar[&#39;Basic&#39;] = array( 
array( &#39;Source&#39;,&#39;-&#39;,&#39;Templates&#39;), 
array( &#39;Cut&#39;,&#39;Copy&#39;,&#39;Paste&#39;,&#39;PasteText&#39;,&#39;PasteFromWord&#39;,&#39;-&#39;,&#39;Print&#39;), 
array( &#39;Undo&#39;,&#39;Redo&#39;,&#39;-&#39;,&#39;Find&#39;,&#39;Replace&#39;,&#39;-&#39;,&#39;SelectAll&#39;,&#39;RemoveFormat&#39;), 
array( &#39;ShowBlocks&#39;),array(&#39;Image&#39;,&#39;Flash&#39;),array(&#39;Maximize&#39;),&#39;/&#39;, 
array( &#39;Bold&#39;,&#39;Italic&#39;,&#39;Underline&#39;,&#39;Strike&#39;,&#39;-&#39;), 
array( &#39;NumberedList&#39;,&#39;BulletedList&#39;,&#39;-&#39;,&#39;Outdent&#39;,&#39;Indent&#39;,&#39;Blockquote&#39;), 
array( &#39;JustifyLeft&#39;,&#39;JustifyCenter&#39;,&#39;JustifyRight&#39;,&#39;JustifyBlock&#39;), 
array( &#39;Table&#39;,&#39;HorizontalRule&#39;,&#39;Smiley&#39;,&#39;SpecialChar&#39;), 
array( &#39;Link&#39;,&#39;Unlink&#39;,&#39;Anchor&#39;),&#39;/&#39;, 
array( &#39;Styles&#39;,&#39;Format&#39;,&#39;Font&#39;,&#39;FontSize&#39;), 
array( &#39;TextColor&#39;, &#39;BGColor&#39;, &#39;MyPage&#39;,&#39;Code&#39;) 
);

この時点で、エディタの変更は完了しました。変更後の syntaxhighlight フォルダー ファイルのディレクトリ構造は次のとおりです:

DedeCms 5.7 でコードの強調表示を実装する方法

syntaxhighlight フォルダーを /include/ckeditor/plugins/ フォルダーにアップロードし、バックエンドを開き、試す記事を追加して、図に示すボタンが画面上に表示されるかどうかを確認します。エディターの最後の行:

DedeCms 5.7 でコードの強調表示を実装する方法

ボタンをクリックすると、以下に示すダイアログ ボックスが表示され、コードを入力できます。詳細オプションに切り替えて、コードの強調表示を設定できます。 :

DedeCms 5.7 でコードの強調表示を実装する方法

8. ただし、これだけでは不十分です。強調表示されたブラシ JS ファイルと CSS ファイルを記事テンプレート ファイル /templets/default/article_article.htm に導入する必要もあります。ファイルには大量の JS を導入する必要があるため、インポートされたコードを

以上がDedeCms 5.7 でコードの強調表示を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境