イージーメディアライティング2
オーディオCDを作成するため、ライティングソフト「イージーメディアライティング2」を購入しました。約4000円です。
![]() | Roxio イージーメディアライティング 2 ラネクシー 2009-10-09 売り上げランキング : 959 Amazonで詳しく見る by G-Tools |
ライティングソフトは下の「Nero 9-Reloaded」もあるのですが、ギャップ(曲と曲の間のブランク)を作れないみたいなので、「Roxio イージーメディアライティング 2」を選択しました。値段もまあ手頃です。
![]() | Nero 9-Reloaded通常版 Nero 2010-01-09 売り上げランキング : 1779 Amazonで詳しく見る by G-Tools |
Movable Type(MT)5 テーマ修正(2カラムリキッドレイアウト修正)
配布中の Movable Type 5.0 テーマを修正しました。
1.修正箇所
2カラムリキッドレイアウト(左サイドバー)のスタイルが未設定だった不具合を修正しました。
2.スタイルシートのみを修正する場合
以下の内容をスタイルシートに追加してください。
.layout-two-column-liquid-left #content,
.layout-two-column-liquid-left #links-left-box {
position: relative;
display: inline;
float: left;
}
.layout-two-column-liquid-left .blog,
.layout-two-column-liquid-left #links-left {
position: static;
}
.layout-two-column-liquid-left #content,
.layout-two-column-liquid-left #links-left,
.layout-two-column-liquid-left .entry {
overflow-x: hidden;
}
.layout-two-column-liquid-left #content {
width: 100%;
margin-left: -200px;
}
.layout-two-column-liquid-left .blog {
margin-left: 200px;
padding: 18px 15px 10px;
border-bottom: 1px solid #669;
border-left: 1px solid #669;
height: 100%; /* for IE6 */
}
html>body.layout-two-column-liquid-left .blog {
padding: 10px 15px;
}
*:first-child+html .layout-two-column-liquid-left .blog {
padding-top: 18px;
}
.layout-two-column-liquid-left #links-left-box {
top: 15px;
right: 0px;
width: 200px;
}
.layout-two-column-liquid-left #links-left {
padding: 0 15px;
height: 95%; /* for IE6 */
}
.layout-two-column-liquid-left #footer {
margin-top: 25px;
border-top: 1px solid #669;
height: 60px;
color: #fff;
background: #8fabbe;
font-size: 12px;
text-align: center;
line-height: 5.0;
}
*:first-child+html .layout-two-column-liquid-left #footer {
width: 100%;
}
または、一番下のリンクから最新版をダウンロードし、
- themes/koikikukan_website/templates/styles-site.mtml
- themes/koikikukan_blog/templates/styles-site.mtml
のみを上書きアップロードして、スタイルシートインデックステンプレートを初期化してください。なお、初期化を行うとスタイルシートの変更がすべて元に戻るので注意してください。
Movable Type 5(MT5)テーマは、下記のページからダウンロードしてください。
livedoor ブログテンプレート修正(ヘッダ情報の削除)
現在配布中の livedoor ブログテンプレートを修正しました。
1.修正内容
- 各ページのトップに表示されるヘッダ部分を削除
多分、随分前からだと思いますが、ヘッダ部分はタグを埋め込まなくても自動で表示されることになったようで、その対応です。コメントでご連絡くださったぞびさん、ありがとうございました。
2.対処方法
利用中のテンプレートを直接修正する場合は、各テンプレートにある、以下のような内容を削除してください。
<table cellpadding="0" cellspacing="0" width="100%" border="0" id="header">
<tr>
<th width="1%"><img src="http://parts.blog.livedoor.jp/img/cmn/logo.gif" vspace="3" hspace="10" border="0" alt="livedoor ブログ(Blog)" title="livedoor ブログ(Blog)-アフィリエイト・法人利用もOK、無料/有料ブログサービス" usemap="#logo" /></th>
<td width="1%" nowrap>[
<a href="<$BlogRootCategoryUrl$>"><$BlogRootCategoryName$></a> - <a href="<$BlogCategoryUrl$>"><$BlogCategoryName$></a>
<IfBlogPrefName> | <a href="<$BlogPrefUrl$>" target="_blank"><$BlogPrefName$></a></IfBlogPrefName> ]
<script type="text/javascript" src="http://img.blog.livedoor.com/js/header.js"></script>
</td>
<td width="97%"><div align="right">
<script type="text/javascript" src="http://img.blog.livedoor.com/js/scroll.js"></script>
<script type="text/javascript" src="http://js.news.livedoor.com/blog/scroll.js"></script>
<script>topics.start();</script>
</div></td>
<td width="1%" nowrap><a href="http://www.livedoor.com/"><img src="http://parts.blog.livedoor.jp/img/cmn/logo_ld.gif" border="0" alt="livedoor" style="vertical-align:middle;margin-right:3px;" /></a><a href="http://blog.livedoor.com/startblog.html">カンタン!</a><a href="http://blog.livedoor.com/">ブログ</a><a href="http://blog.livedoor.com/">をはじめよう</a></td>
</tr>
</table>
<map id="logo" name="logo"><area shape="rect" coords="1,1,55,23" href="http://www.livedoor.com/"><area shape="rect" coords="56,1,130,22" href="http://blog.livedoor.com/"></map>
3.ダウンロード
livedoor ブログテンプレートは以下のリンクからダウンロードできます。
リツイートの
「Movable Type 5 プロフェッショナルガイド」本日発売
拙著「Movable Type 5 プロフェッショナルガイド」が本日発売です。とりあえずAmazonでは取り扱いが開始されています。
大手家電量販店の書籍コーナーも覗いてきました。拙著はまだでしたが、最近発売されたMovable Type 5本は軒並み平積みされてました。
CustomFieldAssetDetailsHandler プラグイン v0.20
Category:[カスタムフィールド, 管理画面, 自作プラグイン]
Tag:[CustomField, MovableType, Plugin]
Permalink
Movable Type 4.2 向けに公開していた、画像のカスタムフィールドでオプション画面を表示する「VisibleCustomFieldImage プラグイン 0.10」を、Movable Type 5対応にしました。プラグイン名も「CustomFieldAssetDetailsHandler」に変更しました。
このプラグインを用いることで、Movable Type 5のカスタムフィールドに画像を選択した場合にスキップされてしまう、アイテムの情報入力画面をハンドリングできます(下)。

なお、「ブログ記事に画像を表示」「サムネイルを利用」「ポップアップウィンドウ~」の項目は入力しても効果はありません(本文・追記のテキストエリアにカーソルをあてている状態で有効となるため)
1.価格
CustomFieldAssetDetailsHandlerプラグインの価格は次の通りです。
- 有償ライセンスによる商用利用:1050円/1サーバ
- 個人ライセンス(無償)/有償ライセンスによる非商用利用/Movable Type Open Source:無償
有償でご利用の場合、プラグインの動作確認後、下記のPayPalの「今すぐ購入」をクリックして、指定の金額をお支払いください。銀行振り込みをご希望の場合はお問い合わせからご連絡ください。折り返し振り込み口座をご連絡致します。
無償でご利用の場合も、プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。下記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
2.プラグインのダウンロード
下記のリンクをクリックしてプラグインをダウンロードします。
3.プラグインのアップロード
ダウンロードした CustomFieldAssetDetailsHandler_0_20.zip を解凍して、中にある CustomFieldAssetDetailsHandlerフォルダを plugins ディレクトリにアップロードします。システム管理画面のプラグイン一覧に「CustomFieldAssetDetailsHandler~」が表示されればOKです。

4.使い方
予め作成している、画像用カスタムフィールドの「imageを選択」をクリック。

「新しい画像をアップロード」をクリック(またはアップロード済の画像を選択して「次へ」をクリック)。

新しい画像をアップロードする場合は「参照」をクリック。

アップロードしたい画像選択後、「アップロード」をクリック。

オプション画面が表示されます(これが本プラグインの機能)。
機能はファイルアップロードのオプション画面と同じですが一応掲載しておきます。

- 名前:アイテムの名前を入力します。
- 説明:アイテムの説明を入力します。
- タグ:アイテムのタグを入力します。
「完了」をクリックすると、Movable Type の標準機能でサムネイル画像が管理画面に表示されます。なお、「ブログ記事に画像を表示」「サムネイルを利用」「ポップアップウィンドウ~」の項目は入力しても効果はありません(本文・追記のテキストエリアにカーソルをあてている状態で有効となるため)。

ブログ記事を投稿すると、予めテンプレートに設定していたカスタムフィールドのテンプレートタグ部分にサムネイル画像が表示されます。

5.注意事項
オプション画面下の「画像を記事/ページに表示」をチェックして「サムネイルを利用」や「ポップアップ~」にチェックをつけると、サムネイル画像やポップアップが生成されて、アイテムとして管理対象になります。
ただし、これらを表示するための(X)HTMLマークアップが本文・追記フィールドに埋め込まれていないため、これらのアイテムは基本的に利用できません。

利用したい場合は、本文に次のような(X)HTMLマークアップを埋め込んでください。次の例はサムネイルとポップアップファイルを組み合わせたものです。
<a href="http://user-domain/assets_c/yyyy/mm/finename-asset_id.html"
onclick="window.open('http://user-domain/assets_c/yyyy/mm/finename-asset_id.html','popup','width=asset_width,height=asset_height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">
<img src="http://user-domain/assets_c/yyyy/mm/thumbnail" width="thumbnail_width" height="thumbnail_height" alt="asset_label" class="mt-image-none" style="" />
</a>
赤色部分は次の内容に書き換えてください。
- user-domain:サイトURL
- yyyy:アイテムをアップロードした年
- mm:アイテムをアップロードした月
- asset_id:アイテムID
- finename:アイテムのファイル名(拡張子なし)
- thumbnail:アイテムのサムネイルファイル名
- asset_width:アイテムの幅
- asset_height:アイテムの高さ
- asset_label:アイテムの名前
- thumbnail_width:サムネイルの幅
- thumbnail_height:サムネイルの高さ
ウェブページの一覧をウェブページで表示する
「Movable Type 5 プロフェッショナルガイド」のサポートサイトを作成中ですが、その中で、ウェブページの一覧をウェブページで表示するというカスタマイズを行っているので、紹介します。
概要
サポートサイトのサンプルデータのページは次のような構成になっています。
- サンプルデータ目次一覧をウェブページで作成(①)
- サンプルデータのページをウェブページで作成(②)
①のサンプルデータ目次一覧は、次のようになっています。

②のサンプルデータのページは、次のようになっています。

このような構成にする場合のポイントは次の4つです。
- A.①のサンプルデータ目次一覧には自ウェブページや他のウェブページを表示しない
- B.①のサンプルデータ目次一覧は節番号順に表示
- C.①のパンくずリストには「ホーム > サンプルデータ目次 」だけを表示
- D.②のパンくずリストには「ホーム > サンプルデータ > ×××××」と表示
Aの「他のウェブページ」というのは、サンプルデータ以外にも、書籍内のリンクページや、訂正情報などをウェブページで作成しており、それらのページを指しています。
以下、A~Dの実現方法を簡単に説明します。
Aの実現方法
ウェブページ一覧を出力する際、次のように、folderモディファイアで、サンプルデータ以外のウェブページを除外しています。さらに、unlessタグで「サンプルデータ目次」のウェブページを省いています。
<mt:pages folder="サンプルデータ">
<mt:unless tag="pageTitle" eq="サンプルデータ目次">
…中略…
</mt:unless>
</mt:pages>
①②のウェブページは「サンプルデータ」というフォルダに出力するようにし、それ以外のウェブページは「サンプルデータ」フォルダに含まないように設定しておきます。
Bの実現方法
「Aの実現方法」のPageタグ、Unlessタグの中に、次のように、節番号でソートするサブテンプレートを記述します(もう少しエレガントな方法があるかもしれませんが)。
<mt:pages folder="サンプルデータ">
<mt:unless tag="pageTitle" eq="サンプルデータ目次">
<mt:if tag="pageTitle" like="^\d-\d\s.*$">
<mt:setvarblock name="key"><mt:pageTitle regex_replace="/(\d)-(\d).*/","0$1-0$2" /></mt:setvarblock>
</mt:if>
<mt:if tag="pageTitle" like="^\d\d-\d\s.*$">
<mt:setvarblock name="key"><mt:pageTitle regex_replace="/(\d\d)-(\d).*/","$1-0$2" /></mt:setvarblock>
</mt:if>
<mt:if tag="pageTitle" like="^\d-\d\d\s.*$">
<mt:setvarblock name="key"><mt:pageTitle regex_replace="/(\d-\d\d).*/","0$1-$2" /></mt:setvarblock>
</mt:if>
<mt:if tag="pageTitle" like="^\d\d-\d\d\s.*$">
<mt:setvarblock name="key"><mt:pageTitle /></mt:setvarblock>
</mt:if>
<mt:setvarblock name="val"><li><a href="<mt:pagePermalink />" title="<mt:pageTitle />"><mt:pageTitle /></a></li></mt:setvarblock>
<mt:setvar name="list{$key}" value="$val" />
</mt:unless>
</mt:pages>
<ul>
<mt:loop name="list" sort_by="key numeric">
<mt:getVar name="__value__" />
</mt:loop>
</ul>
また、テンプレートタグを評価するために「ウェブページ」アーカイブテンプレートのPageBodyタグにmtevalモディファイアを追加しています。
<$mt:PageBody mteval="1"$>
実際には、次のように、プライベートタグを使って、「@eval」を設定したウェブページのみ、テンプレートタグを評価するようにしています。
<mt:PageIfTagged tag="@eval">
<$mt:PageBody mteval="1"$>
<mt:else>
<$mt:PageBody$>
</mt:PageIfTagged>
CとDの実現方法
パンくずリストのサブテンプレートを「ウェブページ」アーカイブテンプレートに追加し、次のようにしています。
<p class="breadcrumbs">
<a href="<mt:blogURL />">ホーム</a> >
<mt:setVar name="folder_flag" value="0" />
<mt:unless tag="PageBasename" like="^index">
<mt:parentFolders glue=" > ">
<mt:setVar name="folder_flag" value="1" />
<a href="<mt:folderLink />"><mt:folderLabel /></a>
</mt:parentFolders>
</mt:unless>
<mt:if name="folder_flag"> > </mt:if>
<mt:pageTitle />
</p>
出力ファイル名が「index」で始まらない場合、つまり②のウェブページの場合だけ、パンくずリストにフォルダ名を出力するようにしています。
Movable Type 5(MT5)のカテゴリ削除動作
ちょっと古い話ですが、Movable Type 3.x~4.1 の時代まで、サブカテゴリがあるカテゴリの削除はできませんでした。バージョン4.1で削除を実行すると、次のようなエラーが発生します。

よって、親カテゴリを削除する場合、削除前にサブカテゴリを削除するか、サブカテゴリを他のカテゴリへの移動する必要がありました。
しばらくその動作だと思い込んでいたのですが、Movable Type 5(MT5)では、サブカテゴリがある親カテゴリの削除が可能になっていました。ということで、いつのバージョンから削除可能になったのか、確認したところ、バージョン4.22ですでに削除可能になっていました。ということで全く気がついていませんでした…。
削除した場合、サブカテゴリは親カテゴリに昇格します。なお、サブフォルダは元々削除できていたようです。
基本からしっかりわかる Movable Type 5カスタマイズブック
大藤さんの「基本からしっかりわかる」シリーズの、Movable Type 5版「基本からしっかりわかる Movable Type 5カスタマイズブック」が発売になります。
![]() | 基本からしっかりわかる Movable Type 5カスタマイズブック (Web Designing BOOKS) 大藤幹/シックス・アパート株式会社[監修] 毎日コミュニケーションズ 2010-03-24 Amazonで詳しく見る by G-Tools |
これまでのシリーズと同様、デフォルトテンプレートと、それらのCSSについて詳しく解説されています。Movable Type 5で追加されたPicoテーマについても取り上げられています。
- イントロダクション Movable Type 5のインストール
- 第1章 スタイルとテーマ
- 1-1 MT5の特徴
- 1-2 テーマのインストールと適用
- 1-3 テーマのエクスポート
- 1-4 スタイルの選択
- 第2章 XHTMLの構造を理解する
- 2-1 スタイルの種類とXHTMLの基本構造
- 2-2 Professional Blackの基本構造
- 2-3 Cityscape Portlandの基本構造
- 2-4 Minimalist Redの基本構造
- 2-5 Pico(White)の基本構造
- 2-6 プロフェッショナルウェブサイト:メインページのXHTML
- 2-7 プロフェッショナルブログ:メインページのXHTML
- 2-8 プロフェッショナルブログ:記事ページのXHTML
- 2-9 クラシックウェブサイト:メインページのXHTML
- 2-10 クラシックブログ:メインページのXHTML
- 2-11 クラシックブログ:記事ページのXHTML
- 2-12 Picoブログ:メインページのXHTML
- 2-13 Picoブログ:記事ページのXHTML
- 第3章 CSS適用の仕組み
- 3-1 外部スタイルシートの構成と役割
- 3-2 スタイル・レイアウト切り替えの仕組み
- 3-3 複数カラムレイアウトの実現方法
- 第4章 CSSの指定内容を理解する
- 4-1 掲載するソースコードについて
- 4-2 styles.cssの指定内容
- 4-3 blog.cssの指定内容
- 4-4 screen.cssの指定内容-Professional Black
- 4-5 screen.cssの指定内容-Minimalist Red
- 4-6 screen.cssの指定内容-Cityscape Portland
- 4-7 screen.cssの指定内容-Unstyled
- 4-8 hills-green.cssの指定内容-Hills Green
- 4-9 base.cssの指定内容-Pico(White)
- 4-10 screen.cssの指定内容-Pico(White)
- 第5章 CSSでのカスタマイズ
- 5-1 ローカルでCSSの試行錯誤ができるようにする
- 5-2 ヘッダの背景画像を変更する-Cityscape Portland
- 5-3 メインビジュアルの画像を変更する-Professional Black
- 5-4 基調色を変更する(1)-Professional Black
- 5-5 基調色を変更する(2)-Minimalist Red
- 5-6 基調色を変更する(3)-Pico(White)
- 5-7 ブログのタイトルと説明を別の行に分ける-Pico(White)
- 5-8 横幅を変更する-Minimalist Red
- 5-9 サイドバーの見出しに背景をつける-Minimalist Red
- 第6章 テンプレートの種類と構成
- 6-1 テンプレートとは?
- 6-2 テンプレートの種類
- 6-3 テンプレートの構成
- 6-4 テンプレートタグについて
- 6-5 テンプレートタグの調べ方
- 第7章 「プロフェッショナル」テーマのテンプレートを理解する
- 7-1 「プロフェッショナル」のテンプレートについて
- 7-2 メインページ(インデックステンプレート:ウェブサイト)
- 7-3 メインページ(インデックステンプレート:ブログ)
- 7-4 ブログ記事(アーカイブテンプレート)
- 7-5 ヘッダー(テンプレートモジュール)
- 7-6 ナビゲーション(テンプレートモジュール)
- 7-7 フッター(テンプレートモジュール)
- 7-8 サイドバー(テンプレートモジュール)
- 7-9 ブログ記事の概要(テンプレートモジュール)
- 7-10 ブログ記事の詳細(テンプレートモジュール)
- 7-11 ブログ記事のメタデータ(テンプレートモジュール)
- 7-12 トラックバック(テンプレートモジュール)
- 7-13 コメント(テンプレートモジュール)
- 7-14 コメント入力フォーム(テンプレートモジュール)
- 7-15 コメント詳細(テンプレートモジュール)
- 第8章 「クラシック」テーマのテンプレートを理解する
- 8-1 「クラシック」のテンプレートについて
- 8-2 メインページ(インデックステンプレート:ウェブサイト)
- 8-3 メインページ(インデックステンプレート:ブログ)
- 8-4 ブログ記事(アーカイブテンプレート)
- 8-5 HTMLヘッダー(テンプレートモジュール)
- 8-6 バナーヘッダー(テンプレートモジュール)
- 8-7 サイドバー(テンプレートモジュール)
- 8-8 バナーフッター(テンプレートモジュール)
- 8-9 ブログ記事の概要(テンプレートモジュール)
- 8-10 トラックバック(テンプレートモジュール)
- 8-11 コメント(テンプレートモジュール)
- 8-12 コメント詳細(テンプレートモジュール)
- 第9章 「Pico」テーマのテンプレートを理解する
- 9-1 「Pico」のテンプレートについて
- 9-2 メインページ(インデックステンプレート)
- 9-3 ブログ記事(アーカイブテンプレート)
- 9-4 HTMLヘッダー(テンプレートモジュール)
- 9-5 バナーヘッダー(テンプレートモジュール)
- 9-6 ナビゲーション(テンプレートモジュール)
- 9-7 バナーフッター(テンプレートモジュール)
- 9-8 ブログ記事の概要(テンプレートモジュール)
- 9-9 トラックバック(テンプレートモジュール)
- 9-10 コメント(テンプレートモジュール)
- 9-11 コメント詳細(テンプレートモジュール)
- 第10章 テンプレートのカスタマイズ
- 10-1 ウィジェットの見出しのテキストを変更する
- 10-2 ウィジェットの不要な情報を削除する
- 10-3 ウィジェットの投稿者の名前を日付に変更する
- 10-4 日付と時間の表示形式を変更する
- 10-5 「続きを読む:○○○」の表示形式を変更する
- 10-6 「最近のコメント」の表示形式を変更する
- 10-7 前後の記事へのリンクを追加する
- 10-8 ナビゲーションの項目を追加する(1)
- 10-9 ナビゲーションの項目を追加する(2)
- 10-10 ページによって2カラム/3カラムを切り替える
- 付録 スタイル一覧
シックスアパート監修です。
モタモタする
「Movable Type 5 プロフェッショナルガイド」見本誌到着
「Movable Type 5 プロフェッショナルガイド」の見本誌がきました。こんなに早く来るとは思いませんでした。
中身はこんな感じです。

一緒に献本頂いた、大藤さんの「基本からしっかりわかる Movable Type 5カスタマイズブック」と並べたところです。見た目の厚さはほとんど変わりませんが、拙著の方が200ページくらい多いです。

この本の詳細については、以下のエントリーをご覧ください。
「Movable Type 5 プロフェッショナルガイド」詳細情報
「Movable Type 5 プロフェッショナルガイド」の詳細情報です。
![]() | Movable Type 5 プロフェッショナルガイド 毎日コミュニケーションズ 2010-03-27 Amazonで詳しく見る by G-Tools |
1.書籍の概略
「Movable Type 5 プロフェッショナルガイド」は、主にコア機能や、コア機能の利用方法の解説を目的としたもので、以前執筆させて頂いた「Movable Type 4.2 パーフェクトガイド」の全面改訂版です。
2.主な変更点
「Movable Type 4.2 パーフェクトガイド」は、Movable Type に関して、私が知っていることを書き下したものでしたが、「Movable Type 5 プロフェッショナルガイド」は、Movable Typeの管理画面操作やテンプレート作成を行なえる方を対象にしており、基本的な解説は省略しました。テンプレートタグリファレンスなども基本情報ということで、掲載を見送りました。
また、前書に掲載していた、「折りたたみ」や「ツリー化」、JavaScriptライブラリを使った画像のポップアップなど、コア機能の説明からややはずれたカスタマイズについても割愛しています。
前述の内容をばっさり落としたあと、前書の内容を流用している部分については、一度読み直し、分かりにくい部分をリライトしました。サンプルコードも、Movable Type 5で動作の再確認を行っています。テンプレートやサブテンプレートに行番号を振った説明は校正が大変なため、すべて見直しています。
「Movable Type 4.2 パーフェクトガイド」では、節の中にちょっとしたTipsを書いてましたが、節に埋もれてしまっている感があったので、そういった内容を節としておこし直している部分もあります。例えば、「7-3 regex_replaceモディファイアとreplaceモディファイア」がそうです。
新たに書き加えた部分は、たとえばカスタマイズであれば、当ブログで「パーフェクトガイド」出版後にエントリーしたものや、あるいはブログで未公開の内容を盛り込み、章構成も見直して、オブジェクト別の章立てに変更しました。
カスタマイズ以外で、新たに章としておこしたものは、
- Chapter3 テーマ
- Chapter6 テンプレートタグ
- Chapter17 検索
- Chapter19 管理画面
- Chapter20 プログラム
- Chapter21 プラグイン
- Chapter22 インタフェース
- Chapter23 ツール
などが挙げられます。これだけで約200ページ分が刷新されており、さらにカスタマイズで書き加えたものも併せると、書籍の半分以上は新しい内容になっていると思います。
あと、前書で「字が小さすぎて読みにくい」といった評価もあったので、図や表などは大きくしています。
3.本書の読みどころ
人によって読みたい内容は違うと思うので、「ここがおすすめです」というのはありません。ただ、管理画面・プラグイン・インタフェースは、自分なりに気合いをいれて執筆しました。
「管理画面」は、テンプレートファイルの説明・代替テンプレート、config.yamlによるナビゲーションの変更方法など。先程、「テンプレートタグリファレンスは省略しました」と書きましたが、管理画面用テンプレートタグだけはリファレンスを網羅しています(Chapter6)。
「プラグイン」は、プラグイン定義にconfig.yamlを使う前提でまとめました。そのプラグインの前提として「プログラム」の章があり、Movable Typeのクラス構成やオブジェクトの操作について、ざっくりとまとめています。また、データベースのフィールド追加や、テーブルの追加方法など、カスタムフィールドっぽい感じでカスタマイズする方法も取り上げ、追加したフィールドの検索方法についてもちょっとだけ触れています。前書で書けなかったダイナミックパブリッシングプラグインについても解説しています。
「インタフェース」は要するに、XML-RPC と Atom Publishing Protocolのことです。XML-RPCは、既存機能の洗い出しということで、現時点で実装されている全てのAPIを(多分)網羅しました。Atom Publishing Protocolは、ネットで調べてもほとんど情報がない領域でしたが、ソーストレースして、こう使えばいいんじゃない?くらいのことは書けたと思います。
その他、カスタマイズでも、テンプレートで検索結果画面を作るとか、使い方がよく分からないsort_methodモディファイアを使い倒すとか、探せば色々面白い内容がみつかるかもしれません。
そういうわけで、順を追ってサイトをひとつ作ります、という本ではありません。この本を通じて、ピンポイントで困っていることに対して解決策がみつかるか、直接的な答えがなくても、何らかの手がかりがみつかる、そういう本になってくれれば幸甚の喜びです。
4.ページ数
ページ数は512ページと、前書よりかなり減っていますが、1項に記した通り、ビギナーの方向けの内容や、カスタマイズのポイントを絞り、その分、開発者向け情報を大幅に増やしているので、内容は前書より明らかに濃厚になっています。
ページのレイアウトは、私が書きすぎたこと諸般の事情により、今回もぎゅうぎゅうに詰めてもらい、650~700ページ分くらいの内容になってます。図や表の大きさは前述の通り、校正の段階でできるだけ大きく直しているので、前書よりは(多分)読みやすいと思います。
5.目次
本書の目次です。カッコ内は開始ページなので、節単位でのページ数が大体分かると思います。
- Chapter1 プロダクト
- 1-1 Movable Typeのコードネームとバージョン(18)
- 1-2 開発コードのビルド(19)
- 1-3 旧バージョンのMovable Typeを利用する(26)
- Chapter2 環境
- 2-1 アプリケーションディレクトリ(30)
- 2-2 設定ファイル(33)
- 2-3 ファイル・ディレクトリのパーミッション(36)
- 2-4 複数ドメインでの利用(39)
- 2-5 PHP化(42)
- 2-6 プラグインディレクトリの独立(45)
- 2-7 スケジュールタスク(47)
- 2-8 FastCGI(50)
- 2-9 複数Movable Typeのインストール(53)
- 2-10 InstaMT(55)
- Chapter3 テーマ
- 3-1 テーマ関連ファイル(62)
- 3-2 ローカライズ(82)
- 3-3 スタイル機能対応(85)
- 3-4 カラムレイアウトの定義(88)
- Chapter4 テンプレート
- 4-1 「ファイルへのリンク」について(92)
- 4-2 「テンプレートの種類」について(95)
- 4-3 アーカイブマッピングの「優先」について(98)
- 4-4 優先アーカイブタイプ(101)
- 4-5 サーバーサイドインクルード(103)
- 4-6 モジュールキャッシング(105)
- Chapter5 コンテキスト
- 5-1 コンテキストの基本(110)
- 5-2 コンテキストの依存関係(112)
- 5-3 アーカイブコンテキストを他のコンテキストに変更する(116)
- Chapter6 テンプレートタグ
- 6-1 テンプレートタグのフォーマット(120)
- 6-2 テンプレートタグの最適化(123)
- 6-3 変数の初期化(126)
- 6-4 配列・ハッシュの入れ子(128)
- 6-5 管理画面用テンプレートタグ(131)
- Chapter7 モディファイア
- 7-1 モディファイアの基本(148)
- 7-2 mtevalモディファイア(151)
- 7-3 regex_replaceモディファイアとreplaceモディファイア(154)
- 7-4 testモディファイア(156)
- 7-5 appendモディファイアとprependモディファイア(157)
- Chapter8 ウェブサイト・ブログ
- 8-1 ウェブサイト・ブログの指定(162)
- 8-2 ウェブサイト・ブログでのテンプレートモジュールの共有(166)
- 8-3 インクルード先の情報を出力する(170)
- Chapter9 ブログ記事・ウェブページ
- 9-1 記事の一覧をタイトルの番号順にソートする(174)
- 9-2 複数ブログのブログ記事を時間順に1件ずつ表示する(177)
- 9-3 ブログ記事ページのデザインをカテゴリ別に切り替える(179)
- 9-4 ウェブページのデザインをウェブページ別に切り替える(182)
- Chapter10 コメント・トラックバック
- 10-1 最近のコメント・トラックバックを記事別に表示する(186)
- 10-2 コメントをスレッド形式で表示する(191)
- 10-3 サインイン後のコメント投稿フォームをブラウザの先頭に表示する(194)
- 10-4 コメント投稿者の表示を実体参照する(196)
- 10-5 「最近のコメント」をフィードで配信する(197)
- Chapter11 アイテム
- 11-1 アイテムのキャッシュディレクトリ(202)
- 11-2 記事に挿入したアイテムのサムネイル一覧を表示する(204)
- 11-3 記事に挿入した画像の表示サイズを制御する(206)
- 11-4 画像挿入時の(X)HTMLマークアップをカスタマイズする(208)
- Chapter12 カテゴリ
- 12-1 カテゴリによる関連ブログ記事一覧(214)
- 12-2 カテゴリ一覧にブログ記事タイトルを表示する(216)
- 12-3 カテゴリアーカイブリストに月別のタイトルを表示する(219)
- 12-4 親カテゴリ配下のカテゴリのブログ記事一覧を表示する(221)
- 12-5 カテゴリアーカイブページのカテゴリアーカイブリストに親カテゴリとその子カテゴリを表示する(223)
- 12-6 カテゴリアーカイブにサブカテゴリのブログ記事を表示する(226)
- 12-7 カテゴリ一覧のブログ記事数にサブカテゴリのブログ記事数を含めて表示する(230)
- 12-8 カテゴリの更新履歴を表示する(232)
- 12-9 カテゴリアーカイブページのデザインをカテゴリ別に切り替える(234)
- 12-10 カテゴリ別にブログ記事の背景画像を切り替える(237)
- 12-11 カテゴリ別にフィードを配信する(241)
- 12-12 sort_methodモディファイアによるカテゴリとフォルダのソート(245)
- Chapter13 タグ
- 13-1 タグによる関連ブログ記事一覧(254)
- 13-2 タグのプライベートモード(256)
- 13-3 タグ検索による記事の絞り込み(261)
- 13-4 タグ検索リンクをロボット型検索エンジンのクロール対象外にする(266)
- Chapter14 カレンダー
- 14-1 複数ブログの情報を1つのカレンダーにまとめて表示する(268)
- 14-2 Ajax月送りカレンダー(272)
- 14-3 カテゴリ別月送りカレンダー(278)
- 14-4 ダイナミック月送りカレンダー(281)
- Chapter15 アーカイブ
- 15-1 月別アーカイブリストに年別の見出しを表示する(286)
- 15-2 アーカイブページへの「続きを読む」のリンクを表示する(292)
- 15-3 アーカイブページへのリンクを相対パスで表示する(296)
- 15-4 サイトマップを作る(207)
- Chapter16 カスタムフィールド
- 16-1 カスタムフィールドでおすすめ度順にソートする(302)
- 16-2 カスタムフィールドの複数行を改行表示する(308)
- 16-3 コミュニティのカスタムフィールドの表示順序を並べ替える(311)
- Chapter17 検索
- 17-1 検索方法と検索オプション(314)
- 17-2 検索対象のフィールドを変更する(317)
- 17-3 検索結果のページ分割をカスタマイズする(319)
- 17-4 旧バージョンの検索機能を利用する(322)
- 17-5 テンプレートでカスタムフィールド検索のページを作る(324)
- Chapter18 再構築
- 18-1 スタティックパブリッシング(332)
- 18-2 ダイナミックパブリッシング(337)
- Chapter19 管理画面
- 19-1 テンプレートファイル(344)
- 19-2 代替テンプレート(348)
- 19-3 テンプレートファイルでテンプレートタグを利用する(351)
- 19-4 ナビゲーションのカスタマイズ(353)
- 19-5 パーミッションのカスタマイズ(359)
- Chapter20 プログラム
- 20-1 クラス(364)
- 20-2 オブジェクト(366)
- 20-3 ローカライズ(376)
- 20-4 予約変数・特殊変数(378)
- 20-5 レジストリ(381)
- 20-6 管理アプリケーションのリクエスト処理(383)
- 20-7 アプリケーションモードとハンドラの対応(394)
- Chapter21 プラグイン
- 21-1 プラグインの概要(398)
- 21-2 プラグインデータ(402)
- 21-3 拡張テンプレートタグ(405)
- 21-4 コールバック(412)
- 21-5 フィールドの拡張とオブジェクトテーブルの追加(419)
- 21-6 管理アプリケーションプラグイン(425)
- 21-7 アプリケーションの実装(451)
- 21-8 ダイナミックパブリッシングプラグイン(456)
- 21-9 ローカライズ(461)
- 21-10 プラグインの削除(463)
- 21-11 デバグ(465)
- Chapter22 インタフェース
- 22-1 RSD(470)
- 22-2 XML-RPC(472)
- 22-3 Atom Publishing Protocol(485)
- Chapter23 ツール
- 23-1 list-objects(494)
- 23-2 mt-tmpl-test(496)
- 23-3 permission-viewer(499)
- 23-4 plugin-config(502)
- 23-5 pl-viewer(503)
- 23-6 remove_old_sessions(505)
6.その他
短期間での勝負となったため、誤記や理解しにくい文章をできるだけ減らすことを目的に、急遽、校正担当を2名お願いしました。校正を行なって頂いたお二人に、この場をお借りして心よりお礼申し上げます。
RebuildIndexFilter プラグイン v0.10
配布中の「RebuildIndexFilter プラグイン」を、Movable Type 5 対応にしました。このプラグインは、インデックステンプレートの再構築イベントを絞り込むことで、再構築の負荷を軽減するものです。
修正内容は、Movable Type 5 のUIにあわせたのみで、機能的な変更はありません。インデックステンプレートのテンプレート設定画面の一番下に、RebuildIndexFilter プラグインの設定項目が表示されます。

また、勉強をかねて、プラグイン定義をPerlからYAMLに変更しました。
プラグインは下記のページよりダウンロードしてください。
WordPress テーマ修正
現在配布中の WordPress テーマを修正しました。修正内容は次の1点です。
- 検索時にレイアウトが崩れる不具合を修正
修正されたテーマを利用する場合は、下記のサイトからダウンロードしてください。
修正ファイルは「検索結果 (search.php)」のみです。この部分のみ変更したい方は、以下の内容に入れ替えてください。
<?php get_header(); ?>
<?php
if (preg_match('/layout-three-column-right|layout-three-column-liquid-right/',$layout)) {
} else {
if (preg_match('/three|left/',$layout)) {
?>
<div id="links-left-box">
<div id="links-left">
<?php
include (TEMPLATEPATH . '/sidebar2.php');
?>
</div>
</div>
<?php
}
}
?>
<!-- center -->
<div id="content">
<div class="blog">
<?php if (have_posts()) : ?>
<div class="entry">
<div class="date">Search Results</div>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Previous Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Next Entries »') ?></div>
</div>
<?php while (have_posts()) : the_post(); ?>
<h2 class="entry-header"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<p class="entry-footer">Posted at <?php the_time('h:i') ?> | Category: <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></p>
<?php endwhile; ?>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Previous Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Next Entries »') ?></div>
</div>
</div>
<?php else : ?>
<div class="entry">
<div class="date">Search Results</div>
<div class="entry-header">No posts found. Try a different search?</div>
<?php include (TEMPLATEPATH . '/searchform.php'); ?>
</div>
<?php endif; ?>
</div>
</div>
<?php
if (preg_match('/layout-three-column-right|layout-three-column-liquid-right/',$layout)) {
?>
<div id="links-left-box">
<div id="links-left">
<?php
include (TEMPLATEPATH . '/sidebar2.php');
?>
</div>
</div>
<?php
}
?>
<?php
if (preg_match('/three|right/',$layout)) {
?>
<div id="links-right-box">
<div id="links-right">
<?php
if (preg_match('/two/',$layout)) {
include (TEMPLATEPATH . '/sidebar2.php');
}
get_sidebar();
?>
</div>
</div>
<?php
}
?>
<?php get_footer(); ?>
「Movable Type 5 プロフェッショナルガイド」を執筆しました
2冊目の単著となる「Movable Type 5 プロフェッショナルガイド」を執筆しました。Amazonにはまだ掲載されていませんが、3月下旬に発売予定です。 2010.03.17 Amazon に掲載されました(下)。
![]() | Movable Type 5 プロフェッショナルガイド 毎日コミュニケーションズ 2010-03-27 売り上げランキング : Amazonで詳しく見る by G-Tools |
この本は、毎日コミュニケーションズから刊行される Movable Type 5 書籍「基本からしっかりわかるMovable Type 5」「基本からしっかりわかる Movable Type 5カスタマイズブック」の3兄弟の1冊らしいです。
以下、目次です。詳細を知りたい方は、MYCOM BOOKSをご覧ください(一部誤っていますが・・・)。
- Chapter1 プロダクト
- Chapter2 環境
- Chapter3 テーマ
- Chapter4 テンプレート
- Chapter5 コンテキスト
- Chapter6 テンプレートタグ
- Chapter7 モディファイア
- Chapter8 ウェブサイト・ブログ
- Chapter9 ブログ記事・ウェブページ
- Chapter10 コメント・トラックバック
- Chapter11 アイテム
- Chapter12 カテゴリ
- Chapter13 タグ
- Chapter14 カレンダー
- Chapter15 アーカイブ
- Chapter16 カスタムフィールド
- Chapter17 検索
- Chapter18 再構築
- Chapter19 管理画面
- Chapter20 プログラム
- Chapter21 プラグイン
- Chapter22 インタフェース
- Chapter23 ツール
「3月刊行死守」という至上命令で、本業が深夜帰宅や泊まりが続く中、主に電車の往復中とホテルで書きました。兄弟本2冊と異なり、シックスアパート株式会社未監修です。執筆内容が色々間違ってたらすいません。先に謝っておきます。m(__)m
また、「上級者向けに」という要請があったのと、MT本も色々なものが出回っていることから、他書であまり触れていない内容を多めにしてみました。MTビギナーの方には全くおすすめできませんので、購入の際はご注意ください。
写真のカバーデザイン(レイアウト)はこちらで指定しました。個人的にはかなり気に入っているので実物はどうなるか分かりませんが、これだけで満足です。オビの文章とかも、時間がない都合で、編集者の方に素案を出してもらって、自分で都合10分くらい悩んで修正したものが載るらしいです。
そんな事情はさておき、内容的には色々面白い本になりました。「22-3」とか自分で読み直して、我ながら「こいつアホや」と思いました。
ということで、お疲れさま! > 自分(笑)
Movable Type 5でつくる!最強のブログサイト
ソーテック社「最強のブログサイト」シリーズのMovable Type 5版が、3月15日に発売されるようです。
![]() | Movable Type 5でつくる!最強のブログサイト ソーテック社 2010-03-13 売り上げランキング : 135273 Amazonで詳しく見る by G-Tools |
著者の南大沢ブロードバンド研究会でも告知されています。
新刊「Movable Type 5でつくる最強のブログサイト」
本書は、Movable Type 5を使って、人と情報が自動的に集まる美しく魅力的なブログサイトを、短時間で構築するための具体的な手順を紹介することを目的としています。難しい理論を覚えるよりは、まずはMovable Typeに実際に触れてみて、その仕組みを肌で理解していくことを目指しています。
以下、Amazonからの目次を引用します。
- PART1 基礎編
- CHAPTER 01 Movable Typeの基礎知識
- CHAPTER 02 Movable Type 5のインストール
- CHAPTER 03 ウェブサイトの作成、ブログの作成
- CHAPTER 04 ウェブサイト・ブログの管理
- PART2 デザイン編
- CHAPTER 05 デフォルト機能でデザインを変更する
- CHAPTER 06 テンプレートによるブログのカスタマイズ
- CHAPTER 07 ウィジェットの活用
- PART3 応用編
- CHAPTER 08 オリジナルのウェブサイトを構築しよう
- CHAPTER 09 Webサービスやウィジェットの活用
- CHAPTER 10 ウェブサイトのアフィリエイト対応
- CHAPTER 11 モバイルやケータイへの対応
CMSHead プラグイン
Movable Type 5 の管理画面のhead要素に任意の内容を入力できる、「CMSHead プラグイン」を公開します。
このプラグインは、昨日公開した「ExpandCategoryAreaCSS プラグイン」に拡張性をもたせたもので、プラグイン利用ユーザーがCSSなどを直接編集することができます。
1.機能
システム管理画面のプラグイン設定画面で、管理画面のhead要素に追加する内容を入力します。

「ExpandCategoryAreaCSS プラグイン」と同じ機能を実現するのであれば、テキストエリアに次の内容を設定します。
<style type="text/css">
.category-selector-list {
height: 300px;
}
</style>
2.プラグインのダウンロード
下記の CMSHead_x_xx.zip をクリックして、プラグインアーカイブをダウンロードします。
変更履歴
2010.03.05 初版
2011.06.25 v0.02 MT5.1対応 2011.06.29 v0.03 ログにエラーメッセージが出力される不具合を対処
- CMSHead_0_01.zip(MT5.0x用)
- CMSHead_0_03.zip(MT5.1~用)
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
3.プラグインのインストール
プラグインアーカイブを展開し、中にある CMSHead フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロードします。
システム管理画面のプラグイン一覧で、「CMSHead~」が表示されればインストール完了です。
ExpandCategoryAreaCSS プラグイン
Movable Type 5 のブログ記事投稿画面のカテゴリ選択エリアを広げるプラグインを公開します。カテゴリを大量に登録している場合に便利です。
1.機能
ブログ記事投稿画面のカテゴリ選択エリアの高さを拡張します。
変更前

変更後

2.プラグインのダウンロード
下記の ExpandCategoryAreaCSS_0_01.zip をクリックして、プラグインアーカイブをダウンロードします。
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
3.プラグインのインストール
プラグインアーカイブを展開し、中にある ExpandCategoryAreaCSS フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロードします。
システム管理画面のプラグイン一覧で、「ExpandCategoryAreaCSS~」が表示されればインストール完了です。
北山珈琲店
先日、「@nifty:デイリーポータルZ:コーヒーを飲むこと以外は、許されない喫茶店」で紹介されていた北山珈琲店。コーヒー好きの私にとっては非常に興味のある記事で、場所も住んでいるところからそれほど遠いところではなかったので、行ってきました。
JR上野駅の入谷口改札を降り、線路沿いに北向きに数分歩くと、曲がり角のところに黄色いテントのお店があり、それが北山珈琲店です。
店内は記事で紹介されていた通り、コーヒーを焙煎する、いい香りが立ち込めています。10人入れるか入れないかくらいの狭い空間ですが、非常に心地よかったです。
とりあえず、ブレンドコーヒーと、元記事で紹介されていた「雫」というものがセットになったものを注文。10~15分ほど待って、ブレンドコーヒーが登場。予想通り、他店にはない深い味わいのコーヒーでした。「雫」はちょっと飲むのにコツがいりましたが、まさにデザート感覚のコーヒーで、どちらも非常に美味しかったです。メニューには「初めて来店された方はブレンドコーヒーからどうぞ」のようなことが書かれていました。
コーヒーも美味しかったのですが、カウンターの奥でコーヒーを煎れていたマスターと、ウェイトレスの奥さん?がとても人柄のいい方で、このお店の良さはコーヒーの美味しさだけではないということが分かりました。
ということで、今度はアイスコーヒーを飲んでみたいと思います。
陸上競技のスタートについて
バンクーバーオリンピックを見ていて感じたことです。Twitterでもちらっとつぶやいたのですが、コメント頂ければと思い、こちらにもエントリーしておきます。
陸上競技のスタートって、例えば、日本では
「位置について・・・よーい・・・パーン!」
という風に、独特のタイミングでスタートするのですが、フライングが出るのは暗黙の了解になっています。国際競技では
「オン・ユア・マークス・・・セット・・・パーン!」
でしょうか。
で、思ったのが、なぜスタートの方法を、時報のように、
「ピッ・・ピッ・・ピッ・・プー!」
という風にしないのでしょうか。
本来の力が出ないとか、多分何か理由があると思うのですが、どなたかご教示いただければ幸いです。
InvalidateBlogNameCSS プラグイン
Movable Type 5の管理画面で、長いブログ名を全て表示するための「InvalidateBlogNameCSS プラグイン」を公開します。
1.機能
Movable Type 5の管理画面では、長いブログ名は途中で途切れてしまい、すべて表示されないようです。
プラグイン適用前

本プラグインを適用することで、長いブログ名も表示できるようになります。
プラグイン適用後

ちなみに、Movable Type 5の管理画面のブログ名は表示する長さを制限しているのは、mt-static/css/main.cssの、次の2つのセレクタにある、以下のプロパティです。このプラグインでは該当のプロパティを上書きしています。
#selector-nav-list .current em {
max-width:270px;
}
#selector-nav-list .current a {
max-width:15em;
}
2.プラグインのダウンロード
下記の InvalidateBlogNameCSS_0_01.zip をクリックして、プラグインアーカイブをダウンロードします。
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
3.プラグインのインストール
プラグインアーカイブを展開し、中にある InvalidateBlogNameCSS フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロードします。
システム管理画面のプラグイン一覧で、「InvalidateBlogNameCSS~」が表示されればインストール完了です。






