この年末年始はなんだかばたばたしていて、年賀状すら出せずじまい。そのさなかにMovableType を 4.0 にアップデートしたらハマってしまって、まともに表示できなくなってしまいました。そのまま放ったらかしていたのですが、最近になってようやく修繕に着手。4.1 にさらにアップデートし、「小粋空間」さんのテンプレートをお借りして、どうにか復旧。まだ一部の画像が表示されない不具合がありますが、ぼちぼち直していきます。
その間、こちらにちょろちょろと書いておりました。よろしければご覧ください。
この年末年始はなんだかばたばたしていて、年賀状すら出せずじまい。そのさなかにMovableType を 4.0 にアップデートしたらハマってしまって、まともに表示できなくなってしまいました。そのまま放ったらかしていたのですが、最近になってようやく修繕に着手。4.1 にさらにアップデートし、「小粋空間」さんのテンプレートをお借りして、どうにか復旧。まだ一部の画像が表示されない不具合がありますが、ぼちぼち直していきます。
その間、こちらにちょろちょろと書いておりました。よろしければご覧ください。
このブログに使っている MovableType をバージョン3から4にアップグレードしたら、ちょっとデザインが乱れてしまいました。ぼちぼち直していきます。しばらくの間ご覧戴きづらいかと思いますが、どうぞご容赦ください。
すっかり間があいてしまっています。もしかしたら待っていてくださるかもしれない読者の方には申し訳ない限りです。日本にいると殊に11月は多忙になります(他のところで遊んでいるというのもあるのですが…)。スロヴェニアの紹介も続けていきたいし、そもそも「リュブリャーナ近くの三つの古都」と銘打って始めた記事も二つしか書いていない。「(つづく)」と書いてそのままになっているものもたくさんあるような気がする。
スロヴェニアに関心をお持ちの方は、我が家の、喰い、喰い、くいしんぼもぜひご覧ください。実はこのABlogでも、2、3回書いていただいたt.fujiさんのブログです。彼女はずっとリュブリャーナ在住。
ITオルタナティブ・ブログの記事ブログが死ぬときに引用されているデータによれば、ブログの死亡率が90パーセントを超えるのは、最終更新日から78日経過したときなのだそう。ということで前のエントリから56日後の形ばかりの更新でした。
あまり「日記」的なブログではないので、過去のエントリへのコメントも歓迎いたします。また復活するつもりでもありますので、どうぞよろしく。
うわ、いきなり来ましたね。
以前からの ABlog の貴重な読者の方々は驚かれたのではないかと思いますが、実は僕も一瞬びっくりしました。
日本に舞い戻ってから、スロヴェニアのこと、自分で書こうと思っていることもまだまだありながら、やはりなかなか腰を落ち着けて書くこともできず、書いてもつい手近な安易なネタに流れてしまう。
それに、現場にいて書いてくださる方にはやはりかなわない部分がある。スロヴェニアのことはまだまだ日本語で紹介したいので、リュブリャーナ在住のt.fujiさんにも現地ネタの執筆をお願いした次第です。お願いしておきながら、いきなり出てきた時には驚いてしまいましたが。(苦笑)
ということで、t.fuji さんのスロヴェニアからのライブ記事も、皆様、どうぞよろしく。
「amazon.de の前身のこと」で、以前はユニコードが使えなかったから、amazon.de (ドイツのアマゾン)の前身のオンライン書店サイトを日本語対応させる話が頓挫したことを書いたけれども、今現在 amazon.de が送ってくるバナーも相変わらず ISO-8859-1 一本なのだった。だから UTF-8 を使っているこのブログに組み込むと文字化けしてしまう。amazon.de へのリンクは、これまで個別商品にしか張ってこなかった。今回、”Slowenien” という単語で検索して向こうが送ってくるものを表示するバナーを入れてみて、初めて問題に気づいた。ウムラウトなどがあると文字化けしてしまうのだ。ABC-Bücher だったときからたいして進歩してないじゃん。
あちらに、ユニコードは選べないの? と尋ねると、それはできないという木で鼻をくくったようなお返事。なんともがっかり。何も Shift-JIS だの GB2312 だのに対応しろと言っているわけではない。ユニコードぐらい対応してもいいんじゃないの? UTF-8 でブログやっている人だって多いと思うんだけれど。(日本のアマゾンが送ってくるデータはそのまま問題なく表示できる。)で、向こうから送ってくるデータをこっちで UTF-8 にコンバートしてからページに組み込めないか模索する。
なにせ素人だから、試行錯誤の連続。
コンバートは php で mb_convert_encoding あたりの関数を使えばいいことは分かっている。あっちの送り出すデータをどうやって取得するかでまずつまづく。file_get_contents を使ってみたら、このレンタルサーバ、URL file access はできない設定になっているというエラーが出た。
php.ini の設定を .htaccess で変更してやればいいのかとも思ったけれど、最近の php ではこの設定はINI_ALL(スクリプト、ディレクトリ設定ファイル、サーバ設定ファイルのどれからも変更可能)からINI_SYSTEM(サーバ設定ファイルからのみ設定変更が可能)に変更されているという情報も目に留まった。じゃあレンタルサーバではダメか。(試すだけ試せばいいのだけれど、やってみていない。)
しかし待てよ、以前、MagpieRSS という php モジュールを使って、他のサイトの RSS が引っ張って来れていたけれど、あれはどうなっていたんだろうと思ったら、php で ウェブブラウザを模す Snoopy というクラスを使っていたのだった。2日ほどいじって、なんとか解決した。Snoopyを使って amazon.de のリンク先を取ってきて、それに mb_convert_encoding をかける。それをもともとのリンクの iframe の中で読み込むということで(たぶん)解決した。
こういうのに慣れている人ならどうってことない作業なんだろうけれど、僕は「日曜プログラマ」どころか「半年に一度プログラマ(の真似事)」だから苦労した。(半年に1度独文学者だったり、1年に一度ヴァイオリニストだったり5年に一度英文学者だったり…やれやれ。)
半年前ぐらいに php の入門書を2、3冊ざっと読んだけれど、その後手を触れていなくて、基本的なコードの書き方すら忘れていた。それらの本は、日本に置いてきてしまって、いま手元には日本語の参考書はない。もちろんネットを漁ればいろいろな資料があるけれど、こういうときは、一連のまとまった記述のある書物のほうがありがたいと思った。
このブログではあまりブログ自体のことは話題にしてこなかった。けれども、先週、エイヤッという感じで Movable Tpe を 3.17 から 3.2 に上げて、ハマりまくってます。
以前よりずいぶんシンプルな画面になってしまったけれど、MTの仕様が変わったせいで、どこをどういじるのがいいのか、まだよく分からない。カウンターとオンラインユーザ数の表示はなんとか復活させたものの、あとはとにかくぼちぼちいじっていくしかない。
とりあえずデフォルトのデザインにして、それはそれで cool なんだけれど、3.2 ならではのプラグインが、そのためにこそアップグレードしたのに、なかなかちゃんと動かない。StyleCatcher しかり、SCode しかり。
SCode の設定がうまくいっていないせいで、一時またコメントができなくなっていたようだ。
もしこの間にコメントしようとしてくださっていた方がいらしたらごめんなさい。
そうそう、オフラインで書くのに便利に使っていた ecto もうまく動かなくなってしまった。
StyleCatcher は、スタイル変更の画面で一部のファイルのパスが明らかにおかしくなっていて読み込めなくなっていた。この問題は、ようやくMovable Type 4989で解決方法を見つけた。plugins/StyleCatcher/lib/StyleCatcher.pm から $app->base を削除するというもの。MT4989さんに感謝。
SpamLookup でかなり排除できているスパムコメントだが、たまにすり抜けてくるものがある。CAPTCHAによる認証は見た目もいいし、使いたいのだが、SCode のほうはなかなかちゃんと動いてくれない。以下は中間報告。
設定の、”Temp Directory” を /tmp/ ではなく、/home/xxx/tmp/ といった形に変更し、エントリー・テンプレートと、コメントプレビュー・テンプレート双方の
<div id="comments-open-footer" class="comments-open-footer">
の行の直後に
<MTSCodeInsert>
を追加したら、コメント画面でセキュリティコードが表示されるところまでは行った。でも実際にコメントしようとするとエラーになってしまう。さて…。
追記:SCode は上記の通りでもう一度やり直したら使えるようになった模様。原因は、古いインストール説明を読んで余計なところに余計なコードを入れていたため。
さらにメインページにこちらのカレンダーを追加。
8月の間、あまりこのブログに手を入れることができなかった時期があって、しばらくぶりに覗いたらコメントスパムとトラックバックスパムの巣窟になっていた。せっせと削除したけれども、その後もまあよく来る。対策を打たなければいけないなと思っていたら、MovableType 用プラグインとして、もうこんなのが出ているんですね。(気付くの遅すぎ?)
SpamLookup
インストールは簡単だし、設定は柔軟。MovableType 3.2 には最初から組み込まれているとか。僕はしばらく3.17で行こうと思っているので、早速入れてみました。効果ありますね。入れて2時間後には、もう5つぐらいトラックバックスパムを撥ねたらしい。そうログに残っていました。
なるほど、これがコメントスパムなのか。妙なところに英文のコメント。ブログを褒める、無内容でごく一般的な文句。毎回異なった怪しげなリンク(この宣伝がポイントなんだろうね。今度はオンラインカジノだと)。毎回異なった IP アドレス(アドレスで排除されることを避けている?)。そしてしかし毎回同じメールアドレス(これはブログには表示されない)。しばらく晒しておいて、削除することにしよう。
まっとうなコメントをいただくのは嬉しいけれど、もしこういうのが増えるようなら、TypePad認証とか、掲載前の承認とかを使わなければならなくなるなあ。
ここ数日、メインページの左下にドイツのニュースサイトが提供しているRSSをひっぱってこようとして、なにせ MovableType 初心者だから、試行錯誤していた。
MovableType は UTF-8 だから、基本的にドイツ語やフランス語の特殊文字と日本語が共存できることは、すでにいくつものエントリで実証済みだった。SJIS や EUC で ä, ü, ö, ß を ae とか ue とか ss とか記すのは気が進まないし、フランス語のアクサンなんかどうにもならない。いや、確かにこのあたりのISO 8859-1に含まれる特殊文字は、HTML entities と呼ばれる表記法で書き換えることを厭わなければ、SJIS ベースでも共存させることは不可能ではない。しかし中国語や韓国語ともなると、日本語と共存させることもできない。ユニコードは違う。いろいろ言われているユニコードだけれど、このさい徹底して使って多言語共存を進めてやろう、と思っていた。
ところが、RSSフィードを引っ張ってくるとなるとすんなりとは行かなかった。あちこちの MovableTye サイトで使われているmt-rssfeed プラグインで持ってくると、どうもうまくいかない。ドイツのサイトはRSSにもたいてい ISO-8859-1 を使っているので、それを UTF-8 に変換してやりさえすればいいはずなのだが、どうしてもウムラウトなどが化けてしまう。
PHP のほうで、MagpieRSS というモジュールがあることに気づいたので、ためしにそれを使って、RSSを取ってきて、これに PHP の mb_convert_variables をかけてやると、UTF-8 できれいに表示できる。ならばそれを MT のメインページに埋め込んでやればいいではないか。そう思ったけれど、メインページの拡張子は .html だから、そこに .php ファイルを include してやってもうまく動かない様子。はて、では PHP のほうから .html ファイルを書き出させて、それをMTIncludeすればいいのかなどと考えて悩んでしまった。
そこで思いついたのが、MT と PHP の初心者にしてはたいへんな「逆転の発想」。MT のメインページの拡張子を .php にしてしまえばいいではないか。メインページを含めて、MT のテンプレートには、書き出しファイル名を指定する欄がある。ということはなにも index.html でなくてもいいのではないか。index.php でもいいのではないか。そうしておいて、MagpieRSSで RSS を引っ張ってくる .php ファイルを PHP でインクルードしてやる。やってみたらうまくいった。MT がそれだけ柔軟で頑丈に設計されているということだろう。もしかしたらどこかに不具合が潜んでいるかもしれないけれど、今のところはうまく動いているようなので、しばらくこれで行ってみようと思う。
というわけで、ここのメインページの左には、Lycos.deからとってきたニュースの見出しが文字化けもせずに並んでいるはずですが、いかがでしょうか。
追記。
PHPで書かれたページに .php ファイルを埋め込むには、PHP の include 命令を使うのが正解だが、.html ページに .php ファイルを埋め込むには IFRAME タグを使えばいいことに、最近ようやく気づいた。でも面倒なのでしばらくこのままにしておこう。