SyntaxHighlighter の記述方法と注意点のまとめ

設置方法じゃなくて記述方法のまとめ。いちいち覚えてらんないのは歳をとったからなのかなぁ...

基本形

<pre>、もしくは<textarea>で。

<pre>の場合

<pre name="code" class="html">
... some code here ...
</pre>

<textarea>の場合

<textarea name="code" class="html">
... some code here ...
</textarea>

ハイライトする言語の指定

どの言語でハイライトするかをclass="html"などと指定する。 オフィシャルドキュメントはこちら http://code.google.com/p/syntaxhighlighter/wiki/Languages

表示方法変更

classにコロン(:)区切りで指定すれば、表示内容を変更できます。

nogutter

左側の行番号が非表示になります。
<pre name="code" class="html:nogutter">
... some code here ...
</pre>

nocontrols

上部コントローラ(「view plain」「copy to clipboard」「print」「?」)が消えます。スッキリ見えるのでオススメかも!
<pre name="code" class="html:nocontrols">
... some code here ...
</pre>

collapse

デフォルトで閉じた状態で表示します。上部コントローラに追加された「+ expand source」で開きます。長いコードを垂れ流す時に使えるけど、パッと見でわかりづらいかも。
<pre name="code" class="html:collapse">
... some code here ...
</pre>

※nocontrolsとcollapseを同時に使うと何も表示されないので注意

firstline[value]

行番号の開始位置がvalueで指定した値に変わります。長いコードを抜粋するときに使うかな。
<pre name="code" class="html:firstline[10]">
... some code here ...
</pre>

showcolumns

列番号を表示します。使い道は...?
<pre name="code" class="html:showcolumns">
... some code here ...
</pre>

表示方法変更に関するオフィシャルドキュメントはこちら
http://code.google.com/p/syntaxhighlighter/wiki/Configuration

注意点

実体参照に変換セヨ

<pre>、もしくは<textarea>内のコードは全て実体参照に変換すること。変換サイトはたくさんあるのでググる

MovableTypeだったらコード内に空行を入れない

エントリのフォーマットに「改行を変換」が指定されていた場合、<pre>、もしくは<textarea>内に空行があった場合、意図しない<br />が入ったりしてキモい。

MovableTypeだったら開始タグと終了タグの前後に空行を1つ入れる

エントリのフォーマットに「改行を変換」が指定されていた場合、<pre>、もしくは<textarea>の前後に2つ以上の空行があった場合、意図しない<br />が入ったりしてキモい。前後に1つずつの空行を入れるとキレイに変換してくれるようだ。

トラックバック(0)

このブログ記事を参照しているブログ一覧:

このサイトについて