SyntaxHighlighterに新しい言語を追加するための方法
1. このブログから目的の言語を検索します。 http://www.undermyhat.org/blog/2009/09/list-of-brushes-syntaxhighligher/ ;.
2. 対応するshBrushXXX.jsスクリプトをダウンロードします。例えば、私はshBrushLua.jsをダウンロードしましたが、これは次のようなスクリプトです。
SyntaxHighlighter.brushes.Lua = function()
{
var keywords = 'break do end else elseif function if local nil not or repeat return and then until while this';
var funcs = 'math\\. \\w+ string\\\. \\\w+ os\\. \\w+ debug\\\. \\w+ io\\\. \\\w+ error fopen dofile coroutine\\\. \\\w+ arg getmetatable ipairs loadfile loadlib loadstring longjmp print rawget rawset seek setmetatable assert tonumber tostring';
this.regexList = [
{ regex: new RegExp('--\\[\\[[\\s\\\S]*\\\]\\\]--', 'gm'), css: 'comments' },
{ regex: new RegExp('--[^\\[]{2}. *$', 'gm'), css: 'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keyword
{ regex: new RegExp(this.getKeywords(funcs), 'gm'), css: 'func' }, // functions
];
}
SyntaxHighlighter.brushes.Lua.prototype = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Lua.aliases = ['lua'];
3. FTPツールを使ってWordPressスペースにログインし、wp-content/pluginsディレクトリに移動し、syntaxhighlighter-luaのような意味のある名前で新しいディレクトリを作成します。
4. 新しく作成したディレクトリに、shBrushLua.jsをアップロードします。
5. そのディレクトリに別途shBrushLua.phpファイルを作成し、以下を追加します。
<?php
/*
Plugin Name: SyntaxHighlighter Evolved: Lua
Description: Adds support for the Lua language to the SyntaxHighlighter Evolved plugin.
Author: Benny
Version: 1.0.0
*/
// SyntaxHighlighter Evolved doesn't do anything until early in the "init" hook, so best to wait until after that
add_action( 'init', 'syntaxhighlighter_lua_regscript' );
// Tell SyntaxHighlighter Evolved about this new language/brush
add_filter( 'syntaxhighlighter_brushes', 'syntaxhighlighter_lua_addlang' );
// Register the brush file with WordPress
function syntaxhighlighter_lua_regscript() {
wp_register_script( 'syntaxhighlighter-brush-lua', plugins_url( 'shBrushLua.js', __FILE__ ), array('syntaxhighlighter-core'), '1.1.1' );
}
// Filter SyntaxHighlighter Evolved's language array
function syntaxhighlighter_lua_addlang( $brushes ) {
$brushes['lua'] = 'lua';
return $brushes;
}
? >
6. ファイルの準備ができたら、WordPressのバックエンドの「プラグイン」で、新たにsyntaxhighlighter-luaという項目が追加されているので、それを有効化します。
これで動くはずです!
実は、新しく追加したjsファイルやphpファイルは、SyntaxHighlighterプラグイン専用のディレクトリに置くこともできますが、プラグインとして独立させておくと、SyntaxHighlighterがバージョンアップしたときに、個人の設定が上書きされて失われることがない、というメリットがあるんですね。
関連
-
UEditorエディターの使用を前提とした開発 細かい配慮がなされている
-
UEditorのデフォルトフォントとフォントサイズを変更する方法
-
よく使われるHTMLリッチテキストコンパイラーの紹介 UEdit, CKEditor, TinyMCE, HTMLArea, eWebEditor, KindEditor
-
Google ChromeをeWebEditorに対応させる方法
-
IE10、IE11でのFCKEditorの非互換性の問題を解決しました。
-
FCKeditorエディタに画像アップロード機能を追加、画像パスの問題を解決
-
jsp版ueditor1.2.5について 一部問題解決(画像のアップロード失敗)
-
Baiduのエディタueditorコンテンツエディタが自動的にPタグ、およびPタグの置換を設定する
-
ZeroClipboardを使用したクロスブラウザでのクリップボードへのコピー問題の解決法
-
Baiduのエディタueditorのフォアグラウンドコードハイライトは、自動的に解決策をラインアップすることはできません
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
BaiduのエディタUeditorは、フォントの変更方法を増やすには
-
SyntaxHighlighterのコードハイライトで改行がない場合の対処法
-
ueditor1.2.1 ハイパーリンクのデフォルトを変更する、ueditor editor open link in new window
-
ckeditorプラグインの簡単な開発例
-
最新版CKEditorの設定方法とプラグイン(Plugin)の書き方例
-
プラグイン開発方式のCKEDITOR二次開発
-
BaiduのUEditorは、統計ワードカウントの右下隅を変更するには、HTMLスタイルが含まれています
-
FckeditorエディタによるPHP環境での画像アップロード設定 詳細チュートリアル
-
ブラウザfckeditorは、画像をアップロードすることはできません後IE9は、ポップアップフローティングコンテンツは、解決策を表示しません
-
jsはリッチテキスト(正規表現)で最初の画像を取得します。