Ajax Syntax HighlighterはAjaxを使ってサーバサイドでプログラミングコードのハイライト表示を行うライブラリ。

Ajax Syntax HighlighterはPHP/JavaScript製のオープンソース・ソフトウェア。Webサイト上でプログラミングコードを表示したいと思うことは多々ある。そんな時にはただコードを載せるのではなく、構文に沿ってハイライト処理を行うと可読性が高まる。


CとJavaの例

プログラミングコードのハイライト処理を行う場合には、言語が決まっていればJavaScriptでも簡単に対応ができる。だが多数の言語に対応したいといった場合には無用なライブラリまで読み込むことになって表示が重たくなる可能性がある。そこで使ってみたいのがAjax Syntax Highlighterだ。

Ajax Syntax Highlighterはその名の通り、ハイライト処理にAjaxを使うライブラリだ。ハイライト処理については有名なGeshiを使っている。そのため多数のプログラミング言語のハイライト処理が可能だ。サーバサイドの処理についてはPHPを使っている。


それ以外の言語でも

実際の利用についてはcodeタグを使い、class名に“language-php”といった具合にプログラミング言語を指定する。これを使ってcodeタグ内部に書かれたコードをサーバサイドに渡し、表示を置き換えるようになっている。クリック一つで実際のコードの取得もできる、便利なライブラリだ。

[s2If current_user_can(access_s2member_level1)]


クリックしてコードのコピーも(プレミアム限定)

[/s2If]

MOONGIFTはこう見る

サーバサイドでハイライト処理を行うメリットは何だと思ったが、対応言語が多い時に無用なライブラリを読み込まずに済むというのが利点になりそうだ。またJavaScriptを使ってクライアントサイドでレンダリングを行うよりも高速で、ブラウザによる互換性も気にせずに済むだろう。

Ajaxを使うため、実際に表示されてからハイライト処理されるまでに若干の時差があるのが欠点かもしれない。とはいえ何でもJavaScriptで行うのではなく、ケースによってはこのように対応する方がスマートになるのではないだろうか。

Ajax Syntax Highlighter test page(デモ)

ajax-syntax-highlighter - Project Hosting on Google Code