2008年 8月 19日(火曜日) 22:21

Webページにソースコードを色付けして掲載するには

評価:
(0 票)

Webページやblogなどでソースコードを掲載したいとき、<pre>や<code>タグなどを使いますが、そのままでは少し見にくいですね。やはりVIMやサクラエディタなどのように、キーワードなどを色付けして表示したくなります。それを簡単に実現してくれるのが、"SyntaxHighlighter"です。

SyntaxHighlighterはJavaScriptで書かれていて、GPLで配布されています。使い方は簡単で、コードの部分を囲んだ<pre>タグにclassを指定し、コードを含むページの最後に実行用の<script>タグを挿入するだけです。

まず、SyntaxHighlighterをダウンロードして、Webサーバ上の適当なところに配置します。

次に、SyntaxHighlighterを使いたいページの</body>タグの直前あたりに、次の<script>タグを挿入します。

<link type="text/css" rel="stylesheet" href="/[cssファイルへのパス]/SyntaxHighlighter.css"></link>
<script language="javascript" src="/[jsファイルへのパス]/shCore.js"></script>
<script language="javascript" src="/[jsファイルへのパス]/shBrushCpp.js"></script>
<script language="javascript" src="/[jsファイルへのパス]/shBrushCss.js"></script>
<script language="javascript" src="/[jsファイルへのパス]/shBrushXml.js"></script>
<script language="javascript" src="/[jsファイルへのパス]/shBrushPhp.js"></script>
...
(必要なjsファイルを全て読み込みます。)
<script language="javascript">
dp.SyntaxHighlighter.ClipboardSwf = '[swfファイルへのパス]/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');

最後に、Webページの中で色付けをしたいコードを次のタグで囲みます。classには、言語エイリアスにしたがって、コードの言語を指定します。また、言語の後に:(コロン)でオプションをつけることで、行番号やコードの上部に表示されるコントロールをの表示/非表示を切り替えたり、(nocontrolls, nogutter)行番号のはじめの値を設定したり(firstline)できます。

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

他にも同じ働きをするものには"google-code-prettify"等もありますが、私は行番号も表示してくれて色使いがきれいなSyntaxHighlighterが気に入りました。お好みで選ぶと良いと思います。

【参考】
http://blog.37to.net/2007/06/syntax_highlighter/
最終更新日: 2011年 6月 27日(月曜日) 01:40
くらち たかよし

くらち たかよし

モバイル・Webアプリ作家。最近は主にiPhoneアプリ制作を手がける。企画から、UIデザイン、設計、実装、テスト、多言語対応、ユーザーサポートまでを1人〜数人の個人で行う全人的開発手法の確立を目指している。

使う言語はObjective-C, C++, C#, Java, PHPなど。Web関連で使うものはCakePHP, MySQL, Joomla! CMSなど。デザインはシロウトながらPhotoshopとIllustratorをなんとかがんばって使う。

場所や時間に縛られない、インターネット時代の新しい働き方、自由な生き方を模索中。海外移住、低予算&低リスク起業、キャリアデザイン、心理学などにも興味あり。

Web: awaresoft.jp/