いろんなブログをみていると、HTML、JavaScript、CSS、XMLやPHPのソースコードを、列番号が割り振られて、かつ部分にフォントカラーが設定されているのを見かけます。「ハイライト」って言うんですね。
▼WordPressプラグインSyntaxHighlighter Evolvedの使い方はこちら
WordPressでソースコードに色をつけるプラグインの使い方:SyntaxHighlighter Evolved
まさか人力で設定しているわけでもなさそうですし、どうやってるのか調べてみると、SyntaxHighlighterというJavaScriptとCSSで簡単に導入できるみたいなのでさっそく試してみました。
SyntaxHighlighterのライブラリをダウンロード
▼ダウンロードはこちらから。
配布元:syntaxhighlighter – Google Code
▼解凍したフォルダー構成。
・Uncompressed
・Styles
・Script
この3つのフォルダーをアップして、
導入したいサイトのheadに下記を書きます。
<link type="text/css" rel="stylesheet" href="http://testblog.com/Styles/SyntaxHighlighter.css" />
<script type="text/javascript" src="http://blog.caraldo.net/Script/shCore.js"></script>
<!-- 表示したい言語に応じて書きます -->
<script type="text/javascript" src="http://blog.caraldo.net/Script/shBrushJScript.js"></script>
<script type="text/javascript" src="http://blog.caraldo.net/Script/shBrushCss.js"></script>
<script type="text/javascript" src="http://blog.caraldo.net/Script/shBrushPhp.js"></script>
<script type="text/javascript" src="http://blog.caraldo.net/Script/shBrushXml.js"></script>
<!-- window.onloadの時に実行される、表示させる為の関数 -->
<script type="text/javascript">
window.onload = function () {
dp.SyntaxHighlighter.ClipboardSwf = 'js/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
}
</script>
↑これは、普通のpreタグで挟んでます。
preタグに対してnameとclassを指定してあげます。
<pre name="code" class="html:collapse"> ここにソースコード </pre>
さっきの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”のところに、
<script type="text/javascript" src="http://blog.caraldo.net/Script/shCore.js" charset="Shift_JIS"></script>
「charset=”Shift_JIS”」と書き足しました。
SyntaxHighlighterにActionScritpを対応させる方法
▼こちらのサイトから、ActionScriptをハイライトさせるJavaScriptをダウンロード
配布元:AS3 Syntax Highlighting (with SyntaxHighlighter)
▼解凍したフォルダー構成。
・Scripts
・Styles
StylesのなかにあるSyntaxHighlighter.cssに差し替えて、Scriptsの中にあるCompressedとUncompressedの中にある、shBrushAS3.jsをそれぞれのディレクトリにアップして、
<pre name="code" class="as:collapse"> ここにソースコード </pre>
これでActionScriptのハイライトが可能になります。
