ImageSizeGenerator プラグイン v0.04
先日公開した、Movable Type のブログ記事内の img 要素に width 属性・height 属性を追加する「ImageSizeGenerator プラグイン」をバージョンアップしました。
この不具合と改善案は WolaWola のoscar さんにご連絡いただきました。ありがとうございました。
1.変更内容
- img 要素の後方に br 要素などの空要素がある場合、空要素に width 属性・height 属性が追加される不具合を修正
2.ダウンロード
最新版のプラグインは下記のページよりダウンロードしてください。
Movable Type Developers & Designers Conference Osaka
Movable Type の公式サイトで「Movable Type Developers & Designers Conference Osaka」が案内されてますので、こちらでも告知致します。
Movable Type News - Movable Type Developers & Designers Conference Osaka のお知らせ
本カンファレンスでは Movable Type 5 の新機能であるテーマ、そしてプラグイン開発について、Movable Type 5 開発チームよりプレゼンテーションさせていただく予定です。Movable Type CMS ソリューションを弊社と共同開発いただいたアルファサード有限会社さまからも Movable Type に関するソリューションについてお話しいただく予定です。
- 日時:2009年12月12日 (土) 13:00 ~ 16:00 (12:45受付開始)
- 会場:大阪・ブリーゼプラザ
- 定員:55名 (応募者多数の場合抽選)
- 参加費:無料
今回のカンファレンスでは、参加ユーザーに発表の機会を持ってもらう目的で、Lightning Talks が実施されます。Lightning Talks は、MTによるサイト構築やテンプレートのカスタマイズ、プラグインの開発を行っていくなかでの経験や失敗談などを、5~10分で話す場です。
なお、応募者多数時の抽選は、Lightning Talks へ参加希望された方が優先のようです。関西圏にお住まいでMTに興味のある方は参加されてはいかがでしょうか。
Movable Type 5.0 の SQLite 利用について
Movable Type 5.0 ドキュメントでは、SQLite と PostgreSQL がサポート対象外と記載されていますが、実際には 5.0 でも引き続き利用できるようになっています(MT5の新規インストール時のデータベース設定では、MySQLのプルダウンメニューが「推奨」と表示されます)。
ということで、SQLite のまま、Movable Type 4.261 から Movable Type 5.0 にアップグレード可能かどうか、試してみました。
下はアップグレード前の Movable Type 4.261 の画面です。
mt-config.cgi と SQLite のデータベースファイルを Movable Type 5.0 の環境にコピーし、アプリケーションディレクトリ名を旧アプリケーションディレクトリ名にあわせて mt.cgi にアクセスすると、アップグレードが開始しました。ただし日本語では表示されません。アップグレード時には、環境変数 DefaultLanguage の設定が必要です。
ログインします。

アップグレードが実行・完了しました。
これが Movable Type 5.0 の画面です。すべての動作は確認できていませんが、基本動作は問題ないようです。
注:本エントリーは Movable Type 5.0 で SQLite / PostgreSQLのサポートを保障するものではありません。
Movable Type 5.0 リリース
Movable Type 5.0 がリリースされました。
個人無償版は以下のページを辿ってダウンロードできます。
MTOS は以下のページからダウンロードできます。
Movable Type 4 からの主な追加機能や変更点は下記を参照してください。
ということで、Six Apart の皆様、お疲れ様でした!
Movable Type で特定の範囲のブログ記事を再構築する
Movable Type で途中のブログ記事から再構築を開始する方法です。バックグラウンド再構築の環境がなく、再構築の途中で500エラーになった場合などに有効です。
1.管理画面を使ったブログ記事の部分再構築
そもそもブログ記事を部分的に再構築する機能は管理画面で提供されています。画面のようにブログ記事一覧から再構築したいブログ記事をチェックし、「公開」をクリックすればOKです。

2.URLの直接入力による再構築範囲の指定
次のURLを打ち込めば、ブログ記事の範囲を指定して再構築を実行できます。
http://user-domain/mt.cgi?__mode=rebuild&blog_id=[ブログID]&type=Individual&next=0&offset=[オフセット]&limit=&total=[ブログ記事数]
パラメータの意味は次の通りです。
- blog_id
- 再構築対象のブログIDを設定します。
- offset
- 再構築を開始するブログ記事のオフセットを指定します。例えば 100 を指定すれば、最新のブログ記事100 件分をスキップして、101 件目から再構築を開始します。
- total
- 通常の再構築動作では公開ブログ記事数が設定されます。手動で実行する場合、offset より大きい値であれば正常に動作します。
具体的な設定イメージを図に示します。ブログ記事10が最新記事、ブログ記事1が一番古い記事で、offset に3、total に8を設定して再構築すれば、ブログ記事7~ブログ記事3の5件が再構築されます。

ただし、total は EntriesPerRebuild の値が優先し、EntriesPerRebuild のデフォルト値 40 であれば、total - offset が 40件以下であっても、40件分は再構築されるようです。
再構築記事数が少ないのであれば、一覧画面から実行するより体感的に早い気がします。
2.URLの直接入力による再構築ブログ記事IDの指定
次のURLを打ち込めば、ブログ記事を個別に指定して再構築を実行できます。これは1項の動作と同じです。
http://user-domain/mt.cgi?__mode=rebuild_phase&return_args=__mode%3Dlist_entry%26blog_id%3D[ブログID]&id=[ブログ記事ID]&blog_id=[ブログID]
パラメータの意味は次の通りです。
- blog_id
- 再構築対象のブログIDを設定します。
- id
- 再構築を実行したいブログ記事IDを指定します。「&id=xx」のパラメータを繰り返せば、いくつでも実行できます。
Twitter革命
ジャーナリスト・神田 敏晶さんのツイッター本です。
![]() | Twitter革命 (ソフトバンク新書 118) ソフトバンククリエイティブ 2009-11-18 売り上げランキング : 448 Amazonで詳しく見る by G-Tools |
神田さんはこれまでに類書として Web2.0 や YouTube の新書を出されており、どれも神田さんのユニークかつ鋭い視点で書かれてます。この本も「ツイッターとは何か?」といった基本的な解説から、ビジネスで用いる場合のノウハウまで、独特の持ち味で書かれています。
また、すべての奇数ページの下には、ツイートっぽくデザインされた豆知識が掲載されており、この部分を読むだけでもツイッターの面白さが充分楽しめると思います。
ツイッターをこれから始める方にも、すでに使いこなしている方にも楽しめる1冊です。
- 第一章 革命はもう始まっている
- 利用者5840万人で成長率は3712%!?
- ツイッターで今何が起きているのか
- きっかけはオバマ?
- パワー・トゥ・ザ・ピープル
- 事件はツイッターで起こっている
- 2009年の再ブレイク
- つぶやきから「ツイート」へ
- 第二章 ツイッターの何がすごいのか?
- ウェブのリアルタイム化
- ツイッターの革命的な7つの特徴
- 特徴①RTの伝播力
- 特徴②短縮URL
- 特徴③ボット
- 特徴④API開放によるカスタマイズ
- 特徴⑤140字の字数制限
- 特徴⑥メールを超えるコミュニケーション
- 特徴⑦ユーザーが決めるルール
- 世界にたった一つのタイムライン
- 人間関係が可視化される
- ソーシャルフィルタリング
- センサー化するツイッター
- 第三章 メディア革命
- 最も敷居の低いメディア
- ただのミニブログじゃない
- ツイッターVS.ブログ
- ツイッターVS.SNS
- ツイッターVS.そのほかのソーシャルメディア
- ツイッターVS.メルマガ
- ブログから「リブログ」へ
- 「ゆるいメディア」の価値
- ニュースへのタッチポイントが変わる
- ソーシャルニュースの時代へ
- マスメディアの中に真実はあるか
- テレビも新聞もツイッターを利用
- ソーシャルメディア時代のテレビ視聴スタイル
- ライブツイートの時代へ
- 現実とツイッター空間の融合
- 第四章 ビジネス革命
- ツイッターを使いこなすことは自転車を乗りこなすようなもの
- 大企業からスモールビジネスまで
- さまざまなビジネス用途
- ツイッターが企業の行動を変える
- 企業ツイートの始め方
- 企業として何をツイートするか
- 自社情報のコンシェルジュとして
- つづきはツイッターで!
- 公共サービスにもツイッターを
- ツイッター議員は世の中を変えるか
- 「出馬なう」は実現するか
- 選挙はマスコミ向け公共事業?
- 第五章 革命は終わらない
- 進化するツイッター
- 頭の痛いスパム問題
- API開放の功罪
- 悪用されたソーシャルグラフ
- ツイッターのビジネスモデル
- 「草食系」の世界観
- フツーの人の参入でツイッターは変わるのか?
- セカンドライフの二の舞にはならない
- メディア化する個人と個人化するメディア
- あなた自身の革命
- インターネットの本質
ImageSizeGenerator プラグイン v0.03
先日公開した、Movable Type のブログ記事内の img 要素に width 属性・height 属性を追加する「ImageSizeGenerator プラグイン」をバージョンアップしました。
1.変更内容
- src 属性で指定した画像が見つからない場合に、空の width 属性・height 属性が追加される不具合を修正
- プラグインファイルをYAMLに変更
2.ダウンロード
最新版のプラグインは下記のページよりダウンロードしてください。
伊右衛門 秋の茶会
コンビニで「伊右衛門 秋の茶会」というお茶を購入しました。

公式サイトのニュースリリースでは次のような特徴が挙げられています。
- 老舗茶舗「京都福寿園」の茶匠が茶葉を厳選
- 宇治伝統の栽培技術である「覆(おおい)下(した)栽培」によってつくられた碾茶、玉露、かぶせ茶などの上質な茶葉を贅沢にブレンド
- 抽出方法にもこだわり、少ないお湯で通常よりも長い時間をかけて抽出する「贅沢抽出」を採用
- 1時間に数十グラムしかできない石臼挽き製法でつくられ、茶道用の抹茶としてお茶席でも使われるような高品質な抹茶を加える
パッケージも瓶を使っており、ペットボトルのお茶とは全く違う、高級感溢れるまろやかな味わいです。11月10日(火)から全国で数量限定発売されていて、360ml瓶で475円です。
Movable Type 5.0 RC3 リリース
Movable Type 5.0 RC3 がリリースされました。
以下のリンクからダウンロードページに進めます。
改善点や不具合の修正はリリースノートを参照ください。
プラグインに関する説明が追加されましたのでいくつか抜粋します。
- ".pl"形式のプラグイン記述方法も引き続きサポートされますが、新しいYAML書式を推奨します。
- Movable Type 5.0の内部処理は、PublishCharsetによらず必ずUTF-8でおこなわれます。外部のサイトからフィードを取得するプラグインなどは、UTF-8へのエンコード、デコード処理が必要になります。
- プラグインのYAML書式のチェックを厳しくしました。Movable Type 5.0ではYAML::Syckを標準で使用します。利用したいプラグインで、YAMLエラーが出た場合は、以下の行を mt-config.cgi に追記することで、Movable Type 4.xと同じYAML::Tiny を利用するように設定することができます。
YAMLModule YAML::Tiny
WolaWola さんのプラグイン情報も併せて紹介されていますので、この記事でもリンクさせていただきます。プラグイン対応状況が気になる方はご覧ください。
regex_replace モディファイアをダイナミックパブリッシングで利用する場合の注意
Movable Type の小ネタです。
regex_replace モディファイアでグループ化と後方参照($1など)を利用する場合、次のように記述します。
<mt:GetVar name="foo" regex_replace="/(.*)/","No.$1" />
上の例では、変数 foo の値が「1」であれば、出力は「No.1」となります。
テンプレートをダイナミックパブリッシングにすると、このままの記述では regex_replace モディファイアは正常に動作せず、出力は「No.」となってしまいます。
期待通りに動作させるためには、後方参照の「$」をエスケープします。
<mt:GetVar name="foo" regex_replace="/(.*)/","No.\$1" />
ちなみに、上記の展開されたダイナミックパブリッシングのソースコードを掲載しておきます。
エスケープなし(NGになるケース)
<?php /* Smarty version 2.6.13, created on 2009-11-21 23:25:15
compiled from mt:1872 */ ?>
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
smarty_core_load_plugins(array('plugins' => array(array('function', 'mtgetvar', 'mt:1872', 4, false),array('modifier', 'regex_replace', 'mt:1872', 4, false),)), $this); ?>
<?php $this->_tag_stack[] = array("mtgetvar", array (
'name' => 'foo',
'regex_replace' => '/(.*)/',
)); echo ((is_array($_tmp=smarty_function_mtgetvar(array('name' => 'foo'), $this))) ? $this->_run_mod_handler('regex_replace', true, $_tmp, "/(.*)/", "No.".($this->_tpl_vars['1'])) : $this->_plugins['modifier']['regex_replace'][0][0]->regex_replace($_tmp, "/(.*)/", "No.".($this->_tpl_vars['1']))); array_pop($this->_tag_stack); ?>
エスケープあり(OKになるケース)
<?php /* Smarty version 2.6.13, created on 2009-11-21 23:25:53
compiled from mt:1872 */ ?>
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
smarty_core_load_plugins(array('plugins' => array(array('function', 'mtgetvar', 'mt:1872', 4, false),array('modifier', 'regex_replace', 'mt:1872', 4, false),)), $this); ?>
<?php $this->_tag_stack[] = array("mtgetvar", array (
'name' => 'foo',
'regex_replace' => '/(.*)/',
)); echo ((is_array($_tmp=smarty_function_mtgetvar(array('name' => 'foo'), $this))) ? $this->_run_mod_handler('regex_replace', true, $_tmp, "/(.*)/", "No.\$1") : $this->_plugins['modifier']['regex_replace'][0][0]->regex_replace($_tmp, "/(.*)/", "No.\$1")); array_pop($this->_tag_stack); ?>
ということでお試しください。
Movable Type 5.0 RC2 リリース
Movable Type 5.0 RC2 がリリースされました。
以下のリンクからダウンロードページに進めます。
改善点や不具合の修正はリリースノートを参照ください。RC2 ではダイナミックパブリッシング関連のバグ修正がかなり行なわれています。
個人的に気になった既知の問題点は以下です。
- アーカイブページのページ送り機能は、新規に作成したアーカイブテンプレートでは利用できない。
- アイテムのカスタムフィールドを投稿するときの"アイテムの挿入"画面で、Movable Type 4.xではオーディオ、ビデオ、画像をふくむすべてのアイテムが表示されるが、Movable Type 5.0ではオーディオ、ビデオ、画像は表示されず、その他のアイテムだけが表示される。ただし、オーディオ、ビデオ、画像をアップロードすることは可能。
- WordPressのエクスポートデータをインポートするときに、文字化けする場合がある。
- カスタムフィールドに数字の"0"を入力したときに、テンプレートタグで"0"を出力できない。 <mt:If tag="カスタムフィールドのタグ" eq="0"> <mt:カスタムフィールドのタグ></mt:If>など、明示的に評価して出力する必要がある。
- Movable Typeで利用するCPANモジュール(DBIやDBD::mysqlなど)のバージョンが古い環境で、管理画面を表示する際に"Statement has no result columns to bind"のエラーが表示される場合がある。このエラーが表示された場合は、該当のCPANモジュールをバージョンアップが必要(修正予定なし)。
また、インストール・バージョンアップに関して、次の注意点が公開されています。
- 以前のバージョンからバージョンアップするときには、上書きではなく新しいディレクトリにMovable Typeを配置してください。
- Windows環境にMovable Typeをインストールするときには、tar.gz形式ではなく、zip形式のMovable Typeを解凍してインストールしてください。
- 以前のバージョンでダイナミックパブリッシングを利用していて、Movable Type 5.0を旧バージョンと異なるディレクトリに配置してバージョンアップした場合は、以下の手順を実行する必要があります。
- .htaccess と mtview.php ファイルをブログから削除します。
- ブログ テンプレートの管理画面から、[公開プロファイルを設定]でダイナミックパブリッシングを設定した状態で設定を保存します。
- 新しい .htaccess と mtview.php ファイルが作成されます。
とりあえずデータベースはまだ選択できるようです。

EntryIDViewer プラグイン
Category:[管理画面, 自作プラグイン]
Tag:[EntryIDViewer, MovableType, Plugin]
Permalink
Movable Type 5 で、ブログ記事IDを管理画面に表示するプラグインです。
1.機能
ブログ記事一覧・ウェブページ一覧にブログ記事IDを表示します。注:MT5.1以降の一覧画面ではデフォルト機能でIDを表示することができます。

また、ブログ記事編集画面・ウェブページ編集画面にブログ記事IDを表示します。

2.プラグインのダウンロード
下記の EntryIDViewer.zip をクリックして、プラグインアーカイブをダウンロード。
変更履歴
2009.11.18 初版
2011.07.05 v0.10 MT5.1対応
2011.12.04 v0.11 MT5.1版にウェブサイト/ブログ別の有効機能追加
- EntryIDViewer_0_01.zip(MT5.0x用)
- EntryIDViewer_0_11.zip(MT5.1用)
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
3.プラグインのインストール
プラグインアーカイブを展開し、中にある EntryIDViewer フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。
システム管理画面のプラグイン一覧で、「EntryIDViewer~」が表示されればインストール完了です。

MT5.1版は、プラグインを利用したいウェブサイト/ブログの「ツール」→「プラグイン」→「EntryIDViewer~」→「設定」で、「プラグインを有効にする」にチェックしてください。

これで設定は完了です。冒頭のようにブログ記事IDが表示されていることを確認してください。
2011.07.04
対応バージョンを追加しました。
mt-csv2customfields v0.03
Category:[エントリー, カスタムフィールド]
Tag:[MovableType, mt-csv2customfields, Script]
Permalink
CSV形式のデータを Movable Type のブログ記事およびカスタムフィールドに一括読み込みさせるスクリプト mt-csv2customfields.cgi をバージョンアップしました。
追加機能は次の通りです。
- コメント受信設定とトラックバック受信設定に対応
- 出力ファイル名(ベースネーム)の設定に対応
最新版のダウンロードと使用方法は以下の記事を参照願います。なお、本スクリプトは MT5.0 で正常に動作することを確認しています。
CKEditor for Movable Type 5.0
「世界中の1%の人々へ」の蒲生さんと「ToI企画」の天野さんの共同プロジェクトによる、CKEditor for Movable Type プラグインが公開されています。

以下、「【Movable Type 5.0】AjaxなWYSIWYGエディタCKEditor for MT公開」の記事からの引用でプラグインを紹介します。
このプラグインはFCKEditorの後継 WYSIWYG エディタ「CKEditor」を日本語ローカライズ化してMovable Type 5.0で利用できるようにしたものです。
CKEditor for MTには、以下の特徴があります。
- 出力コードが正確
- 動作が軽快
- 機能が豊富
- 使いやすい
- カスタマイズが簡単
CKEditorはFCKeditorの使いやすさと、TinyMCEの持つ拡張性を備えており、どちらのWYSIWYGエディタよりも素晴らしい、WYSIWYGエディタの決定打といえるでしょう。
1.プラグインのダウンロード
以下のページよりアーカイブをダウンロードします。
github.com/usualoma/ckeditor-for-mt/downloads

2.プラグインのインストール
アーカイブを展開して、plugins 配下にある CKEditor フォルダを plugins ディレクトリに、mt-static/plugins 中にある CKEditor フォルダを mt-static/plugins ディレクトリにアップロードします。
システムプラグイン一覧で「CKEditor for Movable Type x.x」が表示されればインストール完了です。

3.設定
プラグインをインストールした時点で冒頭のような編集画面が表示されますが、システムプラグインの設定画面で以下のような、表示するボタンの設定や選択可能なフォントサイズなどの設定項目があります。

また、ブログ別(またはウェブサイト別)プラグイン一覧画面から、概要フィールドへの適用の設定が行なえます。

Twitter(ツイッター)のフォロー返しのポイント
2007年に取得していた Twitter(ツイッター)のアカウントで、今年の7月からようやくつぶやき始め、先日 1000 フォロワーになりました。フォローくださった皆さん、ありがとうございます。
Twitter のプロフィールにはこのブログのことしか書いていないので、このブログをやっているおかげでフォローしてくれる方が大勢いらっしゃると思います。
ということで、フォローしてもらう秘訣とかアドバイスはできないのですが、フォローを頂いたときにフォロー返しする・しないを決めるための私なりのポイントを紹介します。参考になれば幸いです。
つぶやき
フォローしてくれた方のつぶやきをみて、日常のつぶやきが普通に並んでいれば即フォローしています。始めたばっかりの方で、つぶやきが2つか3つあれば多分フォローしていると思います。全然つぶやきがない場合はフォローはしていません。
つまり、Twitter を始めてフォローを開始するときには、多少自分のつぶやきが並んでいる方がフォローしてもらいやすいかもしれません。
アイコン
つぶやきの内容ほど重要ではありませんが、「このアイコンがタイムラインに表示されているとちょっと…」といったもの以外は基本的にフォローしています。
ちなみに、私のアイコンは猫を使っているのですが、このアイコンでフォローしてくれている方もいらっしゃるかもしれません(他のアイコンに変えたときにフォローが減ったとか、猫のリストを作っている方もいるので)。
ブロフィール
Web 制作関係のプロフィールが書かれている場合は即フォローしています。MT や WordPress 関連のつぶやきがあるとなおさら反応早いです(TL をみたときにそのつぶやきが視界に入っていればですが)。
そういう意味では、プロフィールには色々と書いておいた方がフォローしてもらいやすいかもしれません。
読み取り専用に
Microsoft Office Word で「読み取り専用」を設定する
Microsoft Office Word に「読み取り専用」を設定する方法です。ファイルのプロパティで「読み取り専用」を設定すると、ファイル自体の編集ができなくなるので、Word の機能を利用する方法を紹介します。
この設定を行なうことで、ファイルを閲覧するときに「読み取り専用」で開けば、ファイルを編集したい人の作業を妨げないようにすることができます。ここでは Word 2003 を使った設定例を示します。この設定ができるのは Word 2000 以降です。
設定は簡単で、読み取り専用にしたい Word ファイルを開き、メニューバーの「ツール」→「オプション」→「セキュリティ」タブ(Word 2000 の場合は「保存」タブ)の「読み取り専用を推奨」にチェックをいれて、ファイルを保存すれば完了です。
次回以降、この設定を行なった Word ファイルを開こうとすると、次のようなダイアログが開くので、「はい」をクリックすれば読み取り専用で開きます。編集したい場合は「いいえ」をクリックします。
複数ブログのブログ記事を時間順に1件ずつ表示する
MultiBlog タグに mode="context" を付与した場合や、Entries タグに blog_ids="children" を付与すれば、複数ブログのタグを時間順に表示することができますが、それぞれのブログの件数を制限することはできません(「blog_ids="children"」はMovable Type 5以降で利用可能)。
例えば、ウェブサイト配下に 3 つのブログがあり、ウェブサイトに各ブログの最新記事1件を時間順に並べる場合などです。
このエントリーでは、3つのブログのブログ記事が次のように(新着順に)並んでいても、

このように、それぞれのブログの最新記事1件を表示するカスタマイズを紹介します。

上記の表示は以下のサブテンプレートで実現できると思いますので、試してみてください。
1.MultiBlog タグの場合
<mt:MultiBlog mode="context">
<mt:Entries lastn="0">
<mt:EntriesHeader>
<ul>
</mt:EntriesHeader>
<mt:BlogName setvar="blog_name" />
<mt:var name="flag" value="0" />
<mt:loop name="list">
<mt:if name="__value__" eq="$blog_name">
<mt:var name="flag" value="1" />
</mt:if>
</mt:loop>
<mt:unless name="flag">
<li><mt:BlogName />:<mt:EntryTitle /></li>
<mt:setVar name="push(list)" value="$blog_name" />
</mt:unless>
<mt:EntriesFooter>
</ul>
</mt:EntriesFooter>
</mt:Entries>
</mt:MultiBlog>
2.MTEntries タグの場合
<mt:Entries blog_ids="children" lastn="0">
<mt:EntriesHeader>
<ul>
</mt:EntriesHeader>
<mt:BlogName setvar="blog_name" />
<mt:var name="flag" value="0" />
<mt:loop name="list">
<mt:if name="__value__" eq="$blog_name">
<mt:var name="flag" value="1" />
</mt:if>
</mt:loop>
<mt:unless name="flag">
<li><mt:BlogName />:<mt:EntryTitle /></li>
<mt:setVar name="push(list)" value="$blog_name" />
</mt:unless>
<mt:EntriesFooter>
</ul>
</mt:EntriesFooter>
<mt:var name="__counter__" />
</mt:Entries>
2010.04.14
「blog_ids="site"」を「blog_ids="children"」に変更しました("site"は、Movable Type 5.0ベータ版で設定可能となっていた値)。また、「blog_ids="children"」の利用可能バージョンを追記しました。
ImageSizeGenerator プラグイン
Category:[管理画面, 自作プラグイン]
Tag:[ImageSizeGenerator, MovableType, Plugin]
Permalink
Movable Type のブログ記事投稿時、本文に記述した img 要素に対し、width 属性と height 属性を自動的に付与するプラグインです。MT のアイテム機能を使わずに画像を挿入している場合などに有効です。
この記事の img 要素にも本プラグインを適用して、width 属性・height 属性を自動挿入しています。
1.機能
このプラグインは次の機能を提供します。
- ブログ記事の本文に挿入した img 要素に width 要素および height 要素を含まない場合、ブログ記事の保存時に画像サイズを取得し、width 属性と height 属性を自動的に付与します。
- width 要素または height 要素のいずれかが設定されている場合は動作しません。
- img 要素に他の属性が設定されている場合、そのまま反映します。
ブログ記事保存前

ブログ記事保存後

なお、本プラグインは Perl モジュール LWP::Simple を使用しています。
2.プラグインのダウンロード
下記のリンクからプラグインアーカイブをダウンロードし、任意のフォルダに保存してください。
修正履歴
2009.11.11 初版
2009.11.18 v0.02 ドキュメントのリンクを修正
2009.11.23 v0.03 src 属性で指定した画像が見つからない場合に空の width 属性・height 属性が追加される不具合を修正。YAML対応
2009.11.30 v0.04 img 要素の後方に br 要素などの空要素がある場合、空要素に width 属性・height 属性が追加される不具合を修正
2009.12.04 v1.00 img 要素が1行に複数ある場合や、img 要素の途中に改行がある場合の width 属性・height 属性の追加に対応。追記フィールドのimg 要素の変換にi対応
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
3.インストール
プラグインアーカイブを解凍し、中にある ImageSizeGenerator フォルダを plugins ディレクトリにアップロードしてください。
ブログ管理画面より「システム」→「プラグイン」でプラグイン一覧を表示し、次のように表示されればOKです。

4.注意事項
リンク付きの img 要素も変換されることを確認していますが、1行に複雑な(X)HTMLマークアップが記述されている場合の動作は保証できません。v1.00で対応しました。
また、img 要素が1行に連続している場合、正常に変換されない可能性があります。プラグインは1行にひとつの img 要素しか処理しないので、可能であれば改行を挿入してください。v1.00で対応しました。
Photoshop で角丸を作る
今更ネタですが、Photoshop で角丸を作る方法を備忘録で残しておきます。Photoshop は 6.0 でやや古いバージョンを使ってます。
サンプル画像は「EyesPic - フリー画像素材」を使わせてもらってます。
まず、角丸を作りたい画像を開きます。

ツールボックスから「角丸矩形ツール」選択。

オプションバーの「新規作業用パスを作成」を選択し、適当な半径を入力。ここではわかりやすいように 30px にします。
![]()
画像から切り抜きたい部分を選択。選択部分は枠線が表示されます。

パスの上で右クリックして、「パスを自由変形」をクリックすれば、

このように選択範囲を微調整できます。

「パス」ウィンドウの「作業用パス」を右クリックして、「選択範囲を作成」をクリック。

ウィンドウが開くので、そのまま「OK」をクリック。

パスが選択状態になるので、メニューバーの「編集」→「コピー」を選択、または Ctrl-c でコピーします。

メニューバーの「ファイル」→「新しいウィンドウ」を選択。

選択したサイズのウィンドウが開きます。ここでは背景色を透明にしてOKをクリック。

こんな感じで開きます。

メニューバーの「編集」→「ペースト」を選択、またはCtrl-v でペーストすれば完成です。

Photoshop でもっと簡単に作成する方法がありましたらアドバイスお待ちしています。
2009.11.10 追記:Twitter 経由で KlingonEmpire さんに早速教えていただきました。矩形選択ツールで選択した後、メニューバーの「選択範囲」→「選択範囲を変更」→「滑らかに」を選択すれば簡単にできます(ただしアンチエイリアスは設定できません)。
Movable Type(MT)5 テーマ修正(スタイルライブラリ対応)
Category:[テンプレートセット, テーマ]
Tag:[5.0, MovableType, StyleCatcher, TemplateSet, Theme]
Permalink
配布中の Movable Type 5.0 テーマを、スタイルライブラリ対応にしました。
これまでは、スタイル機能に対応するために、mt-static/plugins 配下にスタイル用のデータをアップロードする必要がありましたが、themes ディレクトリへのアップロードだけでスタイル機能にも対応します。

1.ダウンロード
Movable Type 5(MT5)テーマは下記のページからダウンロードしてください。
2.カラムレイアウト変更方法
テーマのカラムレイアウトを変更する場合、まず、管理画面の「デザイン」→「テーマ」で配布テーマに切り替えた後、管理画面の「デザイン」→「スタイル」で「Koikikukan Styles」が表示されるので、それをクリック。

表示されたサムネイル画像をクリック。

右側に大きな画像が表示され、その下にレイアウト選択用のセレクトボックスが表示されます。

セレクトボックスからお好きなレイアウトを選択してください。ここでは「layout-two-column-right」を選択します。

レイアウトの対応は次の通りです(2011年2月現在)。
| 名称 | 意味 |
|---|---|
| layout-three-column | 3カラム・固定レイアウト |
| layout-three-column-liquid | 3カラム・リキッドレイアウト |
| layout-three-column-right | 3カラム・固定レイアウト(右サイドバー) |
| layout-three-column-liquid-right | 3カラム・リキッドレイアウト(右サイドバー) |
| layout-two-column-right | 2カラム(右サイドバー)・固定レイアウト |
| layout-two-column-liquid-right | 2カラム(右サイドバー)・リキッドレイアウト |
| layout-two-column-left | 2カラム(左サイドバー)・固定レイアウト |
| layout-two-column-liquid-left | 2カラム(左サイドバー)・リキッドレイアウト |
| layout-one-column | 1カラム・固定レイアウト |
| layout-one-column-liquid | 1カラム・リキッドレイアウト |
選択後、「デザインを適用」をクリック。

「テーマを適用しました。レイアウトも変更されたので、再構築する必要があります。 設定を有効にするために再構築してください。」と表示されるので、ブログ全体を再構築してください。

スタイルが切り替わりました。サイドバーの内容もテンプレート編集画面で入れ替える必要はありません(注:画像はMT4のときのものですが、クレジットバナー以外はMT5も同じ表示になります)。
![]()
なお、Movable Type 5.0 ベータ 4 以前では使えませんのでご注意ください。
3.カラムレイアウトサンプル
layout-three-column(3カラム・固定レイアウト)
![]()
layout-three-column-liquid(3カラム・リキッドレイアウト)
![]()
layout-three-column-right(3カラム・固定レイアウト(右サイドバー))
![]()
layout-three-column-liquid-right(3カラム・リキッドレイアウト(右サイドバー))
![]()
layout-two-column-right(2カラム(右サイドバー)・固定レイアウト)
![]()
layout-two-column-liquid-right(2カラム(右サイドバー)・リキッドレイアウト)
![]()
layout-two-column-left(2カラム(左サイドバー)・固定レイアウト)
![]()
layout-two-column-liquid-left(2カラム(左サイドバー)・リキッドレイアウト)
![]()
Movable Type 5.0 のテーマの警告について
Movable Type 5.0 のテーマを追加した際、なんらかの不具合または不整合がある場合、テーマ一覧の右側に次のような警告が表示されます。
「警告」の部分はリンクになっており、クリックすると次のように詳細が表示されます。
原因は、すでに登録済みのカスタムフィールドのベースネームと、追加したテーマに含まれるカスタムフィールドのベースネームがバッティングしていたことです。
ちなみにこの場合の対処方法は、追加したテーマの theme.yaml にあるカスタムフィールドのベースネームを変更します。
変更前
...前略...
elements:
custom_fields:
component: commercial
data:
cf4:
...後略...
変更後
...前略...
elements:
custom_fields:
component: commercial
data:
cf_hoge:
...後略...
なお、警告はまとめて検出されるようではなく、テーマ読み込み時に最初に検出されたものが表示されるようです。つまり、テーマに誤りが残っている限り警告が再表示されるので、修正ミスなのか、あるいは新たな警告なのか、エラー詳細をきちんと確認しましょう。
Movable Type 5.0 RC1 リリース
Movable Type 5.0 RC1 がリリースされました。
以下のリンクからダウンロードページに進めます。
改善点や不具合の修正はリリースノートを参照ください。
RC1 で追加・変更された機能は以下の通りです。
- Picoテーマが追加されました。
- テーマにスタイルライブラリを設定できるようになりました。
- 過去のバージョンからアップグレードしたときに、MySQL5.xでUTF8のデータベースを利用している場合、文字化けが発生する場合があります。その場合は、mt-config.cgiに"SQLSetNames 0"を指定してください。
- <mt:Entries include_blogs="site">など、BlogID を変更するテンプレートタグの内部で、MTInclude タグを利用する場合は、MTInclude タグに blog_id モディファイアで適切な BlogID を指定する必要があります。
RC1 の詳細は追記で対応したいと思います。Picoテーマは次のようにシンプルなデザインのブログです(ウェブサイト対応はなし)。
![]()
また、テーマの中にスタイルライブラリの設定を追加できるようになりました(エクスポートは不可の模様)。これにより、テーマのthemesディレクトリのみのアップロードでテーマの切り替えと、スタイルの切り替えが行なえるようになりました。
下の画像はPicoテーマに同梱されているスタイルライブラリが「スタイル」画面に反映されたことを示すものです。

MTInclude タグに blog_id モディファイアの設定が必要な件は、先日エントリーした「Movable Type 5.0 ベータ 4 におけるテンプレートのインクルードの入れ子について」が、5.0 では仕様となったことを示しています。
つまり、ウェブサイト上でブログ情報など、自ウェブサイト以外の情報を表示するのに自ウェブサイトのテンプレートをインクルードする場合、自ウェブサイトの BlogID を設定する必要があります。テンプレートモジュールが2階層以上の入れ子になっていない場合は特に問題ないと思います。
Movable Type 5 の出荷日が11月26日に決定
Six Apart の公式サイトで、10月中の出荷から延期となった Movable Type 5 の出荷日が、11月26日(木)に決定したようです。

これにともない、先行特価購入ができる『Movable Type 5発表記念キャンペーン』が11月25日(水)で終了します。価格は以下の通りです。
| ~11月25日(水) | 11月26日(木)~ | |
|---|---|---|
| 基本ライセンス | 5万2,500円 | 6万3,000円 |
| サーバーライセンス | 10万5,000円 | 12万6,000円 |
アップグレードを検討されている方はご注意ください。
Movable Type の管理画面用テンプレートファイル名を管理画面に表示する
Movable Type の管理画面は、管理画面テンプレート(tmpl 配下の.tmpl ファイル)が使われます。管理画面をカスタマイズする際、alt-tmpl ディレクトリを使って独自の代替テンプレートを作ったり、プラグインで管理画面テンプレートの一部を書き換えたりします。
が、そもそもどの管理画面にどの管理画面テンプレートが使われているか、対応を調べるのが結構面倒です。慣れればなんとなく分かってくるのですが、これから管理画面テンプレートをカスタマイズしようという方には結構面倒な作業です。
ということで、利用されている管理画面を一発でみつけるためのカスタマイズを紹介します。このカスタマイズを行なうと、次のように管理画面のフッタにテンプレートファイル名を表示します。

以下のカスタマイズは MT5 に対して行なっていますが、MT4.x でも同じ方法でカスタマイズが可能と思います。また、もっとエレガントな方法がありましたらご指導ください。
1.MT.pm の修正
lib/MT.pm を任意のエディタで開き、関数 load_tmpl に青色で示した1行を追加します。
...前略...
sub load_tmpl {
my $mt = shift;
...中略...
return $mt->error(
$mt->translate("Loading template '[_1]' failed.", $file)) unless $tmpl;
$mt->set_default_tmpl_params($tmpl);
$param->{template_file} = $file;
$tmpl->param($param) if $param;
$tmpl;
}
...後略...
2.footer.tmpl の修正
tmpl/cms/include/footer.tmpl を開いて、青色で示した1行を追加します。
...前略...
<p id="version">
<strong><__trans phrase="<a href="[_1]"><mt:var name="mt_product_name"></a> version [_2]" params="<mt:var name="portal_url">%%<mt:var name="mt_version_id">"></strong>
<mt:if name="packs_installed">
<__trans phrase="with">: <mt:loop name="packs_installed" glue=", "><a href="<__trans phrase="http://www.sixapart.com/movabletype/">pack/<mt:var name="id">/"><mt:var name="label" escape="html"> <mt:var name="version" escape="html"></a></mt:loop>
</mt:if>
, <mt:var name="template_file">
</p>
...後略...
これで管理画面にアクセスして、テンプレートファイル名が表示されればOKです。
3.注意事項
本カスタマイズでは、以下の表示には対応していません。
- ポップアップ形式の画面
- プラグイン機能による管理画面(スタイル等)
- インクルードしているテンプレートファイル(表示されたテンプレートから辿ってください)
Thunderbird で受信済みのメールを再受信する方法
少し前に、「メール紛失とお問い合わせメール再送のお願い」の記事でメールを紛失したとお伝えしましたが、契約しているプロバイダのメールサーバにメールを残していることを思い出し、これにより、最近の約8000件のメール(といってもほとんどがスパムメールですが)は復旧できました。
で、Thunderbird で一度受信したメールを再度受信する方法は、以下のフォルダ、
C:\Documents and Settings\[ユーザ名]\Application Data\Thunderbird\Profiles\[プロファイル名]\Mail\[メールアカウント]
にある popstate.dat(拡張子を表示しない設定の場合は popstate) というファイルをクリアすれば、サーバ上に残っているデータを最初から受信し直してくれます。

このファイルは Thunderbird で受信したメールの X-UIDL ヘッダ番号を保持しています。X-UIDL(UIDL:Unique IDentification Listing)にはメールを重複して受信しないためのユニークな ID が設定されていて、これを削除することで再度受信ができるという訳です。
また、twitter でつぶやいたところ、Gmail を使ってメールのバックアップを取得する方法も教えて頂いたので、その方法も別途エントリーしたいと思います。
Movable Type でカテゴリ別にブログ記事の背景画像を切り替える(カスタムフィールド編)
Movable Type 4 以降のバージョンで、カテゴリ別にブログ記事の背景画像を切り替えるカスタマイズを紹介します。
先日エントリーした「Movable Type でカテゴリ別にブログ記事の背景画像を切り替える」では、手動でアップロードした画像を利用する方法を紹介しましたが、このエントリーではカスタムフィールドを利用した場合の差分を示します。
1.カテゴリのカスタムフィールドの作成
ブログ管理画面の「カスタムフィールド」→「新規」で、次のようなカスタムフィールドを作成します。ここでは次のような設定にします。
- システムオブジェクト:カテゴリ
- カスタムフィールド名:背景画像
- 種類:画像
- テンプレートタグ名:CategoryBackgroundImage

2.背景画像のアップロード
カテゴリの編集画面の「背景画像」から、そのカテゴリの背景画像にしたい画像をそれぞれアップロードします。アップロード後は「変更を保存」をクリックするのを忘れないようにしてください。

3.スタイルシートの修正
「Movable Type でカテゴリ別にブログ記事の背景画像を切り替える」の2項と同じです。
4.スタイルシートの修正
「Movable Type でカテゴリ別にブログ記事の背景画像を切り替える」の3項の代わりに、スタイルシートに以下の内容を追加します。
<mt:Categories>
<mt:CategoryCustomFields>
<mt:If tag="CategoryBackgroundImage">
<mt:CategoryBackgroundImageAsset>
.img_<mt:CategoryDescription /> {
background: url(<mt:AssetURL />) no-repeat left top;
}
</mt:CategoryBackgroundImageAsset>
</mt:If>
</mt:CategoryCustomFields>
</mt:Categories>
追加後、スタイルシートの再構築を行ないます。これでカテゴリ別の背景画像用のセレクタが出来上がります。
5項以降の設定は「Movable Type でカテゴリ別にブログ記事の背景画像を切り替える」の4項以降と同様です。
ツイッター 140文字が世界を変える
遅ればせながら「ツイッター 140文字が世界を変える」を読みました。
![]() | ツイッター 140文字が世界を変える (マイコミ新書) 毎日コミュニケーションズ 2009-10-09 売り上げランキング : 111 Amazonで詳しく見る by G-Tools |
ツイッターは日々進化していますが、最新の「ツイッターとは何か」を知りたい方におすすめです。すでにツイッターを楽しんでいる方も、「そうそう!」みたいな感じで楽しめますし、新たな発見があるかもしれません。
また巻末には、ツイッターをより効率的に利用できるウェブサービスやクライアントソフト、おすすめボットも掲載されています。
- 第1章 日本におけるツイッターの歴史
- ツイッターとの出会い
- 2年前に第一次ブーム(2007年)
- ツイッターで突発的な飲み会が開催される
- 2008年は、横ばいだった?
- なぜ2009年になって再ブレークしたのか
- 携帯電話とツイッター
- アイフォーンとツイッター、その高い親和性
- 2009年春先から、著名人がツイッターに参入
- ビジネスや著名人の利用が目立ち始める(2009年5月)
- IT系著名人が続々参加(2009年6月)
- ファンタジスタ「@asahi」の登場
- 「@asahi」のフリーダムっぷり
- ビジネスでの利用が活発化(2009年6月)
- ビザビとツイッター
- 毎日新聞とツイッター
- 2009年7月―エポックメーキングな1カ月
- フジヤカメラとツイッター
- ツイッター小説の出現
- 勝間和代がツイッターを始める
- 冬の女王・広瀬香美、夏にツイッターを始める
- 広瀬香美と「ヒウィッヒヒー」
- 「ビバ☆ヒウィッヒヒー」誕生
- ツイッターでスポーツ中継する「スポルタァァァ!」
- ツイッターと政治
- 第2章 ツイッターとは何か?
- ツイッターは分かりにくい?
- ツイッターは誰が作ったのか?
- ツイッターはいつ作られたのか?
- なぜ140文字なのか
- 140文字というコンテンツの単位
- 「フォロー」と「フレンド」は違う
- 人が先か、情報が先か
- タイムラインとは
- ツイッターがオープンであることの意味
- リプライとリツイート
- リプライとは
- リツイートとは
- ハッシュタグとは
- 公開か非公開か
- ミクシィとツイッター
- ツイッターはよりダイレクトなサービス
- セカンドライフとツイッター
- ツイッターはこのまま普及するのか? 化けるのか?
- ツイッターは情報フィルターそのもの
- 第3章 ツイッターを楽しむためには?
- ツイッターに決められた使い方はない
- 情報との距離が近いツイッター
- 利用頻度の高いツイッター
- 使い方は人それぞれ
- ツイッターはプラットフォーム
- とりあえず「おすすめユーザー」をフォローしてみる
- まずは知人がいればフォロー
- 知らない人でもとりあえず100人くらいフォロー
- 同じタイムラインは二つとしてない
- ツイッターの三カ条
- 月面にいるようだ
- ボットもフォロー
- 時事ニュース、ニュース速報もボットで
- ツイッターを利用する二つのスタンス
- 醍醐味はコミュニケーション
- 何が面白いのか
- 「つぶやきを非公開」はもったいない
- ツイッターは世界に開かれた窓
- つぶやいてはいけないこと
- どのくらいの頻度で発言されているか
- クライアント・ソフトを活用する
- ブログの更新情報の配信先として利用する
- ツイッターを利用した周辺サービス
- それでもやっぱり向き不向きがある
- 第4章 ツイッターをビジネスで活用する
- ビジネスにツイッターを活用することができるのか?
- ブログもそうだった
- ツイッター・ユーザーは「量」より「質」
- 企業がツイッターを始めている事例
- ポーケン・ジャパン(Poken Japan)
- ビザビ
- フジヤカメラ
- 毎日jp
- ヤフー・ショッピング
- 広瀬香美さんに、ツイッターでインタビュー!
- 第5章 ツイッターの今後
- ツイッターの価値の変化?
- なぜツイッターはここまで成長してきたのか?
- ツイッターと連携するモバイル端末
- ツイッターと実況中継の相性の良さ
- ツイッターと検索
- グーグルからの買収話を断った
- なぜグーグルがツイッターを恐れるのか
- 日本での今後の展開は?
- ツイッターにおける欧米と日本の文化的な差異
- 日本語に有利なツイッター
- 日本の携帯電話での展開
- 試練を受けるツイッター
- ユーザーに愛され続けるツイッター
- ネットを通じた社会実験としてのツイッター
- フォローとフォロワーズの関係
- 情報を出していく人がより面白いことになっていく社会
- ツイッターは自分の人間力の鏡である
- ツイッターはツイッターでしかない
- 14年かかってネットはついにここまできた






