google-code-prettifyの挙動

google-code-prettify は、phpJavaScriptなどいろいろな言語のソースコードをhtmlに貼り付けてブラウザから見た時に、いい感じにソースコードを色分けしてくれる素敵なライブラリです。
[画像] 色分けされたソース
こんな感じに自動で色付けてくれてありがたいんですが、ちょっと妙な挙動をしたのでメモ。

そもそも、このライブラリは

  • 本体を構成するcssJavaScriptを読み込む
  • onloadで prettyprint(); を呼び出す
  • pre もしくは code要素を <pre class="prettyprint"> みたいに書く

という使い方をするのですが、

<pre><code class="prettyprint"><?php
require 'hogehoge.php';
require 'fugafuga.php';</code></pre>

みたいなコードを書いた時にIEで改行が全て削除されるという現象に出くわしました。原因はよく分かりませんが、クラス指定をcodeじゃなくpreに移したらちゃんと表示されました。ただ、これも必ず発生するわけではなく、上記のコードでもちゃんと出るのが普通のようです。ちょっと調べる余力はないので、こういった場面では「preにクラス指定しておいた方が無難」というところで。Firefoxだとちゃんと見えてるのがなおのこと厄介ですね。普段Firefoxを使っていると発見できないのはちょっと心配です。


それと、ちょうど今、GoogleCodeで

This site will be read-only on Friday, April 27th, 2007 from 11am to 1pm PDT

ってなメッセージが表示されてます。昼間にメンテかよ、とか一瞬思ったけど、ここは日本であっちはアメリカなのよね。国内サービスだと、一時的にサービス止めてバックアップとかできるけど、世界で展開してると止められないってことかな。Googleの事情とはきっと全然違うんだけど、これ見てちょっと思いついたのでついでにメモ。

管理画面へのログインを止めるとかで、一時的にDBの更新ができないようにしておけば、テーブルロックかけなくてもMyISAMなテーブルもmysqldupでバックアップの整合性が保証されるんじゃね? 本格的なバックアップ体制を取っていない、お気楽サービスとかには使えるかも。サイトを完全に止めるよりは賢明な気がする。っていうか、これも今更な当たり前のことですか?