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]