投稿者: Mako
WordPress 2.1 に移行
このサイトの WordPressを 2.0.7 から 2.1 に移行した。意外に問題は少ない。2週間ほど出遅れている分だけ情報があるのがありがたい。
日本語化
WordPress 2.1用日本語リソースをもらってくる。wp-content/languages/ 以下に置いたほうがいいそうなので、ja_UTF.mo, ja_UTF.po と名前を変えて置く。メイルの文字化け
コメントが付いたときの通知メイルのタイトル部分が化ける。これに関して、メールタイトル文字化けに2007.1.24追記として情報があった。 wp-includes/pluggable.phpの中の wp_mail()を変更するのだが、pluggable.php冒頭に/* These functions can be replaced via plugins. They are loaded after plugins are loaded. */と書かれており、確かに各々の関数は if ( !function_exists …): endif; で囲まれている。 というわけで、local.phpという自分用のプラグイン・ファイルを wp-content/plugins/ に作って、
function wp_mail($to, $subject, $message, $headers = '') { return @mb_send_mail($to, $subject, $message); }と書くことにした。ここに書いておけば、バージョンアップでwp-includes/ 以下が更新されても修正し忘れずにすむ。
その他の日本語関係
WordPress 2.1 抜粋表示方法 the_excerpt()という情報もあるのだが、特に手を入れなくても文字化けせずにRSSリーダで読めているし、自分のところの記事にトラックバックしてみたがこちらも問題なさそうだった。ここではいまのところ何も手を入れていない。これらは自分以外のところでしか問題がでないので、何とも確認しにくい。プラグイン
根幹に関わるプラグインはいまのところ問題なさそうだ。細かいものでは、Link Relがちょっとおかしな挙動になってしまったようだ。しかしあまり重要ではないので当面ははずしておこう。そのうちゆっくり見直すことにする。 もうひとつ挙動がおかしいのはTam-attachmentだが、「WordPress 2.1 への対応は現在調査中ですのでしばらくお待ちください」ということなので、しばらく待つことにする。検索窓
WordPress を使っているサイトを見てまわると、サイドバーに記事の検索を行なうための窓があることがしばしばある。単語を入力する窓はあっても submit のボタンがないこともあり、ああそれでもいいんだっけなどと思っていた。
「検索」ボタンがなくフォームだけがポッカリ開いていると、それが何を意味しているのかわからないので、そのフォームに「Search…」などと表示させておきたい。しかも単語を入力するときにはその表示を消したい、と思って調べたのでメモしておく。
見つけたこの例の type=”search” は Mac の Safari 限定なので普通は type=”text” にする。ついでに文字の色を変化させる。
<input type="text" name="s" id="s" onfocus="if(this.value=='(検索)'){this.className='word'; this.value='';}" onblur="if(this.value==''){this.className='prompt'; this.value='(検索)';}" class="prompt" value="(検索)" />
文字の色はスタイルシートで、入力される検索語をクラス word で、「(検索)」と表示させるときをクラス prompt で、
input.prompt { /* 入力を促す Search... など(フォーカスすると消える)の色 */ color: #999999; } input.word { /* 検索語の色 */ color: #000000; }
のように指定する。
subversion
ようやく CVSからsubversionに移行した。自分一人の環境だし、滅多にコードも書かないので何のために?というところだが、まあいろいろとファイルの管理などを。出遅れた分あちこちに情報があるので割とスムーズに移行できそうだ。
しかしいくつかの不満はある(使い手が慣れていないからかもしれないが)。ひとつは、パーミッションが保存されないこと。CVSでは作業スペースでパーミッションを変更しておいた状態で update しても(内容はupdateされても)パーミッションが変わることはなかった。subversionでは、いったんファイルを消してから新たに作ったかのように、元のパーミッション(その時点の umaskにしたがって)になってしまう。group の変更も元に戻ってしまう。webページのように、webサーバから見えるようにしてチェックしつつ作業をしている場面では面倒くさい。tarを使うときのようにパーミッションなどが保存されるといいのだが。
もうひとつの問題は日本語の文字化け。CVSより格段によくなっているけれども。
まず、ここの環境では /etc/environment で LANG=ja_JP.EUC-JP となっているしその中の自分の環境でも LANG=ja_JP.EUC-JP としている。普段使いのエディタ Emacs も (set-default-coding-systems ‘euc-japan) だ。そこで /var/lib/trac/(リポジトリ)/conf/trac.ini で
[trac] default_charset = euc-jpとした。 ファイルの中身がeuc-jpなら何の問題もないのだが、だんだんutf-8のものも出てきた。するとTracで閲覧するときに化けてしまう。これは TracJaの説明にもあるように、
Subversion リポジトリに格納しているファイルのエンコードが、ファイルごとに違う場合、 Subversion 側で各ファイルの svn:mime-types 属性にcharset を正しく設定することで解消します (trac-0.8.2 以降):で解決した。phpだからといって mime-typeを application/phpとするのはやりすぎで、閲覧することを考えると text/* にしておくのが吉。text/x-php としてみた。text/plain がもっとも無難だとは思うが。 Emacsでは[[psvn.elを使う。編集中に差分を見たいとき = (差分)とすると、euc-jpのバッファにutf-8を表示しようとして文字化けしてしまう。E (Ediff)だと化けずに表示できるので、こちらで見ることにしよう。