田中さんは
Movable Type 4.2 リリース候補版公開
Movable Type 4.2 リリース候補版が公開されました。4.2 はこれまでの 4.15 ベータのバージョン番号が改められたもので、製品版の出荷予定は6月下旬のようです。
シックス・アパートでは Movable Type 4.15 のベータテストを続けてきました。Movable Type 4.15 ベータでは、様々な機能追加され、特にパフォーマンス面に関しては大きな進歩を遂げました。本バージョンをより多くのユーザー様にご利用いただくためにも、バージョンナンバーを 4.2 と改め、本日、リリース候補版 (RC) 1 を発表しました。
Movable Type 4.2 リリース候補版は次のリンク先からダウンロードできます。
4.2では「TypePad AntiSpam (Beta)」プラグインが同梱されています(ベータ版のため日本語は未対応、海外からのスパムブロックは可能)。プラグインの使用方法は、TypePad AntiSpam (Beta)を参照してください。

また、Movable Type4.2発表記念キャンペーンも実施中です。
Movable Type4.2発表記念 プレゼントキャンペーン実施中
Movable Type4.2発表を記念しまして、アンケートに答えるとプレゼントが当たるキャンペーンを5月30日より実施します。
また、Movable Type基本ライセンスをご購入いただいた先着100名様にプレゼントいたします。
ウェブ時代 5つの定理 この言葉が未来を切り開く!
随分前に読了していたのですが、紹介が遅れました。
![]() | ウェブ時代 5つの定理 この言葉が未来を切り開く! 梅田望夫 文藝春秋 2008-02-28 売り上げランキング : 194 Amazonで詳しく見る by G-Tools |
この本は、著者の梅田望夫さんが、膨大な時間をかけて集めた金言を、「現代社会で働くすべての人が、仕事に活路を見出していく上で座右に置き、仕事の様々な局面で手に取り、この金言を何度も繰り返し実際に使えること、生きるヒントを得られること、仕事に活かせること」を目指して、多くの言葉の中から「未来を切り開く言葉を選び、「5つの定理」として分類・整理し、構造化」したものです(まえがきより抜粋・引用)。
私の一番気に入ったのは、スティーブ・ジョブスの次の言葉です。
君たちの時間は限られている。
その時間を、他の誰かの人生を生きることで無駄遣いしてはいけない。
ドグマにとらわれてはいけない。
それでは他人の思考の結果とともに生きることになる。
他人の意見の雑音で、自分の内なる声をかき消してはいけない。
最も重要なことは、君たちの心や直感に従う勇気を持つことだ。
心や直感は、君たちが本当になりたいことが何かを、もうとうの昔に知っているものだ。
だからそれ以外のことはすべて二の次でいい。
また、この本は、以前の「ウェブ時代をいく」よりも、非常に読みやすい言葉を選んで書かれています。
まだ読んでいない方は是非。
ウェブページのデザインを切り替える
Movable Type 4のウェブページのデザインを切り替える方法です。しっかり書く時間がないので、概要のみにとどめておきます。
ウェブページに、
- 製品情報
- 会社概要
- 採用情報
- お問い合わせ
- サポート
という5つのページがあり、「製品情報」と「採用情報」だけ異なるデザインを与えるケースで説明します。
方法は色々ありますが、ウェブページのタイトルで振り分ける場合、ウェブページテンプレートに次のように記述します。
<mt:if tag="pageTitle" eq="製品情報">
<mt:include module="製品情報" />
<mt:elseIf eq="採用情報">
<mt:include module="採用情報" />
<mt:else>
<mt:include module="その他" />
</mt:if>
インクルード先のテンプレートモジュールに、すべてのサブテンプレートを記述するか、includeタグの代わりに、ブロック内にサブテンプレートを記述します。
「その他」が必要ない場合(すべてのウェブページに対応するデザインがある場合)、次のような方法があります。
<mt:pageTitle setvar="page_title" />
<mt:include module="$page_title" />
ページタイトルをそのままインクルードするテンプレートモジュール名にしています。
2010.01.27
リストに誤りがあったので修正しました。
続ける力―仕事・勉強で成功する王道
少し前に読了した新書です。
![]() | 続ける力―仕事・勉強で成功する王道 (幻冬舎新書 い 4-1) 伊藤 真 幻冬舎 2008-03 売り上げランキング : 639 Amazonで詳しく見る by G-Tools |
続けるためにどうすればよいのかを知りたいので購入した訳ではなく、ブログもなんだかんだと4年続いているので、こうやって続けられている根拠は何かを知りたいと思い、買いました。
著者の伊藤真さんは、「伊藤塾」で、司法試験・法科大学院などの受験指導を専門に幅広く活動されている方で、受験指導を25年以上続けられています。ある意味、「継続」のプロです。
この本では、受験指導の経験をもとに、継続するためのノウハウや、どのようにしてモチベーションを継続するかについて詳しく解説されています。読みやすい内容なので、ブログに限らず、継続できないと思っている方は一読されることをお勧めします。
ちなみに、私がブログを継続できている理由も分かりました。
カスタムフィールドの入力文字数が改善
軽ネタです。
以前、エントリーした、「カスタムフィールドの入力文字数の制限を変更する」ですが、いつのまにかオプションフィールド用のテーブルの型が mediumtext に変更されていました。

したがって、私の勘違い(いつのまにか自分で変更したとか)でなければ、4.15 以降で「カスタムフィールドの入力文字数の制限を変更する」の対処は不要です。
基本からしっかりわかる Movable Type 4.1 カスタマイズブック Movable Type 4.1/MTOS 4.1対応
Movable Type 4.1 対応の書籍がまた1冊登場しました。
![]() | 基本からしっかりわかる Movable Type 4.1 カスタマイズブック Movable Type 4.1/MTOS 4.1対応 (Web Designing BOOKS) 大藤 幹 毎日コミュニケーションズ 2008-05-21 売り上げランキング : 8399 Amazonで詳しく見る by G-Tools |
この本は、デフォルトテンプレートを元にデザイン・カスタマイズを行うための内容になっています。デフォルトテンプレートのカラムレイアウトの解説や、CSSについて掘り下げています。
また、デフォルトテンプレートのテンプレート単位で、テンプレート内で使用されているテンプレートタグの解説も行われています。
フルカラーでかなり読みやすい内容です。デフォルトテンプレートをがっつりカスタマイズしたい方にお勧めの1冊です。
目次は次の通りです。
イントロダクション MTOS 4.1のインストール
第1章 MTOS・MT4.1の基本構造
1-1 デザインの選択
1-2 デザインの種類とXHTMLの構造
1-3 Cityscapeの基本構造
1-4 Hillsの基本構造
1-5 Minimalistの基本構造
1-6 Unityの基本構造
1-7 メインページのXHTML
1-8 ブログ記事ページのXHTML
第2章 スタイルシート適用の仕組み
2-1 外部スタイルシートの構成と役割
2-2 スタイル・レイアウト切り替えの仕組み
2-3 4パターンの段組みの実現方法
第3章 スタイルシートの指定内容を理解する
3-1 掲載するソースコードについて
3-2 styles.cssの指定内容
3-3 blog.cssの指定内容
3-4 screen.cssの指定内容(Minimalist Red)
3-5 screen.cssの指定内容(Cityscape Paris)
第4章 スタイルシートのカスタマイズ
4-1 ローカルでCSSの試行錯誤ができるようにする
4-2 カスタマイズしたCSSをアップロードする
4-3 ヘッダの背景画像を変更する1(Cityscape)
4-4 ヘッダの背景画像を変更する2(Cityscape)
4-5 基調色を変更する1(Minimalist)
4-6 基調色を変更する2(Minimalist)
4-7 横幅を変更する1(Minimalist)
4-8 横幅を変更する2(Cityscape)
4-9 サイドバーの見出しに背景をつける(Minimalist)
4-10 タグクラウドの色を段階的に変える(Minimalist)
第5章 テンプレートの構成
5-1 テンプレートとは?
5-2 テンプレートの種類
5-3 テンプレートの構成例
5-4 ヘッダーとフッターの注意点
5-5 テンプレートタグについて
第6章 テンプレートの内容を理解する
6-1 掲載するテンプレートについて
6-2 メインページ(インデックステンプレート)
6-3 ヘッダー(テンプレートモジュール)
6-4 ブログ記事の概要(テンプレートモジュール)
6-5 ブログ記事のメタデータ(テンプレートモジュール)
6-6 タグ(テンプレートモジュール)
6-7 フッター(テンプレートモジュール)
6-8 サイドバー(テンプレートモジュール)
6-9 ブログ記事(アーカイブテンプレート)
6-10 ブログ記事の詳細(テンプレートモジュール)
6-11 カテゴリ(テンプレートモジュール)
6-12 トラックバック(テンプレートモジュール)
6-13 コメント(テンプレートモジュール)
6-14 コメント入力フォーム(テンプレートモジュール)
6-15 コメント詳細(テンプレートモジュール)
6-16 アーカイブインデックス(インデックステンプレート)
6-17 ブログ記事リスト(アーカイブテンプレート)
6-18 ウェブページ(アーカイブテンプレート)
6-19 ウェブページの詳細(テンプレートモジュール)
6-20 最近のコメント(ウィジェット)
6-21 最近のブログ記事(ウィジェット)
6-22 月別アーカイブ(ウィジェット)
6-23 カテゴリアーカイブ(ウィジェット)
6-24 タグクラウド(ウィジェット)
6-25 検索(ウィジェット)
6-26 カレンダー(ウィジェット)
6-27 Powere By(ウィジェット)
第7章 テンプレートのカスタマイズ
7-1 テンプレートタグの調べ方
7-2 ウィジェットの見出しのテキストを変更する
7-3 個別ページへのリンクを削除する
7-4 日付と時間の表示形式を変更する
7-5 「○○○の続きを読む」の表示形式を変更する
7-6 「最近のコメント」の表示形式を変更する
7-7 前後の記事へのリンクを追加する
7-8 ページによって2段組・3段組を切り替える
7-9 プロフィール画像を表示させる
7-10 IE対策用の専用外部スタイルシートを用意する
付録 スタイル一覧
Movable Type 2007 コンテスト結果発表
先日、Movable Type 2007 コンテストの結果発表が行われました。失念してしまっていたので、ずいぶん前に発表が終わったと思っていたら、丁度発表された直後に気がついたようです。
入賞サイトは次の通りです。受賞された皆様、おめでとうございます!
- ビジネスサイト 優秀賞:J-cast ニュース
- 個人サイト 優秀賞:からふるいろのたね
- ビジネスサイト 準優秀賞:Lines Of Sight
- 個人サイト 準優秀賞:YAKINIQUEST
- GREEN TREE賞:コトノハ絵本の紹介
- シックスアパート賞:千葉の産婦人科情報
- ベイリーフ賞:graphiso
- スカイアーク賞:東京もつ鍋天国
- アウトライヴ賞:八十島プロシード株式会社
- ひらた賞:あすなろBlog
- ファイナルゲート賞:スーパーオータニWebサイト
- LIN Networks賞:コルク屋本舗
- ロフトワーク賞:AKICHIATLAS.com
- AMN賞:面白法人カヤック BM11
- Web担当者Forum賞:Technohouse Inc.
- Web Designing賞:旅音ブログ
- web creators賞:Foucus color
- Software Design賞:無料ゲームリアルアーケード
- WebSiteExpart賞:シカクいチキュウ
- アスキー賞:システム設計・開発のアイロベックス
来年も開催されることを楽しみにしています。
画像を透過する
CSS Nite in Osaka, Vol.9 / CSS Nite in Nagoya, Vol.4
4月に行われた MT4LP5 の大阪版、「CSS Nite in Osaka, Vol.9」と名古屋版の「CSS Nite in Nagoya, Vol.4」が開催されます。
CSS Nite in Osaka, Vol.9(Movable Type特集)
- 日時:2008年6月8日(日)11:00~16:30(開場:10:30)
- 会場:大阪産業創造館 4Fイベントホール
- 定員:180名
- 出演:黒野 明子、関根 元和、丹羽 章、野田 純生、鷹野雅弘
- 主催:CSS Nite実行委員会、株式会社クリーク・アンド・リバー社
CSS Nite in Nagoya, Vol.4(Movable Type特集)
- 日時:2008年6月9日(月)13:00(開場:12:30)
- 会場:ルーセントタワー/ビジネスサポートセンター
- 出演:黒野 明子、関根 元和、丹羽 章、野田 純生、藤本 壱、鷹野雅弘
- 定員:115名
- 主催:CSS Nite実行委員会
MT4LP5 がかなり好評でしたので、行けなかった方はこの機会に是非、ご参加ください。大阪版は6000円、名古屋版は7000円で、いずれも MT4LP5 より割安になっています。
なお、私は今回参加しておりませんので、ご紹介まで。
Movable Type 4 のブログ記事投稿画面のカテゴリー選択エリアを拡張する
私のブログは、カテゴリ数が結構肥大化してしまって、とりとめのない量になっています。
で、ブログを投稿する時に面倒に感じているのは、ブログ記事に設定するカテゴリのチェックです。カテゴリの表示エリアの高さがあまりないので、右側のスクロールバーで探すのは動きがシビアです。マウスでスクロールもできますが、個人的にはもう少しスクロール量が多い方がありがたく、「帯に短し、襷に長し」といった感じでしょうか。

ということで、表示エリアを拡張する方法を紹介します。下は拡張後のカテゴリ選択エリアです。
久々の力技ですが、こういうのが面白いです。

2011/11/16追記:MT5.0/5.1対応の情報は以下を参照願います。
1.CSSファイルのダウンロード
管理画面のCSSファイルはスタティックディレクトリの
mt-static/css/main.css
なので、これをダウンロードします。
2.値の変更
ダウンロードしたmain.cssを任意のエディタで開き、「.category-selector-list」で検索します。そのセレクタの中に、
height:150px;
というプロパティがあり、これがカテゴリリストの高さを指定するものです。これを好きな値に変更してください。
3.CSSファイルのアップロード
修正したmain.cssを元のディレクトリに上書きアップロードします。これでブログ記事投稿画面を開けば、カテゴリ表示エリアが拡張されます。
なお、ブログ記事投稿画面のtmplファイルを書き換えて、heightプロパティを上書きするCSSファイルを呼び出すようにすれば、プラグインで実装できると思います。
ブログ開設4周年記念・【TB企画】あなたのおすすめブログ
本日、ブログ開設より丁度4年が経過致しました(本当は昨日投稿すべきエントリーでしたが、完全に忘れてました...)。
こうして大過なくブログを続けてこられたのも、皆様の暖かいご支援のおかげです。この場をお借りして心よりお礼申し上げます。
まず、現在のブログ運営状況は下記の通りです。
- エントリー:1680(約1エントリー/日)
- コメント:13274
- トラックバック:4439
- アクセス数:約8500PV/日・約25万PV/月(Google Analytics による直近1ヶ月分)
そして4周年記念ということで、3周年記念の時よりさらにみかけなくなった「TB(トラックバック)企画」を行いたいと思います。
「TB企画」とは、TB企画者が出したお題でエントリーを書き、それをTB企画者の元エントリーへトラックバックするというもので、私がブログを始めた2004年にはあちこちでTB企画をやってました。
昨年、一昨年のTB企画の模様は下記の通りです。TB企画をご存じない方の参考にどうぞ。
- ブログ開設3周年記念・【TB企画】あなたのおすすめサービス・ツール(結果)
- ブログ開設2周年記念・【TB企画】あなたのサイトのお勧めエントリー(結果)
- ブログ開設1周年記念・【TB企画】あなたのサイトのお気に入りカスタマイズ(結果)
今回のお題は
- あなたのおすすめブログ
にしてみました。
あなたが気に入っているブログ(サービスやツール以外)をひとつかふたつ(いくつでもいいです)取り上げ、気に入っている点や役に立った点、あるいは思い出等をご自身のサイトで紹介し、このエントリーにトラックバックしてください。
なお頂いたトラックバックの記事については、これまで2週間後位を目処にブログのキャプチャ画像と共にエントリーにて紹介させて頂いてましたが、現在多忙のため、余裕ができ次第とさせてください(トラックバックがあればですが)。多少、皆様のサイトのアクセス増加に貢献できると思います。
という訳で、4年目で限界かと思いましたが、なんとか乗り切り、5年目に突入することができました。
今後ともよろしくお付き合いください。
本文と追記を切り替える Web2.0
本文と追記の表示を切り替えるカスタマイズです。
ご要望を頂きましたので、まずは Movable Type の「追記文章の折りたたみ Web2.0」をアレンジしたものをご紹介します。
1.特徴
- JavaScript エフェクトライブラリ script.aculo.us(スクリプタキュラス)を利用し、「続きを読む」リンクをクリックすると追記文章をスライドダウンで表示し、本文を非表示にします。
- JavaScript が無効の場合はブログ記事アーカイブにジャンプします。
- ライブラリファイルを編集せずに折りたたみ速度の変更が可能です。
2.サンプル
3.script.aculo.us のインストール
script.aculo.us のページの「get it already!」の下にある「Downloads page」のリンクをクリック。

次のページで「current version」の下にある「scriptaculous-js-1.7.0.zip(または拡張子が tar.gz / tar.bz2)」のリンクをクリック。バージョン 1.7.0 は2007年3月現在です。

ダウンロードアーカイブを解凍して内容をサーバのメインページと同じディレクトリにアップロード。ここでは下記のような配置になっていることを前提に話を進めます。
/scriptaculous
/lib
prototype.js
/src
controls.js
effects.js
scriptaculous.js
scriptaculous というディレクトリは解凍後のディレクトリ名を変更しています。lib と src はアーカイブのままの構成です。src 配下にはここで利用しないファイルも含まれていますので、まとめてアップロードしておくといいでしょう。
4.テンプレートの修正1(HTMLヘッダ修正)
折りたたみをしたいテンプレートの編集画面を開き、</head> の直前に下記を追加します。
<script type="text/javascript" src="<$MTBlogURL$>scriptaculous/lib/prototype.js"></script>
<script type="text/javascript" src="<$MTBlogURL$>scriptaculous/src/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="<$MTBlogURL$>scriptaculous/src/effects.js"></script>
<script type="text/javascript" src="<$MTBlogURL$>scriptaculous/src/controls.js"></script>
<script type="text/javascript">
Effect.DefaultOptions = {
transition: Effect.Transitions.sinoidal,
duration: 0.5, // seconds
fps: 60.0, // max. 60fps due to Effect.Queue implementation
sync: false, // true for combining
from: 0.0,
to: 1.0,
delay: 0.0,
queue: 'parallel'
}
function ajaxShowHide(entryID) {
element = $('Text' + entryID);
if(element.style.display == 'none') {
options = {
afterFinish: function(effect) {
$('Link' + entryID).firstChild.innerHTML = '≪ 続きを隠す';
Element.show(effect.element);
}
};
Effect.BlindDown(element, options);
} else {
options = {
afterFinish: function(effect) {
$('Link' + entryID).firstChild.innerHTML = '続きを読む ≫';
Element.hide(effect.element);
}
};
Effect.BlindUp(element, options);
}
element = $('Body' + entryID);
if(element.style.display == 'none') {
options = {
afterFinish: function(effect) {
Element.show(effect.element);
}
};
Effect.BlindDown(element, options);
} else {
options = {
afterFinish: function(effect) {
Element.hide(effect.element);
}
};
Effect.BlindUp(element, options);
}
}
</script>
6行目以降は script 開始・終了タグを外して外部ファイルにしても構いません(その場合インクルードするための script タグは effct.js をインクルードしている script 要素の下に記述してください)。
折りたたみ速度を変更する場合は、
duration: 0.5, // seconds
の数値を変更します。0.5 はスライドアップ・スライドダウンに 0.5 秒かかることを意味します。
この Effect.DefaultOptions = { ... } の部分は scriptaculous ライブラリの設定の上書きですので、速度を変更しない場合はここから削除しても構いません。ちなみにデフォルトは1秒に設定されています。
5.テンプレートの修正2(追記文章表示用 MT タグ修正)
追記部分を修正します。デフォルトテンプレートと公開テンプレートの変更例を示します。
変更前(デフォルトテンプレート)
<MTIfNonEmpty tag="EntryMore" convert_breaks="0">
<p class="entry-more-link">
<a href="<$MTEntryPermalink$>#more">続きを読む "<$MTEntryTitle$>" »</a>
</p>
</MTIfNonEmpty>
変更前(公開テンプレート)
<MTEntryIfExtended>
<div class="entry-more">
<a href="<$MTEntryPermalink$>#more">続きを読む "<$MTEntryTitle$>"</a>
</div>
</MTEntryIfExtended>
変更後(デフォルトテンプレート/公開テンプレート共通)
<div id="Body<$MTEntryID$>"><$MTEntryBody$></div>
<MTIfNonEmpty tag="EntryMore" convert_breaks="0">
<div id="Link<$MTEntryID$>" class="ajax-entry-more-link"><a href="<$MTEntryPermalink$>" name="<$MTEntryID pad="1"$>" onclick="ajaxShowHide('<$MTEntryID$>');return false;">続きを読む ≫</a></div>
<div id="Text<$MTEntryID$>" style="display: none">
<$MTEntryMore$>
</div>
</MTIfNonEmpty>
ブログ記事アーカイブは下記の内容を利用してください。JavaScript が OFF でも追記部分が読めるよう、noscript タグで追記を表示するようにしています。
変更後・ブログ記事アーカイブ(デフォルトテンプレート/公開テンプレート共通)
<div id="Body<$MTEntryID$>"><$MTEntryBody$></div>
<MTIfNonEmpty tag="EntryMore" convert_breaks="0">
<div id="Link<$MTEntryID$>" class="ajax-entry-more-link"><a href="<$MTEntryPermalink$>" name="<$MTEntryID pad="1"$>" onclick="ajaxShowHide('<$MTEntryID$>');return false;">続きを読む ≫</a></div>
<div id="Text<$MTEntryID$>" style="display: none">
<$MTEntryMore$>
</div>
<noscript>
<div id="more" class="entry-more"><$MTEntryMore$></div>
</noscript>
</MTIfNonEmpty>
上記のスクリプトは貼り付けた後、編集しても構いませんが、div 開始タグと a 開始タグの間に改行を含まないようにしてください(Firefox で正常に動作しなくなります)。
6.CSS
「続きを読む」「続きを隠す」のリンクに class 属性 ajax-entry-more-link を与えています。必要に応じて設定してください。
.ajax-entry-more-link {
/* 任意のプロパティを設定 */
}
7.その他
HTML ページの1行目に XML 宣言がある場合、IE6 では動作がややスムーズではありません(開く瞬間と閉じた瞬間にビクッとなります)。サンプルの公開テンプレートは XML 宣言を外しています。
アナログテレビで地上デジタル放送を視聴する方法
2011年7月24日から、アナログ放送が地上デジタル放送(地デジ)に完全移行します。
それまでに、地デジ対応のテレビに買い替えなければならないと思っている方も少なくないと思いますが、アナログテレビ(アナログ放送しか受信できないテレビ)で、地上デジタル放送を視聴する方法がいくつか(というか、2つ)あります。
すでにご存じの方も多いと思いますがご紹介まで。
1.デジタル放送受信用チューナーを購入する
IOデータから発売されている「地上デジタルハイビジョンチューナー HVT-T100」は、アナログテレビを利用して、地上デジタル放送を視聴できる、単体の地デジチューナーです。PC用ディスプレイも利用できるようです。
![]() | I-O DATA 地上デジタルハイビジョンチューナー HVT-T100 アイ・オー・データ 2008-05-30 売り上げランキング : 163 Amazonで詳しく見る by G-Tools |
このチューナーの主な機能は、次の通りです。
- 電子番組表(EPG)による視聴予約
- 字幕放送
- CATVパススルーに対応
- アナログテレビ画面(4:3)接続時に、フル画面表示する「フィット機能」
- テレビ放送波の利用によるファームウェア自動更新
- USB接続したPCからのアップデート対応
出力端子は、D4/S映像/コンポジット映像/アナログステレオ音声を装備しています。
2.ケーブルテレビを利用する
ケーブルテレビを利用している場合は、アンテナを設置しなくても、ケーブルを通して地デジ放送を(多分)受信できます。
で、最近、マンションで加入しているケーブルテレビ会社の方が、機器の点検にこられた時に伺って知ったのですが、ケーブルテレビ局で地上デジタル放送の信号を一括受信(して、その信号をアナログに変換して送信?)するので、「地デジ放送を現在のテレビでそのまま見れます」ということらしいです。
ケーブルテレビ会社の方から直接伺ったので間違いないと思いますが、もし認識誤りがありましたらご指摘ください。
なお、総務省のサイトで、ケーブルテレビに加入している場合の受信方法について、上記のような内容が書かれたページがあります。
地上デジタルテレビ放送のご案内 - 受信方法 - ケーブルテレビに加入している場合
3.関連サイト
Web Designing (ウェブデザイニング) 2008年6月号
![]() | Web Designing (ウェブデザイニング) 2008年 06月号 [雑誌] 毎日コミュニケーションズ 2008-05-17 売り上げランキング : Amazonで詳しく見る by G-Tools |
Web Designing には、連載で「Movable Type Step by Step」が掲載されています。2008年6月号では、テンプレート編集の基本と、「スタイル」「ウィジェット」についての操作方法が解説されています。
その最後のTipsで、当ブログのスタイルライブラリを紹介いただいています。その他、釈迦マインドさん、tokyobuddhaさんも詳細されています。興味のある方は、Web Designing 2008年6月号の149ページをご覧ください。
AMNアンケートのお知らせ
AMN (アジャイルメディアネットワーク)では、現在「第2回AMNブログ読者アンケート」を実施中です。
昨年に引き続き、「第2回AMNブログ読者アンケート」を実施いたします。
第1回実施時からAMNに参加頂いたブログ数も増え、読者の層も広がっております。
1回目のアンケートと比較してどういう変化があるのか、またブログを書いている方の特徴などをお聞きしたいと考えております。頂いた結果は今後のサービスに反映させていく予定です。
次のリンクからアンケートフォームに移動できます。
第1回のアンケート結果は以下です。
期間は6月2日(月)までです。皆様のご協力をよろしくお願い致します。
MT4.15ベータ2/MTOS 4.15 ベータ5Bリリースとカスタムフィールドによるブログ記事の並べ替え
MTOS 4.15 ベータ5がリリースされました。
カスタムフィールド関係で機能追加が行われ、カスタムフィールドの値を利用して記事の並べ替えやフィルタリングができるようになっています。
並べ替えは、MTForタグを使えば同じ動作を実現できますが、より簡単にできるようになりました。
1.項目の並べ替え
カスタムフィールドで、ブログ記事に対し、次のような「おすすめ度」というラジオボタンのフィールドを作成します。

各ブログ記事に「おすすめ度」を設定します。

カスタムフィールドを設定ブログ記事を作ります。デフォルトテンプレートでは次のように時系列順で並んでいます。

ブログ記事をおすすめ度順に並べ替えるには、MTEntriesタグに次のsort_byモディファイアを追加します。
<MTEntries sort_by="field:recommend">
:
</MTEntries>
recommendは、カスタムフィールドのベースネームです(テンプレートタグ名ではありません)。
これで降順に表示されるようになりました。

昇順に並べ替えるには、さらにsort_orderモディファイアを追加して次のようにします。
<MTEntries sort_by="field:recommend" sort_order="ascend">
:
</MTEntries>
これで昇順に表示されます。

2.項目のフィルタリング
1項で作成したブログ記事から「おすすめ度2」の記事だけをフィルタリングするには、次のように「field:ベースネーム」モディファイアを設定します。
<MTEntries field:recommend="2">
:
</MTEntries>
これで、「おすすめ度2」の記事だけをフィルタリングして表示します。

Movable Type 4 新しいWebサイトの黄金則-MTで実現するCMSサイト構築のすべて-
Movable Type 4.1 による CMS サイト構築方法が解説された書籍です。
![]() | Movable Type 4 新しいWebサイトの黄金則-MTで実現するCMSサイト構築のすべて- 仲座 恵美 宮永 邦彦 芝 陽一郎 ソフトバンククリエイティブ 2008-04-05 売り上げランキング : 6376 Amazonで詳しく見る by G-Tools |
全5章からなり、1章は基礎知識とインストール、2章は基本機能・テンプレートタグ・CSSの解説。3章から5章がこの本のメインで、コーポレートサイト・ポータルサイト・カタログサイトの3つのサイトを中心に、全体の構成から各ページの作成手順がきめ細かく解説されています。
カタログサイトの商品情報表示には、カスタムフィールドをふんだんに利用しています。ちなみに当ブログのVisibleCustomFieldImageプラグインも紹介くださっていました。ありがとうございます。
手短な紹介で恐縮ですが、CMSサイトを構築するための良書です。
コメント回答滞留のお詫びとお知らせ
業務連絡です。
現在、諸々の事情により、カスタマイズに関するコメントの回答が非常に厳しい状況です。速やかにコメント回答できない状態が7月位まで続きそうです。
ちなみに、フィードや mixi などもほとんど読めていません。なんとか日々のエントリー投稿と、MT4.15に関連する情報を拾い読みしている状態です。
というわけで、コメントの回答につきましては、大変申し訳ありませんが、しばらくお待ち頂くことになります。簡単に回答できそうなものについてはご返事致しますが、場合によっては数週間以上返事ができない場合があります。予めご了承ください。
なお、コメント投稿フォームはそのままにしておきますので、ご質問を投稿して頂くのは構いません。
また「こういうことがやりたい」といった要望レベルのコメントも随時お受けしています。
SubCategoryDepth / SubFolderDepth プラグイン
Movable Type のサブカテゴリーリストやサブフォルダリストで階層を出力するプラグインを作りました。画面のようにサブカテゴリーの階層を表示できます。

ちなみにMT4では、制御系タグを利用すればこのようなことは簡単に実現できますが、このプラグインはMT4がリリースされる以前、1年ほど前に作ったもので、せっかくなので公開します。
1.ダウンロード
下記のリンクからプラグインアーカイブをダウンロードし、任意のフォルダに保存してください。
2.インストール
プラグインアーカイブを解凍し、中にある SubCategoryDepth.pl を plugins ディレクトリにアップロードしてください。
ブログ管理画面より「システム」→「プラグイン」でプラグイン一覧を表示し、次のように表示されればOKです。

3.使用方法
このプラグインが提供する MTSubCategoryDepth タグは、次のブロックタグで利用可能です。
- MTTopLevelCategories
- MTSubCategories
- MTTopLevelFolders
- MTSubFolders
冒頭のサンプルのようにサブカテゴリーリストの階層を出力する場合は、次のように記述します。
<mt:TopLevelCategories>
<mt:SubCatIsFirst>
<ul class="widget-list">
</mt:SubCatIsFirst>
<mt:IfNonZero tag="mt:CategoryCount">
<li class="widget-list-item"><a href="<$mt:CategoryArchiveLink$>"<mt:IfNonEmpty tag="mt:CategoryDescription"> title="<$mt:CategoryDescription$>"</mt:IfNonEmpty>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
<mt:Else>
<li class="widget-list-item"><$mt:CategoryLabel$>
</mt:IfNonZero>
<mt:SubCategoryDepth setvar="depth" />
階層<mt:getVar name="depth" op="++" />
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast>
</ul>
</mt:SubCatIsLast>
</mt:TopLevelCategories>
プラグインで出力するデフォルト値は、最上位の親階層は0になり、階層が深くなる毎に+1されます。
B型自分の説明書・A型自分の説明書
最近、巷で流行っているらしく、読みました。
![]() | B型自分の説明書 Jamais Jamais 文芸社 2007-08 売り上げランキング : 5 Amazonで詳しく見る by G-Tools |
![]() | A型自分の説明書 Jamais Jamais 文芸社 2008-04 売り上げランキング : 359 Amazonで詳しく見る by G-Tools |
タイトルにある「説明書」からお分かりの通り、基本操作・外部接続・色々な設定・プログラム...と、
説明書っぽい構成になっています(章立てと内容はそれほど関係ありません)。各項目にはチェックマークがついていて、チェックすることで「自分説明書」が完成するというものです。
それより、著者のJamais Jamais さんが何者かという方が気になるのですが...。
エンジニアという仕事
カテゴリーの階層別にデザインを切り替える for Movable Type 4
カテゴリーの階層別にデザインを切り替えるカスタマイズです。ポイントは「MTElseタグを使わない(使えない)」ということです。
参考記事は下記です。ありがとうございました。
以下に示すサブテンプレートは、ブログ記事リストへの設定を前提にしています。各サブテンプレートの一番外側のifタグは、ブログ記事リストでカテゴリーアーカイブと他のアーカイブを併用している場合を考慮したものです。
2階層の場合(パターン1)
<mt:if name="category_archive">
<MTHasParentCategory>
子カテゴリーのサブテンプレート
</MTHasParentCategory>
<MTHasNoParentCategory>
親カテゴリーのサブテンプレート
</MTHasNoParentCategory>
</mt:if>
2階層の場合(パターン2)
<mt:if name="category_archive">
<MTHasSubCategories>
親カテゴリーのサブテンプレート
</MTHasSubCategories>
<MTHasNoSubCategories>
子カテゴリーのサブテンプレート
</MTHasNoSubCategories>
</mt:if>
3階層の場合(パターン1)
<mt:if name="category_archive">
<MTHasSubCategories>
<MTHasNoParentCategory>
親カテゴリーのサブテンプレート
</MTHasNoParentCategory>
<MTHasParentCategory>
子カテゴリーのサブテンプレート
</MTHasParentCategory>
</MTHasSubCategories>
<MTHasNoSubCategories>
孫カテゴリーのサブテンプレート
</MTHasNoSubCategories>
</mt:if>
3階層の場合(パターン2)
<mt:if name="category_archive">
<MTHasParentCategory>
<MTHasSubCategories>
子カテゴリーのサブテンプレート
</MTHasSubCategories>
<MTHasNoSubCategories>
孫カテゴリーのサブテンプレート
</MTHasNoSubCategories>
</MTHasParentCategory>
<MTHasNoParentCategory>
親カテゴリーのサブテンプレート
</MTHasNoParentCategory>
</mt:if>
4階層の場合
<mt:if name="category_archive">
<MTHasSubCategories>
<MTHasNoParentCategory>
階層1カテゴリーのサブテンプレート
</MTHasNoParentCategory>
<MTHasParentCategory>
<MTParentCategory>
<MTHasParentCategory>
階層3カテゴリーのサブテンプレート
</MTHasParentCategory>
<MTHasNoParentCategory>
階層2カテゴリーのサブテンプレート
</MTHasNoParentCategory>
</MTParentCategory>
</MTHasParentCategory>
</MTHasSubCategories>
<MTHasNoSubCategories>
階層4カテゴリーのサブテンプレート
</MTHasNoSubCategories>
</mt:if>
次回はプラグインもしくは制御タグによる階層判定を行います。
MTOS 4.15 ベータ5リリース
MTOS 4.15 ベータ5がリリースされました。
前回のMTOSリリースで記事にしていた、公開プロファイルの日本語表記が決まったようです。

- Asynchronous Publishing → 非同期スタティックパブリッシング
- High Priority Static Publishing → 一部アーカイブのみ非同期スタティックパブリッシング
また、同梱プラグインとして提供されていた Widget Manager がコア機能に統合されたようです。これにより、テンプレートセットにウィジェットの登録が可能になりました。
また、ウィジェットセットに関しては、テンプレートセットにもアップデートがあります。これまでは、テンプレート各々をどのような種類かで分類し登録できましたが、次のバージョンよりウィジェットセットの登録もできるようになります。
ウィジェットセットの内容は、テンプレートセットに依存することになります。試しに、当ブログで配布しているテンプレートセット(ウィジェット登録なし)に切り換えたときのウィジェット一覧です。

また、コメントプレビュー時の返信状態も改修されています(チェックボックスを非表示)。下はプレビュー時の表示で、返信先が固定されています。

追記:インデックステンプレートの JavaScript が大きく変わっています。
カテゴリーリストの中に月別カテゴリーリストを表示する
カテゴリーリストと、そのカテゴリーがもつ月別カテゴリーリストを同時に表示するカスタマイズです。

カテゴリーリストはサブカテゴリーリストでも可能です。

カテゴリーリストの表示件数を絞り、かつ表示月が少ない場合に有効です。また、月別カテゴリーが有効になっていない場合は月別カテゴリーリストを表示しません。
デフォルトテンプレート(ウィジェット)+カテゴリーリスト
<MTIfArchiveTypeEnabled archive_type="Category">
<div class="widget-archive widget-archive-category widget">
<h3 class="widget-header">カテゴリ</h3>
<div class="widget-content"><ul class="widget-list">
<MTCategories>
<MTIfNonZero tag="MTCategoryCount">
<li class="widget-list-item"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a>
<MTIfArchiveTypeEnabled archive_type="Category-Monthly">
<MTArchiveList archive_type="Category-Monthly">
<MTArchiveListHeader>
<ul class="widget-list">
</MTArchiveListHeader>
<li class="widget-list-item"><a href="<$MTArchiveLink$>"><$MTArchiveTitle regex_replace="/.*: /",""$></a> [<$MTArchiveCount$>]</li>
<MTArchiveListFooter>
</ul>
</MTArchiveListFooter>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
<MTElse>
<li class="widget-list-item"><$MTCategoryLabel$>
</MTIfNonZero>
</li>
</MTCategories>
</div>
</div>
</MTIfArchiveTypeEnabled>
デフォルトテンプレート(ウィジェット)+サブカテゴリーリスト
<MTIfArchiveTypeEnabled archive_type="Category">
<div class="widget-archive widget-archive-category widget">
<h2 class="widget-header">カテゴリ</h2>
<div class="widget-content">
<MTTopLevelCategories>
<MTSubCatIsFirst>
<ul class="widget-list">
</MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li class="widget-list-item"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a>
<MTIfArchiveTypeEnabled archive_type="Category-Monthly">
<MTArchiveList archive_type="Category-Monthly">
<MTArchiveListHeader>
<ul class="widget-list">
</MTArchiveListHeader>
<li class="widget-list-item"><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a> [<$MTArchiveCount$>]</li>
<MTArchiveListFooter>
</ul>
</MTArchiveListFooter>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
<MTElse>
<li class="widget-list-item"><$MTCategoryLabel$>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast>
</ul>
</MTSubCatIsLast>
</MTTopLevelCategories>
</div>
</div>
</MTIfArchiveTypeEnabled>
そのうち折りたためるようにします。
ブログのタグ検索ができるようになりました
当ブログでは Movable Type 4 にアップグレードしてから、タグ検索やタグクラウドの表示ができていませんでしたが、重い腰をあげて、ようやくタグ検索ができるように修正致しました。
利用可能になった部分は次の通りです。
メインページのメニューでタグ検索を用いたいくつかのメニュー

ブログ記事の「Tag」のリンク

タグのページ(のタグクラウド)

当ブログのタグは、3年ほど前の記事「Tag Cloud のページを作る」で紹介したように、Movable Type 3 の時にキーワードフィールドと Tagwire プラグイン、MT-XSearch プラグインを利用したものでしたが、 Ogawa::memoranda さんの mt-keywords2tags スクリプトで、キーワードフィールドの内容をタグフィールドに移動しました。
参考までに、ブログ記事のTag表示の変更内容は次の通りです。
変更前
Tag:[<MTEntryTags glue=", "><a href="<$MTCGIPath$>mt-xsearch.cgi?blog_id=<$MTBlogID$>&search_key=Tagwire&search=<$MTTag encode_url="1"$>" title="<$MTTag$>のタグ一覧へ"><$MTTag$></a></MTEntryTags>]
変更後
Tag:[<MTEntryTags glue=", "><a href="<$MTTagSearchLink$>&IncludeBlogs=<$MTBlogID$>" rel="tag" title="<$MTTagName$>のタグ一覧へ"><$MTTagName$></a></MTEntryTags>]
標準のタグ機能に移行して良かったのは、タグ一覧から多くの typo がみつかり、正しいスペルのタグのマージできたことです。
またタグに半角文字を使っていればタグフィールドに数文字入力すれば、候補の表示および補完ができるので、タイプミスが減ることを期待しています。
ブログのテンプレートも久しぶりに手を加えました。
WebクリエイティブのためのCMSテンプレートデザイン
面白そうなので「WebクリエイティブのためのCMSテンプレートデザイン」を購入してみました。
![]() | WebクリエイティブのためのCMSテンプレートデザイン (Web Designing BOOKS) エ・ビスコム・テック・ラボ 毎日コミュニケーションズ 2007-09-15 売り上げランキング : 109448 Amazonで詳しく見る by G-Tools |
この本の特徴は、最終的にCMS(Movable Type 4/3.3 および WordPress 2.2 対応)を使ってテンプレートを作り上げるのですが、その過程が他書と全く異なっています。
まず最初に CMS を一切使わず、サンプルとなるサイトを手作業でがりがりと作ります。そして、そのソースコードを元に、情報をテンプレートタグに置き換えていく、という作業を行うのです。
また、テンプレート化の前に、用意したコンテンツ(テキストや画像)はそれぞれのCMSのブログ記事やアイテムとして投稿またはアップロードしておきます。これでテンプレートから出力されるソースコードが、最初に作成したものと全く同じものが出力される、という仕組みです。
普段目にしている書籍は、「このテンプレートタグを書くと、こういう出力になります」という順で書かれているのですが、この書籍は「こういう出力をテンプレートタグに直すとこう書きます」と、すべて逆に書かれているので、フィルムを逆回しで再生しているような感覚です。
書籍は、
- ニュース・お知らせページを作成する
- 写真・イラストギャラリーを作成する
- 1行ニュースを作成する
- カタログサイトを作成する
- 英語に対応したサイトを作る
の4つに分かれています。フルカラーなので非常に読みやすいです。
CMSビギナーの方がこの書籍で作れば、完成イメージが最初にあるので、CMSからどのように出力されるか、テンプレートタグで何ができるか、という仕組みを理解しやすいのではないでしょうか。
また、CMSに慣れた方にとっては、「こういうサイトにしたい」という要望をテキストで受けたときに、それをどのようにテンプレートやテンプレートタグに置き換えれば良いかという、ノウハウ集としても使えるかもしれません。
feedpath Rabbit サービス終了と次のフィードリーダー候補
気がついたら4月が終わっていて、永年愛用していた feedpath Rabbit のサービスが終了してしまってました。
とはいえ、一応OPMLは早くに保存しておりまして、サービス終了のお知らせからここ半月ほど、次に使うフィードリーダーの候補をいくつか試していました。
フィードリーダーは安易に livedoor Reader や Google リーダーに乗り換えず、feedburner のフィード購読者から探してみました。

いくつか試してみて、個人的に気に入ったのは、画面一番下にある「HanRSS」というサービスです。
外観は BlogLines を彷彿とさせます。
私の選定ポイントである、タイトルのみ表示と本文の切り替えが簡単にできるのが気に入ってます。下がタイトルのみの表示状態で、「内容一覧」のリンクをクリックすると全文表示されます。

これが全文表示状態です。先ほどのリンクは「タイトル一覧」に変わり、もう一度クリックすると折りたたまれます。
動きもキビキビしていてストレスありません。またタイトル・全文切り替えはショートカットキーも用意されています。タイトルバー部分をクリックしても可能です。

既読分もセレクトボックスを選択すれば読むことができます。

ブログを横断したまとめ読みができないのが唯一惜しいところですが、結構気に入ってます。
と書いておきながら、Google リーダーで読んでいる自分がいるのは何故でしょう・・・。
余談ですが、Google リーダーは Firefox 3 ベータで読むと、折りたたみ動作が快適です。
Movable Typeの再構築の出力制御について
ご存知の方も多いと思いますが、Movable Type で再構築(スタティックパブリッシング)を行った時、指定したすべてのファイルは無条件に出力されない仕様になっています。
例えば、すべてのインデックステンプレートで、「再構築オプション」をチェックしている状態(4.15以降であれば「スタティック」を選択)で、再構築画面から「すべてのファイル」または「インデックスのみ」を指定して再構築した場合、スタイルシートやJavaScript(mt.js)を最近編集していないのであれば、それらのファイルのタイムスタンプは更新されません。
極端な条件にすると、ブログ記事やテンプレート、あるいはコメント・トラックバックなど、前回の再構築からブログの情報が全く変更されていない状態で、再構築画面から「すべてのファイル」を選択して再構築を行っても、ファイルはひとつも出力(更新)されません。
この仕様に、最近まで全く気がついていませんでした。
レンタルサーバやローカルPCのタイムスタンプを確認しましたので、おそらく間違いはないと思いますが、認識誤りがありましたらご指摘ください。
1.ファイルが出力される条件
再構築でファイルが出力される条件を示します。
ソースをトレースすれば明確な条件が分かると思いますが、時間がないので(というかトレース能力が低いので)再構築を実際に行って、確認した限りの内容です。
- テンプレートを編集した場合
- 変更した情報に関連するテンプレートタグがテンプレートに記述されている場合
- 管理画面からファイルの出力内容に関係する設定の変更が行われた場合
- 再構築対象のファイルがなくなっている場合
2.各条件の詳細
1番目の条件は自明ですが、テンプレートの内容に変更があった場合、対象のテンプレートを再構築することによってファイルが出力されます。
2番目の条件は、例えば、コメントを投稿(公開)したときに、「最近のコメント」といったコメント関連のテンプレートタグが存在するテンプレートだけが再構築対象になります。逆に、コメント関連のテンプレートタグが存在しないテンプレートは再構築対象になりません。
3番目の条件は、例えば、ブログ記事編集画面でコメント・トラックバックの受信設定を変更した場合、そのブログ記事の内容を変更していなくても、コメントフォームやトラックバックURLの表示が変わるため、保存によって再構築され、ファイルが出力されます。
4番目の条件は、テンプレートの変更や該当するテンプレートタグがなくても、ファイルが何らかの要因でなくなってしまった場合は再構築されます。これはパスやファイル名が変更されたときも同じと思われます。
3.ファイルを出力したい場合
プログラムをハックすれば出力できる手段があるはずですが(または環境変数)、管理画面上で簡単に全てのファイルを再構築するには、テンプレートで共通に呼び出しているテンプレートモジュールを適当に編集してから再構築するのが無難ではないでしょうか。
4.再構築の最適化
テンプレートタグの有無で再構築が制御できることが間違いないのであれば、部品を単純にインクルードするよりも、コメントやトラックバックなどの特定テンプレートタグをモジュール化することで、再構築時間はより短縮できると思います。
4.15のSSIを用いれば、独自にPHP化せずにそのようなことが実現可能かもしれません。
5.再構築の定義
ふと思ったのですが、画面上再構築は行われているのに、仮にファイルがひとつも出力されない場合は「再構築」という表現は正しいのでしょうか(単に素朴な疑問です)。
内部処理では再構築するためのチェックが行われていると思いますし、それを含めて再構築(処理)と定義するのかもしれませんが...。
一括再構築は別として、例えば、個別再構築の場合「前回から変更がなかったのでファイルは更新されませんでした」というメッセージ出力も可能な気がします。
すいません。ちょっと疲れてます。








![Web Designing (ウェブデザイニング) 2008年 06月号 [雑誌]](http://ecx.images-amazon.com/images/I/51XIdQLK8WL._SL160_.jpg)





