冷麺のトップに戻る

2003年09月18日

Movable Typeの携帯対応

Movable Type(以下MT)を使い始めた人は必ずMTに関する話題を書きまくるという法則。

冷麺のMT化は大体終わって、あとはログをしこしこコピペするだけなんですが(これが一番大変)、ひとつ難しい問題が出てきました。携帯端末向けのページをどうするかということ。MTは文字コードをEUC-JPかUTF-8しか選べないので(僕は安全策でEUC-JPにしてみた)、携帯端末だと文字化けしちゃうんですよね。なんか最近の携帯はそれらも文字化けせずに表示出来るみたいですけど、まだまだ携帯世界ではShift_JISの勢力が圧倒的。で、既に太鉄さんのtalk to oneself 2で『MT4i』という素晴らしい「MovableType用 i-mode変換スクリプト」も公開されているのですが、これはCGI側でレイアウトを決定してしまうので、もうちょっと自由度の高い方法はないものかと考えてみたのです(あと僕のところではデータベースの関係で使うことが出来ない)。最終的な結論は「単純にEUC-JP(またはUTF-8)で書かれたHTMLを読み込んで、Shift_JISで吐き出すCGI」が欲しいということです。Perl一切わからないのでこれがどういうことなのかもよくわかってないんですが……。ああ、なんか今僕はとんでもなくバカな発言をして失笑を買ってる気がします。やめてー。いじめないでー。

僕が考えたのはこんなこと。

  1. MTのIndexテンプレートを携帯向けに新しく作ろう。
    • 携帯向けのIndivisualEntryArchiveを新たに作るといくらでも過去ログを遡れる→2倍の量のログを抱えることになる→不採用
    • どうせ携帯端末では過去ログ遡るといってもたかが知れてるから過去4件も読めれば充分っしょ。いや充分すぎるくらい→採用
  2. 結局携帯用のIndexテンプレートは最新の2件を表示するものと過去2件を表示するもの、計2つ作ればいい。2件くらいなら10KBを超えて表示出来なくなることもないし。
  3. 実際作ってみた。
  4. MTがこのテンプレートを元にHTMLファイルを2つ生成する。
  5. あとはこのEUC-JPで生成されたHTMLファイルを読み込んでShift_JISとして吐き出すCGIがあればいい。
  6. あ、僕スクリプト組めないや♪ てへっ

Shift_JISで吐き出す際に、特定の要素を正規表現を利用して除去すればさらにファイルサイズはスリム化されますね。これはMT以前の携帯版冷麺でもやっていて、具体的に言うとimg要素を除去して画像を表示しないようにしています。これが一番容量制限にひっかかりやすいから。本当は画像をリサイズして全体でギリギリ10KBに収められれば一番いいんですが、携帯でそこまでやる必要はないかなと。画像がないと意味がわからなくなるような文章は努めて書かないようにしてますし。

そんなわけでこのCGIに求められる仕様リスト。優先順。

  1. EUC-JP(出来ればUTF-8も)で書かれたHTMLファイルを読み込んでShift_JISでそのまんま吐き出す。(HTMLファイルの絶対URLを引数として渡す)
  2. 除去できるタグを複数設定できる。
  3. 全角カナの半角への変換。

あら、これだけだった。これが簡単なことなのか難しいことなのか、実現可能なのか不可能なのか、イケてるのかバカなのかもわかりません。十中八九バカに違いないんですが誰か教えてください。



Amazon.co.jpアソシエイト

楽天

MENU

冷麺最新5件の記事

冷麺最新3ヶ月


Amazonトップセラー