【MovableType, MySQL】記事中に BMP 外の文字を使う

100719-0001.png

Movable Type では最新の文字セットが使えない?

【Perl】文字化けしないメールの送り方」を書いていて気づいたのだが、Movable Type では記事中に BMP(基本多言語面)外の文字が使えない。といってもこれは MT 自体の責任ではなく、MySQL の現行リリース 5.1 では BMP 外の文字をサポートしないためだ。

The ucs2 and utf8 character sets do not support supplementary characters that lie outside the BMP.

ucs2utf8 というキャラクターセットは BMP 外にある追補された文字をサポートしません。

http://dev.mysql.com/doc/refman/5.1/en/charset-unicode.html

現在開発中の MySQL 5.5 ではこれが改善されて、BMP 外の文字を扱えるキャラクターセット utf8mb4utf16utf32 が追加された。

漢(オトコ)のコンピュータ道: MySQLコミュニティ騒然!MySQL 5.5.4が与えるインパクト。
http://nippondanji.blogspot.com/2010/04/mysqlmysql-554.html

Continue reading

【MovableType, MySQL】MySQL 5.1 → 5.5 へのアップグレード

故あって Movable Type で使っている MySQL のバージョンを 5.1 → 5.5 にアップグレードしてみた。

MySQL 5.5 のダウンロード

MySQL :: Download MySQL Community Server
http://dev.mysql.com/downloads/mysql/5.5.html

上記サイトより該当するプラットフォームのものをダウンロードする。今回はミラーサイトから直接ダウンロードした。

$ wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.3-m3-osx10.6-x86_64.dmg

Continue reading

【Perl】HTML / XML の 整形には tidy“p”?

HTML や XML の整形ツールとして有名なものに HTML Tidy(以下、単に tidy と呼ぶ) がある。このツールは既に 10 年以上の歴史を持つが、最近では更新頻度がだいぶ落ちてた。tidy を Perl 上から使うには HTML::Tidy というモジュールを使うのだが、tidy の最新版がうちの環境(Mac OS X 10.6 + Perl 5.10.1)ではうまく動かず、えらい苦労させられた。

【MovableType】Tidy を使って HTML を整形するプラグイン | blog.delphinus.dev
https://blog.delphinus.dev/2010/03/tiding-movabletype.html

HTML::Tidyについて追試 | blog.delphinus.dev
https://blog.delphinus.dev/2010/03/resit-html-tidy-install.html

こうした中、HTML::Tidy の作者は一向に更新されぬ tidy に業を煮やしたのか、自ら互換プロダクトを開発することにしたらしい。それが tidyp だ。

Continue reading

【MovableType】AWStats を使って人気記事ランキングを作る

MT で人気記事ランキングを作るとすると MT-MostVisited プラグインを使うのが一般的だ。

MTで人気記事ランキングを作る - #BLOG
http://www.masahiko.info/blog/archives/000100.html

このプラグインは Apache のログから直接統計データを得て作成するものだが、次のような欠点がある。

  1. ログファイルが大容量になると時間がかかりすぎる。
  2. URL に entry_id を使うことを想定しているので、(このブログのように)URL をカスタマイズしているとうまくデータを拾えない。

これを解決するために MostVisitedAlternative プラグインというのを自作してみた。このサイトの左に見えているランキングがそれだ。

Continue reading

【MovableType】エントリーの中でタグを使う(改訂版)

以前、「【MovableType】エントリーの中でタグを使う」で書いた Templatize プラグインだけども、この機能は MT 4.2 より本家に取り込まれていたのを今頃気づいた。

小粋空間: mteval モディファイアと numify モディファイア
http://www.koikikukan.com/archives/2008/06/13-022222.php

mteval | グローバル・モディファイアリファレンス
http://www.movabletype.jp/documentation/appendices/modifiers/mteval.html

この機能は本家仕込みだけあってより柔軟で、タグの誤爆を防ぐために姑息な手段を使う必要がなくなった。具体的には、

<a href="&lt;mt:Link entry_id="xx"&gt;">リンク</a>

等と書く必要はなくなり、

<a href="<mt:Link entry_id='xx'>">リンク</a>

で問題なくなった。又、本文中にタグのリテラルを書くために、「<&#x200b;$mt:EntryTitle$>」等と、幅ゼロのスペース(U+200b)を挟む必要もなくなり、「<$mt:EntryTitle$>」と書けるようになった。

まあ、こんなこと未だにやってたの僕だけかも知れないが、備忘録としておいておく。

【MovableType】iPhone 用に Youtube を縮小表示する

Youtube の動画を記事に貼り付ける場合、該当する動画にあるリンクをコピペするわけだが、その際に動画のサイズを自由に設定できる。

YouTube 動画のブログへの取り込み方とサイズ変更 ブログパーツナビ Blogparts-NAVI
http://blog-parts-navi.seesaa.net/article/54679632.html

100517-0001.png

最近の動画は横幅 640px(縦横比 16:9)、480px(縦横比 4:3)と言った大型のものが主流になっており、通常のブラウザなら問題ないのだが、iPhone では横にはみ出してしまう。以前、「【MovableType】エントリーの中でタグを使う」で行った方法と同じように Javascript でいじる方法を試したのだが、これはうまくいかなかった。しょうがないので MT のプラグインでこれを実現してみる。

Continue reading

【MovableType】テンプレートで Switch 文を使う

記事にタグを付けまくっていたら、タグクラウドが混沌として訳のわからない状態になってきた。一定数以上の記事に付いているタグだけを表示できたらよいのだが、タグクラウドを生成するために使っている <mt:Tags> タグではそのような制限が出来ない。そこでこのプラグインを使う。

MT のコメントのカスタマイズ – lucky bag
http://www.lucky-bag.com/archives/2005/05/comment_style.html

Movable Type plugin: MTSwitch – Arve Bersvendsen
http://virtuelvis.com/archives/2003/03/mtswitch

このプラグインによって switch ~ case ~ default 文のような条件分岐が書けるようになる。タグクラウドを生成するウィジェットを次のように変更してみた。

Continue reading