OpenMelody 0.9.10
1月10日に Melody 0.9.10 がリリースされていましたので紹介します。以下のリンクからダウンロードできます。
0.9.10 の追加機能ではありませんが、システム管理画面の「ツール」→「システム情報」→「Plugins & Addons」に、プラグインとアドオンの有効・無効が切り替えられる画面が追加されています。
「リソース」では、プラグインが提供するテンプレートタグ・テキストフィルタ・ジャンクフィルタが表示されます。
OpenMelody では、Movable Type のプラグインのいくつかがアドオンとして登録されています。
ショートカットで
テンプレート一覧のアクションに「テンプレートの再構築」を追加する
Movable Type の過去のバージョンでは、テンプレート一覧画面のアクションの一覧に「テンプレートの再構築」がありました。図はMovable Type 4.1のテンプレート一覧画面です。

バージョン4.1x からボタンに代わり、Movable Type 5.0 でも「公開」ボタンが継承されています。

アクションの一覧に「テンプレートの再構築」はありません。

が、ソースコードは残っており、利用可能なようなので紹介します。
lib/MT/App/CMS.pm の core_list_actions() にある次のコメントアウトのマーク(赤色部分)をはずします。
sub core_list_actions {
my $app = shift;
my $pkg = '$Core::MT::CMS::';
return {
…中略…
'template' => {
refresh_tmpl_templates => {
label => "Refresh Template(s)",
code => "${pkg}Template::refresh_individual_templates",
permit_action => 'refresh_template_via_list',
order => 100,
condition => sub {
my $app = MT->app;
my $tmpl_type = $app->param('filter_key') || '';
return
$tmpl_type eq 'backup_templates'
? 0
: 1;
},
},
# Now a button!
# publish_index_templates => {
# label => "Publish Template(s)",
# code => "${pkg}Template::publish_index_templates",
# permission => 'rebuild',
# condition => sub {
# my $app = MT->app;
# my $tmpl_type = $app->param('filter_key');
# return $app->mode eq 'itemset_action' ? 1
# : !$app->blog ? 0
# : !$tmpl_type ? 0
# : $tmpl_type eq 'index_templates' ? 1
# : 0
# ;
# },
# order => 200,
# },
# Now a button!
# publish_archive_templates => {
# label => "Publish Template(s)",
# code => "${pkg}Template::publish_archive_templates",
# permission => 'rebuild',
# condition => sub {
# my $app = MT->app;
# my $tmpl_type = $app->param('filter_key');
# return $app->mode eq 'itemset_action' ? 1
# : !$app->blog ? 0
# : !$tmpl_type ? 0
# : $tmpl_type eq 'archive_templates' ? 1
# : 0;
# },
# order => 300,
# },
copy_templates => {
label => "Clone Template(s)",
code => "${pkg}Template::clone_templates",
permit_action => 'copy_template_via_list',
condition => sub {
my $app = MT->app;
my $tmpl_type = $app->param('filter_key') || '';
return
$tmpl_type eq 'system_templates' ? 0
: $tmpl_type eq 'email_templates' ? 0
: $tmpl_type eq 'backup_templates' ? 0
: 1;
},
order => 400,
},
},
…後略…
これで表示されるようになります。個人的には「再構築」という表現の方が分かりやすいです。

sort_method モディファイア(その2)
Movable Type で、カテゴリやフォルダを並べ替えるための sort_method モディファイアの紹介です。「sort_method モディファイア(その1)」の続きです。
1.ソート条件に対応するプラグインの作成
指定した条件に対応するプラグインを作成します。ここでは「sort_method モディファイア(その1)」で紹介したソースコードを利用します。パッケージ名は少し変えてますが、次の2ファイルを作成します。
config.yaml
id: CategorySorting
name: CategorySorting
CategorySorting.pm
package CategorySorting;
my %category_priorities = (
'foo' => 1,
'bar' => 2,
);
sub cat_sort ($$) {
my ($a, $b) = @_;
my $a_pri = $category_priorities{$a->label} || 1000;
my $b_pri = $category_priorities{$b->label} || 1000;
unless ($a_pri == 1000 && $b_pri == 1000) {
return $a_pri <=> $b_pri;
}
return $a->label cmp $b->label;
}
ハッシュ変数 %category_priorities にカテゴリの優先度を設定します。このプラグインではカテゴリ名をソート条件にしており、「foo」というカテゴリを1番目に、「bar」というカテゴリを2番目に並ぶように、優先度を設定しています。
変数 $a と $b には、ソート対象のカテゴリオブジェクトが設定されます。ソートするカテゴリの優先度がハッシュ変数%category_prioritiesに設定されていれば、2つのカテゴリのソート結果を返却し、そうでない場合は直接カテゴリ名でのソート結果を返却します。
プラグイン作成後、次のようなディレクトリ構成になるように plugins ディレクトリに2つのファイルをアップロードします。
plugins/
CategorySorting/
config.yaml
lib/
CategorySorting.pm
システム管理画面の「ツール」→「プラグイン」で「CategorySorting」が表示されればOKです。
2.sort_method モディファイアの追加
MTTopLevelCategories タグなどに、sort_method モディファイアを追加し、ソートする条件を指定します。ここではソート条件として、作成したプラグインのメソッド名を指定します。
<mt:IfArchiveTypeEnabled archive_type="Category">
<div class="widget-archive widget-archive-category widget">
<h3 class="widget-header">カテゴリ</h3>
<div class="widget-content">
<mt:TopLevelCategories sort_method="CategorySorting::cat_sort">
<mt:SubCatIsFirst>
<ul>
</mt:SubCatIsFirst>
<mt:If tag="CategoryCount">
<li><a href="<$mt:CategoryArchiveLink$>"<mt:If tag="CategoryDescription"> title="<$mt:CategoryDescription remove_html="1" encode_html="1"$>"</mt:If>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
<mt:Else>
<li><$mt:CategoryLabel$>
</mt:If>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast>
</ul>
</mt:SubCatIsLast>
</mt:TopLevelCategories>
</div>
</div>
</mt:IfArchiveTypeEnabled>
ソート条件は各階層単位に適用されます。
sort_method モディファイア(その1)
Movable Type の MTSubCategories タグや MTTopLevelCategories タグでは sort_method というカテゴリを並び替えるモディファイアが利用可能です。
ネットで情報を検索すると、sort_method のサンプルで大体同じソースコードが登場するのですが、発信元は David Raynes 氏の SubCategories プラグインのようです。
また、よくみかけるソースコードは以下にありました。
SubCategories Plugin Documentation
package rayners::CategorySorting;
my %category_priorities = (
# I want 'MT Plugins' to appear before 'MT Brainstorming'
# followed by the rest
'MT Plugins' => 1
'MT Brainstorming' => 2,
# And I want 'SubCategories' to be the first plugin listed,
# followed by 'Entry' and then the rest of the plugins
'SubCategories' => 1,
'Entry' => 2,
);
sub cat_sort ($$) {
my ($a, $b) = @_;
my $a_pri = $category_priorities{$a->label} || 1000;
my $b_pri = $category_priorities{$b->label} || 1000;
unless ($a_pri == 1000 && $b_pri == 1000) {
# At least one of them has a defined priority
# so sort on that
return $a_pri <=> $b_pri;
}
# Both are the default value (1000)
# so sort alphabetically
return $a->label cmp $b->label;
}
FC2ブログテンプレート修正(フッタ付きリキッドレイアウト対応)
現在配布中の「FC2ブログテンプレート」に、フッタ付きリキッドレイアウトを追加しました。また、カラムレイアウトをこれまでより簡単に切り替えられるように改善しました。CSSのフォントサイズなども見直しました。
これまで配布していたテーマのリキッドレイアウトは、CSSレイアウトの構造上、背景つきのフッタを表示させると、フッタの表示がサイドバーに重なってしまうという欠点があったため、簡易なテキストのみをフッタとして中央カラムに表示していました。
今回、リキッドレイアウトについては、ネガティブマージンを利用したCSSレイアウトに変更したので、背景つきのフッタもサイドバーに重ならずに表示させることができると思います。
今回追加したリキッドレイアウトは以下の 3 種類です。いずれもフッターを表示します(画像はWordPressのものですが大体同じです)。
3カラムリキッド(左右サイドバー)
![]()
3カラムリキッド(右サイドバー)
![]()
なお、デフォルトはレイアウトは、次の3カラム固定レイアウトです。
![]()
テンプレートは「FC2ブログテンプレート」にあります。
月別アーカイブリストの年別表示(ダイナミックパブリッシング対応:年・月を昇順に表示)
Movable Type の「月別アーカイブリスト」のダイナミックパブリッシング対応版です。
「月別アーカイブリストの年別表示(ダイナミックパブリッシング対応)」では、年・月を降順に表示するパターンしか掲載していませんでしたが、今回は昇順に表示するパターンも作りました。

デフォルトテンプレート用の「月別アーカイブリスト」は次の通りです。
<mt:ifArchiveTypeEnabled archive_type="Monthly">
<mt:ArchiveList archive_type="Monthly" sort_order="ascend">
<mt:ArchiveListHeader>
<div class="widget-archive-monthly widget-archive widget">
<h3 class="widget-header"><$mt:ArchiveTypeLabel$> <a href="<$mt:Link template="archive_index"$>">アーカイブ</a></h3>
<div class="widget-content">
<ul>
<li><mt:ArchiveDate format="%Y年" />
<ul>
</mt:ArchiveListHeader>
<mt:ArchiveDate format="%Y年" setvar="current_year" />
<mt:if tag="ArchivePrevious">
<mt:ArchivePrevious><mt:ArchiveDate format="%Y年" setvar="prev_year" /></mt:ArchivePrevious>
</mt:if>
<mt:if name="prev_year">
<mt:if name="current_year" ne="$prev_year">
</ul>
</li>
<li><mt:GetVar name="current_year" />
<ul>
</mt:if>
</mt:if>
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle regex_replace="/\d+年/",""$> (<$mt:ArchiveCount$>)</a></li>
<mt:ArchiveListFooter>
</ul>
</li>
</ul>
</div>
</div>
</mt:ArchiveListFooter>
</mt:ArchiveList>
</mt:ifArchiveTypeEnabled>
Movable Type(MT)の特殊変数の入れ子
小ネタです。Movable Type(MT)の特殊変数は、次のような入れ子でも正常に動作します。
<mt:var name="foo" value="1","2","3","4","5" />
<mt:var name="bar" value="a","b","c","d","e" />
<mt:loop name="foo">
<mt:var name="__counter__" />:<mt:var name="__value__" />
<mt:loop name="bar">
<mt:var name="__counter__" />:<mt:var name="__value__" />
</mt:loop>
</mt:loop>
実行結果
1:1 1:a 2:b 3:c 4:d 5:e 2:2 1:a 2:b 3:c 4:d 5:e 3:3 1:a 2:b 3:c 4:d 5:e 4:4 1:a 2:b 3:c 4:d 5:e 5:5 1:a 2:b 3:c 4:d 5:e
次の場合も同様に可能です。
<mt:Entries>
<mt:getvar name="__counter__" />
<mt:EntryAssets type="image">
<mt:getvar name="__counter__" />
</mt:EntryAssets>
</mt:Entries>
日本語ドメインによると EntryTrackbackData タグの不具合
Movable Type を利用されている方から、「(X)HTML コメントの『-->』がページに表示されます」というご質問をいただいたので、情報を展開しておきます。認識が誤ってたらご指摘ください。
前提として、「-->」という文字は記事やテンプレート上には含まれていません。
それで、質問を頂いた方のページを拝見したところ、EntryTrackbackData タグで次のようなトラックバック用データの RDFを出力しており、この部分の(X)HTMLコメント終了タグが表示されていました。
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description
rdf:about="http://www.xn--xxxxxxx/post.html"
trackback:ping="http://www.xn--/mt/mt-tb.cgi/1"
dc:title="foo"
dc:identifier="http://www.xn--xxxxxxx/post.html"
dc:subject=""
dc:description="foo..."
dc:creator="hoge"
dc:date="2009-12-03T06:51:30+00:00" />
</rdf:RDF>
-->
このページをAnother HTML-lint gateway でチェックしたところ、「コメント中に `--` を書くことはできません。」というエラーになるので、日本語ドメインに含まれる「--」が影響しているものと思われます。
EntryTrackbackData タグに comment_wrap モディファイアを与えるとか、regex_replace モディファイアで出力データを加工するなど、色々手はありそうですが、とりあえずこのテンプレートタグを取り除けば解消します。
BUFFALO マイクロUSBメモリー ブラック 8GB RUF2-PS8G-BK
「バッファローコクヨサプライ BUFFALO カードリーダー/ライター microSD対応 超コンパクト ブラック BSCRMSDCBK」に引き続き、USBメモリーも購入しました。
![]() | BUFFALO マイクロUSBメモリー ブラック 8GB RUF2-PS8G-BK バッファロー 2009-07-08 売り上げランキング : 432 Amazonで詳しく見る by G-Tools |
ノートPCに挿しても出っぱりがほとんどなく、助かります。Amazon のレビューを見ると、カーオーディオで使っている方が多いようです。
下の画像は「バッファローコクヨサプライ BUFFALO カードリーダー/ライター microSD対応 超コンパクト ブラック BSCRMSDCBK」ですが、こんな感じです。

月別アーカイブリストの年別表示(ダイナミックパブリッシング対応)
Movable Type 4 以降で、月別アーカイブリストの年別表示を行なうカスタマイズです。

以前エントリーした「月別アーカイブリストの年別表示」では、ダイナミックパブリッシングでは正常に動作しなかったため、サブテンプレートに修正を加えました。
デフォルトテンプレート用の月別アーカイブリストは次の通りです。
<mt:ifArchiveTypeEnabled archive_type="Monthly">
<mt:ArchiveList archive_type="Monthly">
<mt:ArchiveListHeader>
<div class="widget-archive-monthly widget-archive widget">
<h3 class="widget-header"><mt:ArchiveTypeLabel /> <a href="<mt:Link template="archive_index" />">アーカイブ</a></h3>
<div class="widget-content">
<ul>
<li><mt:ArchiveDate format="%Y年" />
<ul>
<mt:ArchiveDate format="%Y年" setvar="year" />
</mt:ArchiveListHeader>
<mt:if tag="archivePrevious">
<mt:ArchivePrevious><mt:ArchiveDate format="%Y年" setvar="prev_year" /></mt:ArchivePrevious>
</mt:if>
<mt:ArchiveDate format="%Y年" setvar="current_year" />
<mt:if tag="archiveNext">
<mt:ArchiveNext><mt:ArchiveDate format="%Y年" setvar="next_year" /></mt:ArchiveNext>
</mt:if>
<mt:if name="next_year">
<mt:if name="current_year" ne="$next_year">
</ul>
</li>
<li><mt:GetVar name="current_year" />
<ul>
</mt:if>
</mt:if>
<li><a href="<mt:ArchiveLink />"><mt:ArchiveTitle regex_replace="/\d+年/","" /> (<mt:ArchiveCount />)</a></li>
<mt:ArchiveListFooter>
</ul>
</li>
</ul>
</div>
</div>
</mt:ArchiveListFooter>
</mt:ArchiveList>
</mt:ifArchiveTypeEnabled>
参考サイトは下記です。ありがとうございました。
IncludeTemplateViewer プラグイン
Category:[自作プラグイン]
Tag:[IncludeTemplateViewer, MovableType, Plugin]
Permalink
Movable Type 5 のテンプレートモジュールおよびウィジェット編集画面で、インクルード元のテンプレート一覧を出力するプラグインを公開します。
1.概要
次の画面はクラシックブログテーマの「ブログ記事の概要」テンプレートモジュールですが、右側の「インクルード元テンプレート」がプラグインで追加されたエリアです。
これでインクルード元のテンプレートを知ることができます。といってもインクルード元のテンプレートの内容から
module="テンプレートモジュール名"
または
widget="ウィジェットテンプレート名"
を探して表示しているだけです。
2.プラグインのダウンロード
下記の IncludeTemplateViewer.zip をクリックして、プラグインアーカイブをダウンロード。
2010.01.18 初版
2011.07.25 v.0.10 MT5.1対応/グローバルテンプレート対応
- IncludeTemplateViewer_0_01.zip(MT5.0x用)
- IncludeTemplateViewer_0_10.zip(MT5.1x用)
3.プラグインのインストール
プラグインアーカイブを展開し、中にある IncludeTemplateViewer フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。
システム管理画面のプラグイン一覧で、「IncludeTemplateViewer~」が表示されればインストール完了です。

4.価格
本プラグインの価格は次の通りです。
- 個人ライセンス(無償):無償
- 上記以外の有償ライセンス:1000円/1サーバ
なお、個人ライセンスの方も、プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
有償ライセンスでご利用の場合、プラグインの動作確認後、下記から指定の金額をお支払いください。
MTDDC Tokyo の参加申し込み再開
2月5日に行なわれる「MTDDC Tokyo (Movable Type Developers & Designers Conference Tokyo) 」は申し込み多数で応募が一旦締め切られましたが、再開したようです。
MTDDC Tokyo の参加申し込み再開と当日のプログラム
2010年2月5日に東京・ベルサール九段で開催する MTDDC Tokyo へのたくさんのお申し込みありがとうございます。定員を越える参加申し込みをいただき、申し込み受付を一時終了しておりましたが、イベントの規模を拡大し追加の参加申し込み受付を開始しました。当日のプログラムも公開致しますので、ぜひ参加をご検討ください。
- 日時:2010年2月5日 (金) 14:00 ~ 19:00 (予定)
- 会場:東京・ベルサール九段 Room1, 2
- 定員:150名 (応募者多数の場合抽選)
- 参加費:無料
- メディア協賛:gihyo.jp
- 協力:毎日コミュニケーションズ
2月6日にはハッカソンも開催されます。
- 日時:2010年2月6日 (土) 10:00 ~ 18:00
- 会場:シックス・アパート株式会社
- 議題:Movable Type に関連するプログラミング、テンプレート開発、利用法に関する質問会など
- 持ちもの:ご自分の PC とハッカー魂
- 定員:15名ほど
- 参加費:無料
私は今回も無理そうです。すいません。
高層マンションに
タグ別ブログ記事一覧
Movable Type で「タグ別にブログ記事一覧を表示したい」というご質問がありましたので、本エントリーで紹介致します。
タグ別にブログ記事一覧を表示するには、次のサブテンプレートをご利用ください。
<mt:Entries>
<mt:EntryIfTagged>
<mt:EntryTags>
<mt:TagName setvar="tag_name" />
<mt:SetVarBlock name="entry_title">
<li><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a></li>
</mt:SetVarBlock>
<mt:SetVar name="data{$tag_name}" value="$entry_title" append="1" />
</mt:EntryTags>
</mt:EntryIfTagged>
</mt:Entries>
<mt:loop name="data">
<ul>
<li><mt:GetVar name="__key__" />
<ul>
<mt:GetVar name="__value__" />
</ul>
</li>
</ul>
</mt:loop>
簡単ですが、以上です。
2010.10.13
テンプレートに一部誤りがあったので修正しました。
ELECOM Bit Grast 巻き取り式3ボタン光学式マウス
最近、尋常でない仕事の忙しさで家に帰れないことが多く、ホテル住まいが増えました。で、ノートPCは持ち歩いていていて、ホテルでネットしてますが、マウスを使いたいので小型のマウスを購入。
![]() | ELECOM Bit Grast 巻き取り式3ボタン光学式マウス Sサイズ ブラック M-BGURBK エレコム 2009-06-26 売り上げランキング : 4707 Amazonで詳しく見る by G-Tools |
巻き取り式なので、カバンに入れてもすっきりします。本体はかなり小さいですが、大きいマウスは苦手なので意外に使いやすいです。
Movable Type 5.0(MT5.0)の Include タグと append モディファイア・prepend モディファイアの組み合わせについて
Movable Type 5.0(MT5.0)で Include タグと append モディファイア・prepend モディファイアを組み合わせた場合の、いわゆる「4.1 ライクな実装」が正常に動作しないようです。
2010.05.22 この問題はバージョン5.02で修正されました。
以下にそのパターンを示します。青色・赤色部分は関連箇所です。
某インデックステンプレート
<mt:SetVarBlock name="html_head">
<script type="text/javascript" src="http://.../"></script>
</mt:SetVarBlock>
…中略…
<mt:Include module="HTMLヘッダー" />
…後略…
HTMLヘッダー
<mt:SetVarBlock name="html_head" prepend="1">
<script type="text/javascript" src="<$mt:Link template="javascript"$>"></script>
</mt:SetVarBlock>
<meta http-equiv="Content-Type" content="text/html; charset=<$mt:PublishCharset$>" />
<meta name="generator" content="<$mt:ProductName version="1"$>" />
<link rel="stylesheet" href="<$mt:Link template="styles"$>" type="text/css" />
<link rel="start" href="<$mt:BlogURL$>" title="Home" />
<link rel="alternate" type="application/atom+xml" title="Recent Entries" href="<$mt:Link template="feed_recent"$>" />
<mt:var name="html_head" />
<$mt:CCLicenseRDF$>
期待される結果
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="Movable Type Pro 5.01" />
<link rel="stylesheet" href="http://user-domain/styles.css" type="text/css" />
<link rel="start" href="http://user-domain/" title="Home" />
<link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://user-domain/atom.xml" />
<script type="text/javascript" src="http://user-domain/mt.js"></script>
<script type="text/javascript" src="http://.../"></script>
実際の再構築結果
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="Movable Type Pro 5.01" />
<link rel="stylesheet" href="http://user-domain/styles.css" type="text/css" />
<link rel="start" href="http://user-domain/" title="Home" />
<link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://user-domain/atom.xml" />
<script type="text/javascript" src="http://user-domain/mt.js"></script>
1
Crypt プラグイン
Movable Type で文字列の暗号化 (ハッシュ化) を行うプラグインです。
1.機能
テンプレートタグに、プラグインで提供する crypt モディファイアを与えることで出力された内容を暗号化します。このプラグインを利用すれば、.htpasswd ファイルをサイトにそのまま出力できます。
セキュリティとか問題あるかもですが、「とりあえず作ってみました」レベルです。
2.プラグインのダウンロード
下記のリンクからプラグインアーカイブをダウンロードし、任意のフォルダに保存してください。
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
3.インストール
プラグインアーカイブを解凍し、中にある Crypt フォルダを plugins ディレクトリにアップロードしてください。
ブログ管理画面より「システム」→「プラグイン」でプラグイン一覧を表示し、「Crypt」が正常に表示されればOKです。
4.利用方法
インデックステンプレートを利用して .htpasswd を出力します。
<mt:var name="passwd" value="hogehoge" />
foo:<mt:var name="passwd" crypt="1" />
インデックステンプレートは再構築後、削除するか(生成したファイルは多分削除されません)、公開オプションを「手動」に変更しておくとよいでしょう。
ちなみに .htaccess は次のような感じでしょうか。こちらもインデックステンプレートで出力できます。
AuthType Basic
AuthName member
AuthUserFile <mt:BlogSitePath />.htpasswd
<Limit GET>
require user foo
</Limit>
ブロックタグにelseタグを組み込んで判定する
Movable Type の Actions タグには、繰り返し処理対象がない場合に else タグが使えるようになっています。
ふと、思い立って、次のように Entries タグでテストしたところ、正常に動作しました。
<mt:Entries>
<mt:EntryTitle />
<mt:else>
No Data.
</mt:Entries>
次のように、ブロックタグを入れ子にした状態で個別に判定することも可能です。
<mt:Entries>
<mt:EntryTitle />
<mt:Comments>
<mt:CommentBody />
<mt:else>
No Comment.
</mt:Comments>
<mt:else>
No Entry.
</mt:Entries>
以上です。
基本からしっかりわかる Movable Type 5
紙媒体としては、初の Movable Type 5 向け書籍です。
![]() | 基本からしっかりわかるMovable Type 5 シックス・アパート株式会社 毎日コミュニケーションズ 2010-01-22 売り上げランキング : 6369 Amazonで詳しく見る by G-Tools |
情報がないので、MYCOMからの引用です。
「Movable Type 5」の入門書です。Movable Typeを初めて使う人はもちろん、一度チャレンジしてつまずいてしまった人、Movable Typeで何ができるのかを手早く理解したい人にも最適の1冊です。 また、システム導入するIT担当者にも、実際の入力を担当する現場の方にも役立つ内容になっています。 Movable Typeのインストールから、サイトの開設、簡単なカスタマイズやサイトの管理までふくめ、Movable Typeで可能なひととおりのことが理解・操作できるように、丁寧に解説します。 もちろん新バージョンで追加される機能についてもしっかりフォロー。この本を読めばいち早く「MT5」を理解することができます。 本書は、シックス・アパート社による監修を受けた書籍です。
著者はお馴染みの田口和裕さんです。入門書なので、Movable Type 5 を初めて利用する方にはお勧めです。
[入門編]
- Chapter 1 Movable Type 入門
- 1-1 Movable Type 5とは
- 1-2 Movable Type 5の新機能
- 1-3 Movable Type 5を使うには
- 1-4 Movable Typeの仲間達
- Chapter 2 Movable Type5 のインストール
- 2-1 プログラムをダウンロードする
- 2-2 プログラムを解凍する
- 2-3 プログラムをアップロードする(Win)
- 2-4 プログラムをアップロードする(Mac)
- 2-5 データベースの設定を行う
- 2-6 MTの管理画面にアクセスし設定を行う
- 2-7 最初のブログを作る
- Chapter 3 管理画面を理解する
- 3-1 管理画面の構成
- 3-2 ユーザーダッシュボード
- 3-3 ブログ管理画面
- 3-4 ウェブサイト管理画面
- 3-5 システム管理画面
[運用編]
- Chapter 4 ブログ記事を投稿する
- 4-1 ブログ記事とは
- 4-2 ブログ記事の作成
- 4-3 リンクや文字装飾
- 4-4 画像やファイルの挿入
- 4-5 公開設定
- 4-6 トラックバックを送信する
- 4-7 ブログ記事の管理
- Chapter 5 カテゴリを作成する
- 5-1 カテゴリとは
- 5-2 カテゴリの作成
- 5-3 ブログ記事にカテゴリを指定する
- 5-4 カテゴリの編集
- Chapter 6 アイテムを管理する
- 6-1 アイテムとはなにか
- 6-2 フォルダの作成
- 6-3 アイテムのアップロード
- 6-4 アイテムの管理・編集
- Chapter 7 コメントとトラックバックを管理する
- 7-1 コミュニケーション設定
- 7-2 コメントの管理
- 7-3 トラックバックの管理
- 7-4 ニュースやログを確認する
[活用編]
- Chapter 8 テーマを使ってデザインを変更する
- 8-1 テーマとは
- 8-2 テーマを変更する
- 8-3 テーマのエクスポート
- 8-4 ブログスタイルの選択
- Chapter 9 テンプレートでデザインを変更する
- 9-1 ページ生成の仕組み
- 9-2 テンプレートとは
- 9-3 ウィジェットを使ってサイドバーをカスタマイズ
- 9-4 テンプレートを直接カスタマイズ
- Chapter 10 カスタムフィールドを活用する
- 10-1 カスタムフィールドとは
- 10-2 カスタムフィールドの作成
- 10-3 カスタムフィールドをブログに表示
- Chapter 11 ウェブページを活用する
- 11-1 ウェブページとは
- 11-2 ウェブページの作成
- 11-3 ウェブページの管理
- Chapter 12 ウェブサイトを管理する
- 12-1 ウェブサイトとは
- 12-2 ウェブサイトの作成
- 12-3 ウェブサイトの管理
- Chapter 13 カスタマイズの実践
- 13-1 カスタマイズの方法
- 13-2 簡単なカスタマイズ1 記事概要の表示方法を変更
- 13-3 簡単なカスタマイズ2 ウィジェットの挿入
- 13-4 簡単なカスタマイズ3 タイトルバナーの挿入
- Chapter 14 ユーザー管理
- 14-1 ユーザー管理の基本
- 14-2 ユーザーの作成
- 14-3 ユーザー権限の付与
- Chapter 15 メンテナンス
- 15-1 ブログ記事のエクスポートとインポート
- 15-2 ブログのバックアップ
Movable Type 5.0(MT5.0)でアーカイブURLにサブドメインを適用する
Movable Type 5.0(MT5.0)でアーカイブURLにサブドメインを適用する方法です。
まず、「アーカイブをサイトパスとは別のパスで公開する」をチェックします。このときにはサブドメインの設定はできません。
とりあえずアーカイブパスとアーカイブURLの末尾に「archives」など、適当な文字を入力して保存します。何か入力しないと保存できません。
一旦保存したあと、「アーカイブをサイトパスとは別のパスで公開する」をチェックすると、サブドメインの指定が可能になります。
さきほど設定した「archives」を削除して、サブドメインを入力して、「保存」をクリックします。
これで完成です。
Movable Type 5.01 リリース
Movable Type 5.01 がリリースされました。
リリースノートから分かるとおり、5.01 では、5.0 の多くのバグフィックスが行われています。ちなみに、Movable Type 5.0-ja と Movable Type 5.01-ja の差分ファイルは以下です(見落としてたらすいません)。
- addons/Commercial.pack/config.yaml
- addons/Commercial.pack/lib/CustomFields/App/CMS.pm
- addons/Community.pack/lib/MT/App/Community.pm
- lib/MT/App/CMS.pm
- lib/MT/Asset/Image.pm
- lib/MT/AtomServer.pm
- lib/MT/BackupRestore.pm
- lib/MT/Blog.pm
- lib/MT/CMS/Asset.pm
- lib/MT/CMS/Blog.pm
- lib/MT/CMS/Comment.pm
- lib/MT/CMS/Common.pm
- lib/MT/CMS/Entry.pm
- lib/MT/CMS/Export.pm
- lib/MT/CMS/Plugin.pm
- lib/MT/CMS/Template.pm
- lib/MT/CMS/Tools.pm
- lib/MT/CMS/User.pm
- lib/MT/Core.pm
- lib/MT/Image.pm
- lib/MT/L10N/de.pm
- lib/MT/L10N/es.pm
- lib/MT/L10N/fr.pm
- lib/MT/L10N/ja.pm
- lib/MT/L10N/nl.pm
- lib/MT/Template/Tags/Asset.pm
- lib/MT/Template.pm
- lib/MT
- mt-static/codemirror/index.html
- mt-static/codemirror/js/stringstream.js
- mt-static/codemirror/js/util.js
- mt-static/codemirror/story.html
- mt-static/jquery/jquery.mt.min.js
- php/lib/prefilter.mt_to_smarty.php
- php/mt.php
- plugins/MultiBlog/lib/MultiBlog.pm
- plugins/StyleCatcher/lib/StyleCatcher/CMS.pm
- tmpl/cms/dialog/theme_element_detail.tmpl
- tmpl/cms/include/header.tmpl
また、AssetFileExtensions という環境変数が追加されました。
環境変数 AssetFileExtensions を追加しました。アイテムとしてアップロードすることができるファイルの拡張子を、カンマ(,)区切り指定します。拡張子の指定には、正規表現を利用できます。例えば、jpe?g という記法で jpeg と jpg ファイルの両方を指定します。この環境変数を指定しない場合は、すべての種類のファイルをアップロードできます。
が、肝心の環境変数に typo があるようです。
diff -r MT-5.0-ja/lib/MT/Core.pm MT-5.01-ja/lib/MT/Core.pm
1c1
< # Movable Type (r) (C) 2001-2009 Six Apart, Ltd. All Rights Reserved.
---
> # Movable Type (r) (C) 2001-2010 Six Apart, Ltd. All Rights Reserved.
463a464
> 'AssetFileExteensions' => { default => undef },
919a921
> 'edit_own_entry' => 1,
1104a1107
> 'view_commenter' => 1,
なお、今回は「サインインしたユーザーが特殊な操作をおこなうと、権限のない一部の管理画面にアクセスすることができる。」という問題のセキュリティアップデートも行われています。
問題の対象となるバージョン
- Movable Type Open Source 4.x
- Movable Type 4.x (Professional Pack, Community Pack を同梱)
- Movable Type Commercial 4.x (Professional Packを同梱)
- Movable Type Enterprise 4.x
- Movable Type Open Source 5.0
- Movable Type 5.0 (Professional Pack, Community Pack を同梱)
提供を開始するバージョン
- Movable Type Open Source 4.27
- Movable Type 4.27 (Professional Pack, Community Pack を同梱)
- Movable Type Commercial 4.27 (Professional Packを同梱)
- Movable Type Enterprise 4.27
- Movable Type Open Source 5.01
- Movable Type 5.01 (Professional Pack, Community Pack を同梱)
OpenMelody 0.9.9
昨年末に Melody 0.9.9がリリースされていましたので紹介します。以下のリンクからダウンロードできます。
インストールディレクトリのログイン画面です。

ロシア語にも対応しているようです。

ブログ記事作成画面です。本文右上のフルスクリーン切り替え用のアイコンが追加されています。
設定画面です。画面では分かりませんがタブメニューをクリックするとさくさく切り替わります。
プラグイン画面のレイアウトが変更されています。こちらもさくさく切り替わります。
足利市公式ホームページ再構築業務委託業者募集のお知らせ
足利市の市長さんより直々に(と書くとおおげさですが)依頼を頂きましたので、「足利市公式ホームページ再構築業務委託業者募集」のお知らせを致します。
足利市では公式ホームページの再構築のため、コンテンツ・マネジメント・システム(CMS)の新規導入を行います。
つきましては、下記の通り構築業者を公募型プロポーザル方式により募集します。
ということで、足利市公式ホームページのCMS化を行なわれるようで、現在、CMS構築業者を募集されています。「CMSを使いこなせる業者さんには幅広く参加していただきたい」ということで、この場をお借りしてのお知らせです。
詳細は以下のリンクからどうぞ。
ちなみに、以下は現在の足利市公式ホームページです。
それにしても「再構築」という言葉を見て、Movable Type しか思い出せないのは職業病でしょうか(笑)。
MultiCalendar プラグイン v0.02
複数ブログのカレンダー情報を表示する際に使用する「MultiCalendar プラグイン」をMovable Type 5 用にバージョンアップしました。
1.変更箇所
変更は、ダイナミックパブリッシング部分を Movable Type 5.0 に対応させたのみです。
2.ダウンロード
プラグインは以下のリンクからダウンロードしてください。
WordPress の the_date を変更して記事ごとに日付を表示する
WordPress で the_date() という関数を使っていると、同じ日に複数の記事がある場合でも、次のように日付が一回した表示されません(最新バージョンの挙動は未確認です)。

という質問を頂きましたので、本エントリーでは、次のように記事ごとに日付を出力するように変更する方法を紹介します。

方法は簡単で、the_date() を the_time() に変更します。
以下は当サイトで配布しているWordPress テーマの変更箇所です。
変更前
…前略…
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="entry" id="post<?php the_ID(); ?>">
<?php the_date('Y.m.d', '<p class="date">', '</p>') ?>
<h2 class="entry-header"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>の記事ページへ"><?php the_title(); ?></a></h2>
…後略…
変更後
…前略…
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="entry" id="post<?php the_ID(); ?>">
<p class="date"><?php the_time('Y.m.d'); ?></p>
<h2 class="entry-header"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>の記事ページへ"><?php the_title(); ?></a></h2>
…後略…
修正するテンプレートは以下の2つです(多分)。
- メインインデックスのテンプレート (index.php)
- アーカイブ (archive.php)
2009年作成の Movable Type(MT)プラグイン一覧
2009年に作成したMovable Type(MT)プラグイン一覧です。全部で16作ってました。ちなみに、個人的に一番役に立っているプラグイン ImageSizGenerator です。
1.BlogIDViewer(MT5未対応)
Movable Type 4 で、ブログIDを管理画面に表示するプラグインです。


2.Split(MT5対応確認済)
Perl の split 機能を提供するグローバルモディファイアです。split モディファイアの値に区切り文字を設定すれば、区切り文字で split した配列変数を返却します。
3.UserNameEditController(MT5未対応)
一般ユーザーがユーザー情報を編集するとき、「ユーザー名」や「表示する名前」の変更を禁止します。

4.ExcerptRichText(MT5対応確認済)
ブログ記事投稿画面・ウェブページ作成画面の概要フィールドを、本文・追記と同様にタブで選択し、リッチテキストが使えるようにするプラグインです。

5.HatenaBookmarkAction(MT4専用)
Movable Type 4.25 からバンドルされるモーション(ActionStream)に、はてなブックマークのアクションストリームを追加するプラグインです。

6.MultiCalendar(MT5対応確認済)
Movable Type 4 のカレンダー処理で、MTCalendar タグの代わりに、ブログIDを指定できる MTMultiCalendar タグを提供します。
このプラグインを利用してカスタマイズすれば複数ブログの情報をまとめて表示できます。

7.EntryNotifier(MT5対応未確認)
ブログ記事保存後に、アドレス帳に登録されたメールアドレスに更新通知を送信します。
8.HTTPUserAgent
HTTP ユーザーエージェントを表示する拡張テンプレートタグを提供します。このプラグインとダイナミックパブリッシングを利用すれば、テンプレート上で HTTP ユーザーエージェントを振り分けられるようになります。
9.Email2AddressBook(MT5対応未確認)
空メールを送信することで Movable Type のアドレス帳にメールアドレスが登録できます。動作イメージは次の通りです。

10.CommentCustomField(MT5対応確認済)
Movable Type のコメント投稿フォームに、テキストフィールド・テキストエリアのフィールド追加や、画像のアップロードを可能にします。

11.EditFieldController(MT5対応未確認)
ブログ記事編集画面・ウェブページ編集画面のフィールドの表示・非表示を制御します。
下の画像は、特定のユーザーがブログ記事を編集する場合に、タイトルフィールドを書き込み禁止にし、本文以外のフィールドを非表示にした例です。
12.InvalidateCodeMirror(MT5専用)
MT5のテンプレート編集画面で CodeMirror を無効にします。

13.DirectiveViewer(MT4/MT5)
環境変数の設定状況を表示します。

14.ImageSizeGenerator(MT5確認済)
ブログ記事投稿時、本文に記述した img 要素に対し、width 属性と height 属性を自動的に付与します。
ブログ記事保存前

ブログ記事保存後

15.EntryIDViewer(MT5専用)
ブログ記事IDを管理画面に表示します。

16.TableSelectEnabler(MT5専用)
Movable Type 5.0 のブログ・ウェブページ・コメントの各一覧画面から、ブログ・ウェブページ・コメントを選択しやすくします。
Amazon 2009年年間注文ランキング
あけましておめでとうございます。本年もよろしくお願い致します。
ということで、2009年Amazon 年間の注文ランキングです。
ダントツ1位は藤本壱さんの「MTOS活用テクニック」でした。また3位・5位・6位と拙著を多く購入くださり、ありがとうございます。
1位:MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現!
![]() | MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現! ラトルズ 2009-02 売り上げランキング : 110488 by G-Tools |
2位:GriffinTechnology iTalk Pro GRI-IP-000063
![]() | GriffinTechnology iTalk Pro GRI-IP-000063 Griffin Technology 2006-11-10 売り上げランキング : 17959 by G-Tools |
3位:MovableType逆引きデザイン事典[4.2/4.1対応]
![]() | Movable Type逆引きデザイン事典[4.2/4.1対応] 翔泳社 2009-04-21 売り上げランキング : 287201 by G-Tools |
3位:基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)
![]() | 基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books) 毎日コミュニケーションズ 2008-09-20 売り上げランキング : 8835 by G-Tools |
5位:Movable Type 4.2 パーフェクトガイド
![]() | Movable Type 4.2 パーフェクトガイド 毎日コミュニケーションズ 2008-07-31 売り上げランキング : 120429 by G-Tools |
6位:CMSとして使うMovable Typeガイドブック
![]() | CMSとして使うMovable Typeガイドブック 翔泳社 2008-03-14 売り上げランキング : 94194 by G-Tools |
6位:即戦プロ技 Movable Typeデザインテンプレートコレクション
![]() | 即戦プロ技 Movable Typeデザインテンプレートコレクション 毎日コミュニケーションズ 2009-05-13 売り上げランキング : 43393 by G-Tools |
8位:Movable Typeデザインカスタマイズブック MT4.2対応 クリエイターのためのValue Design
![]() | Movable Typeデザインカスタマイズブック MT4.2対応 クリエイターのためのValue Design ソフトバンククリエイティブ 2008-09-27 売り上げランキング : 165990 by G-Tools |
9位:Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100
![]() | Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。 インプレスジャパン 2008-09-12 売り上げランキング : 4932 by G-Tools |
10位:Movable Type サイトデザイン&レシピ事典 Movable Type4.2対応
![]() | Movable Type サイトデザイン&レシピ事典 Movable Type4.2対応 毎日コミュニケーションズ 2009-02-17 売り上げランキング : 26059 by G-Tools |
11位:これからはじめる MovableTypeの本 <MovableType4.2対応版> (自分で選べるパソコン到達点)
![]() | これからはじめる MovableTypeの本 (自分で選べるパソコン到達点) 技術評論社 2009-01-07 売り上げランキング : 23316 by G-Tools |
12位:基本からしっかりわかる WordPress 2.7 カスタマイズブック (Web Designing BOOKS)
![]() | 基本からしっかりわかる WordPress 2.7 カスタマイズブック (Web Designing BOOKS) 毎日コミュニケーションズ 2009-02-17 売り上げランキング : 71280 by G-Tools |
13位:DreamweaverとMovableTypeで作る テンプレートカスタマイズレッスン
![]() | DreamweaverとMovableTypeで作る テンプレートカスタマイズレッスン 技術評論社 2009-03-27 売り上げランキング : 120410 by G-Tools |
14位:Logitec iPod対応 ICレコーダーアダプタ LIC-IREC01
![]() | Logitec iPod対応 ICレコーダーアダプタ LIC-IREC01 ロジテック 2008-03-18 売り上げランキング : 5488 by G-Tools |
15位:Movable Typeプラグイン開発入門
![]() | Movable Typeプラグイン開発入門 ラトルズ 2009-04 売り上げランキング : 227605 by G-Tools |
15位:ウェブはバカと暇人のもの (光文社新書)
![]() | ウェブはバカと暇人のもの (光文社新書) 光文社 2009-04-17 売り上げランキング : 3727 by G-Tools |
15位:現場のプロから学ぶXHTML+CSS
![]() | 現場のプロから学ぶXHTML+CSS CSS Nite 毎日コミュニケーションズ 2008-11-11 売り上げランキング : 9107 by G-Tools |
18位:WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!
![]() | WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる! 秀和システム 2009-02 売り上げランキング : 8616 by G-Tools |
18位:さあ、才能(じぶん)に目覚めよう―あなたの5つの強みを見出し、活かす
![]() | さあ、才能(じぶん)に目覚めよう―あなたの5つの強みを見出し、活かす 田口 俊樹 日本経済新聞出版社 2001-12-01 売り上げランキング : 97 by G-Tools |
20位:Movable Type 4でつくる![最強のブログサイト]
![]() | Movable Type 4でつくる![最強のブログサイト] ソーテック社 2008-05-22 売り上げランキング : 197966 by G-Tools |
20位:「勝負強い人間」になる52ヶ条―20年間勝ち続けた雀鬼がつかんだ、勝つための哲学 (知的生きかた文庫)
![]() | 「勝負強い人間」になる52ヶ条―20年間勝ち続けた雀鬼がつかんだ、勝つための哲学 (知的生きかた文庫) 三笠書房 2006-12 売り上げランキング : 25138 by G-Tools |






![Movable Type逆引きデザイン事典[4.2/4.1対応]](http://ecx.images-amazon.com/images/I/51p0cmzoLLL._SL160_.jpg)
















![Movable Type 4でつくる![最強のブログサイト]](http://ecx.images-amazon.com/images/I/51ZmY72JOZL._SL160_.jpg)

