[2009-05-24-1] の続きです。

リリース元の解説 にも書いてありますが、Lisp 系のソースは拡張サポート
のようで、自動判別してくれません。変な色になってしまいます。
lang-lisp.js も別途読み込ませる必要があるようです。

以下、Emacs Lisp を例に説明します。他の Lisp 系言語で色付けする参考
にもなるかと思います。lang-lisp.js もご覧下さい。

[2009-05-24-1] とは、cl.conf と chalow の修正が変わります。4 と 5
の手順を以下に置き換えてください。あと、[src]〜[/src] の代わり
[src_el]〜[/src_el] を使って下さい。

4’. cl.conf を修正します。全ての の直前に、以下を挿入すれば
よいでしょう。

<script type="text/javascript" src="http://masutaka.net/prettify/prettify.js"></script>
<script type="text/javascript" src="http://masutaka.net/prettify/lang-lisp.js"></script>
<script>prettyPrint();</script>

※ 私は $side_menu を全てのページで表示するようにしているので、その
先頭に 1 つだけ追加しています。

5’. chalow を修正します。以下はオリジナル(chalow-1.0.tar.gz)の
chalow へのパッチです。

--- orig/chalow-1.0/chalow	2007-10-19 23:15:01.000000000 +0900
+++ chalow-1.0/chalow	2009-05-23 23:39:10.000000000 +0900
@@ -1275,6 +1275,8 @@
 my %escaped_src;
 my $num_of_escaped_plugin;
 my %escaped_plugin;
+my $num_of_escaped_src_el;
+my %escaped_src_el;

 sub escape_string {
     my ($strp) = @_;
@@ -1304,16 +1306,27 @@
     $$strp =~ s!{{(.*?)}}!
 	$escaped_plugin{++$num_of_escaped_plugin} = $1,
 	sprintf("\x7\x13%d\x3", $num_of_escaped_plugin)!gsmxe;
+
+    ### Emacs Lisp ソースエスケープ - "&" や "<" などを置換し pre を付ける
+    $num_of_escaped_src_el = 0;
+    $$strp =~ s!\[src_el\](.*?)\[/src_el\]!
+	$escaped_src_el{++$num_of_escaped_src_el} = $1,
+	$escaped_src_el{$num_of_escaped_src_el} =~ s/&/&amp;/g,
+	$escaped_src_el{$num_of_escaped_src_el} =~ s/</&lt;/g,
+	$escaped_src_el{$num_of_escaped_src_el} =~ s/>/&gt;/g,
+	sprintf("\x8\x13%d\x3", $num_of_escaped_src_el)!gsmxe;
 }

 sub unescape_string {
     my ($strp) = @_;

+    ### Emacs Lisp ソースアンエスケープ - pre 追加
+    $$strp =~ s|\x8\x13(\d+)\x3|</p><pre class="prettyprint lang-el">$escaped_src_el{$1}</pre><p>|g;
     ### プラグインアンエスケープ - 実行!
     $$strp =~ s|\x7\x13(\d+)\x3|eval($escaped_plugin{$1})|ge;
     ### ソースアンエスケープ - pre 追加
     #$$strp =~ s|\x6\x13(\d+)\x3|<pre>$escaped_src{$1}</pre>|g;
-    $$strp =~ s|\x6\x13(\d+)\x3|</p><pre>$escaped_src{$1}</pre><p>|g;
+    $$strp =~ s|\x6\x13(\d+)\x3|</p><pre class="prettyprint">$escaped_src{$1}</pre><p>|g;
     ### HTML アンエスケープ
     $$strp =~ s|\x5\x13(\d+)\x3|$escaped_string{$1}|g;
 }

[src_el]〜[/src_el] は使いたくなかったのですが、<pre class="prettyprint">
ではダメで <pre class="prettyprint lang-el"> ならうまくいったという
状況だったので、泣く泣く使うことにしました。

ま、google-code-prettify が対応することがあったら、上の修正を元に戻
せばいいだけですからね。

追記(2011-06-06):
最新版の 1-Jun-2011 は lisp の色づけが出来なくなっていました。
21-Jul-2010 版なら OK です。詳細未調査。