1. ホーム
  2. Web プログラミング
  3. ウェブ編集者

FCKeditor + SyntaxHighlighterでコードハイライトプラグインを作る

2022-01-17 05:33:39
FCKeditorは現在最も人気のあるオープンソースエディタで、SyntaxHighlighterはコードハイライトプラグインのJS実装では、効果を得るためにあなたのプログラムの変更を最小限に抑えることができ、最終的な効果のスクリーンショットです。
最終的な結果です。

デモのページです。
FCKeditor + SyntaxHighlighterのプラグインパッケージは、以下からダウンロードできます。 fck_SyntaxHighlighter BinaryDevelop パッケージ版
FCKeditor環境でのSyntaxHighlighterの使い方をステップバイステップで説明します。
バックエンドのFCKeditorエディターの修正

1. パッケージを解凍し インサートコード フォルダをFCKeditorエディタのeditorpluginsディレクトリに移動し、FCKeditorエディタのfckconfig.jsファイルを修正します。このファイル FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ; 以下 以下のコードを追加してください。
FCKConfig.Plugins.Add('insertcode')。

 2. FCKeditor エディタの editorlang フォルダにある zh-cn.js を開き、DlgDivInlineStyle : "CSS style", (以下同様) に新しい行を追加してください。 この文の後にはカンマ「,」を付けなければならないので注意) 以下に以下のコードを追加します。
/
InsertCodeBtn : "コード挿入" です。

 3. FCKeditorエディタのfckconfig.jsファイルを修正し、エディタのコントロールパネルにボタンを追加し、ツールバーのパラメータを呼び出すMediaの後にinsertcodeを追加します(句読点を正しく追加しないとエラーが報告されることに注意してください)。以下のようになります。
FCKConfig.**Sets[ "標準"] = [ ]です。
['ソース','ペースト','ペーストテキスト','ペーストワード','-','元に戻す','やり直し','-','太字','斜体','下線','ストライクスルー','テキストカラー'。 'Table','- ','JustifyLeft','JustifyCenter','JustifyRight','OrderedList','UnorderedList','-','Image','Attach','Flash','Media', 'InsertCode'(インサートコード 上記の操作を完了した後、FCKeditorエディタを起動すると、エディタ上にアイコンが表示されるはずですので、このアイコンをクリックしてコードを追加します。もしエラーが発生し、ツールアイテムが見つからない場合、それはFCKeditorのキャッシュがクリアされていないためで、バックグラウンドを終了するか、キャッシュを更新し、リフレッシュして再入力すると、コード挿入アイコンが表示されます。
/
フロントエンドの表示ページのSyntaxHighlighterコール

1. パッケージを解凍し 構文 フォルダをフロントエンドのルートにある js フォルダにコピーします。

2. ハイライトが必要な HTML ページに SyntaxHighlighter 制御コードを追加し、以下のコードを間に挿入します。

{ヘッダー と をクリックすると、HTMLページが表示されます。

<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>

2. フロントページのCSSファイルに、以下のスタイルコントロールCSSコードを追加する(この段落は、美観を良くするために、省略することもできる)。

.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>

このように変更したら、読み込み時のジャムを感じなくなりました。