ソースコードに色をつけるSyntaxHighlighterの導入方法
いろんなブログをみていると、HTML、JavaScript、CSS、XMLやPHPのソースコードを、列番号が割り振られて、かつ部分にフォントカラーが設定されているのを見かけます。「ハイライト」って言うんですね。
WordPressプラグインSyntaxHighlighter Evolvedの使い方はこちら
WordPressでソースコードに色をつけるプラグインの使い方:SyntaxHighlighter Evolved
まさか人力で設定しているわけでもなさそうですし、どうやってるのか調べてみると、SyntaxHighlighterというJavaScriptとCSSで簡単に導入できるみたいなのでさっそく試してみました。
SyntaxHighlighterのライブラリをダウンロード
ダウンロードはこちらから。
配布元:syntaxhighlighter - Google Code
解凍したフォルダー構成。
- Uncompressed
- Styles
- Script
この3つのフォルダーをアップして、
導入したいサイトのheadに下記を書きます。
1 |
|
↑これは、普通のpreタグで挟んでます。
preタグに対してnameとclassを指定してあげます。
1 |
|
さっきのheadに書く記述に挟んだpreタグnameとclassを設定してあげると、もうお気付きかもしれませんが、classの部分を書き換えると、その種類のソースコードにハイライトが変わります。下記はそのリストで、左側がclassに入力する種類で、右側は使用する際にheadに書き足すJavaScript名です。
cpp => shBrushCpp.js
c => shBrushCpp.js
c++ => shBrushCpp.js
c# => shBrushCSharp.js
c-sharp => shBrushCSharp.js
csharp => shBrushCSharp.js
css => shBrushCss.js
delphi => shBrushDelphi.js
pascal => shBrushDelphi.js
java => shBrushJava.js
js => shBrushJScript.js
jscript => shBrushJScript.js
javascript => shBrushJScript.js
php => shBrushPhp.js
py => shBrushPython.js
python => shBrushPython.js
rb => shBrushRuby.js
ruby => shBrushRuby.js
rails => shBrushRuby.js
ror => shBrushRuby.js
sql => shBrushSql.js
vb => shBrushVb.js
vb.net => shBrushVb.js
xml => shBrushXml.js
html => shBrushXml.js
xhtml => shBrushXml.js
xslt => shBrushXml.js
view plain、copy to clipboard、print、?、のテキストを日本語にしてみる。
Scripts/shCore.js をテキストエディタで開いて、「label:‘」と検索してみると4箇所ヒットすると思います。それぞれを下記のように書き換えてみました。
label:'view plain' => label:'プレーン表示'
label:'copy to clipboard' => label:'クリップボードにコピー'
label:'print' => label:'プリント'
label:'?' => label:'コレは何?'
すると文字化けして表示されてしまいました。。orz これらSyntaxHighlighterのファイルコードは全てShift_JIS形式になっています。ブログやサイトに設定している文字コードに引っ張られるので、headタグに書いているshCore.js”のところに、
charset="Shift_JIS"
と書き足しました。
SyntaxHighlighterにActionScritpを対応させる方法
こちらのサイトから、ActionScriptをハイライトさせるJavaScriptをダウンロード
配布元:AS3 Syntax Highlighting (with SyntaxHighlighter)
解凍したフォルダー構成。
- Scripts
- Styles
StylesのなかにあるSyntaxHighlighter.cssに差し替えて、Scriptsの中にあるCompressedとUncompressedの中にある、shBrushAS3.jsをそれぞれのディレクトリにアップして、
1 |
|
これでActionScriptのハイライトが可能になります。