2006/06/22
Source Code Highlight
以前にも何度かBloggerでのエントリーにプログラムのコードを貼り付けたことがありますが、横幅を指定されたデザインだと長いコードは、はみだしてしまいとても見づらくなります。
ところがこちらを見ていたらとても綺麗に整形されたコードが貼り付けられているではありませんか。
早速調べて身ところ"SyntaxHighlighter"なるソースコード整形スクリプトが存在するようです。
"SyntaxHighlighter"の主な特徴と機能
・JavaScriptとCSSで実装されている
・フリーで配布されている(有難や)
・サンプルHTMLが同梱されている(親切!)
・奇数行と偶数行で背景色を交互に色分け
・各言語のキーワードを色分け
対応言語
・C#
・VB & VB.NET
・Delphi, Pascal
・JavaScript
・PHP
・Python
・SQL
・XML, HTML, XSLT and any other XML style code
・行番号を表示/非表示
(1行目の開始行数を指定可能)
・plain textでの表示、印刷用表示、クリップボードへのコピー機能を付加可能
・初期表示時に折りたたむことも可能
("+ expand code"をクリックすると伸張)
・表示幅を指定可能
(はみ出した場合、スクロールバーを表示)
・クロスブラウザ(配布サイトでは以下に対応とのこと)
・Internet Explorer 6 on Windows XP SP2
・Firefox 1.0
・Safari 2.0
・Opera 8.5
(IE6とFirefox1.5.04では動作確認。ただし私の環境ではFirefoxではprintが機能しませんでした。)
最初に紹介したAJAX Magazineさんには表示されていませんでしたが、私の落としてきたバージョン(1.3.0)では"print"の横に"?"が表示されます。これをクリックするとポップアップでSyntaxHighlighterのバージョンと配布ページへのリンクを表示してくれます。
鬱陶しがる人もいそうですが、個人的にはこういう機能便利だと思います。最初にAJAX Magazineさんを見た後、SyntaxHighlighterと似たようなものを自力で作ろうとしてしまいましたから。ちょっと待てよ?と思ってページのソースを拝見して"dp.SyntaxHighlighte"でググったら案の定見つかった次第です。
参考
SyntaxHighlighter
[http://www.dreamprojections.com/SyntaxHighlighter/Examples.aspx]
AJAX Magazine: Howto integrate Google Calendar in your website using AJAX
[http://ajax.phpmagazine.net/2006/04/howto_integrate_google_calenda.html]
avascriptだけで各種プログラム言語コードを色分け表示する方法:phpspot開発日誌
[http://phpspot.org/blog/archives/2006/01/javascript_2.html]