Top > November 2008 [全て開く]

Web Site Expert #21

November 30,2008 12:03 AM
Category:[書籍]
Tag:[, , ]
Permalink

The blog of H.Fujimoto の藤本壱さんが「Web Site Expert #21」の「特別小冊子」を執筆されています。

Web Site Expert #21Web Site Expert #21
編集部

技術評論社 2008-11-18
売り上げランキング : 21053

Amazonで詳しく見る
by G-Tools

特別小冊子は「Movable Type 4.2 新機能とその活用」で、主にテンプレートモジュールキャッシュをはじめ、Movable Type 4.2 の新機能の概要や追加テンプレートタグなどが掲載されています。

The blog of H.Fujimoto - Web Site Expert #21の付録小冊子を執筆

なお、本誌の方には次のような記事が掲載されています。

  • 特集1:話題は映像から生まれる動画マーケティング術2009
  • 独自の検索エンジンを構築する: Yahoo! BOOS
  • Webサイトの成功を約束する「柔軟」なCMSの条件とは?成長するCMSで攻めのマーケティング
  • クラウドソーシングを活用した新機軸C-TEAMの可能性に迫る!
  • WebSig24/7プレゼンツ:前編:「第20回WegSig会議「?」を「!」に変えてみる会議」レポートプロジェクト化が進むWebの現場/後編:近寄りがたいセマンティックをより身近に感じてもらうためのアプローチ
  • Webブラウザ最新動向2009
  • エンタテインメントからエンタープライズへ - Adobe AIRの可能性とコードサイニングが高めるAIRの実用性
Comments [0] | Trackbacks [0]

センタリングしたけど

November 29,2008 12:33 AM
Category:[ダジャレ]
Tag:[]
Permalink
Comments [0] | Trackbacks [0]

コンサート出演のお知らせ

November 28,2008 12:55 AM
Category:[お知らせ]
Tag:[]
Permalink

私事で恐縮ですが、今度の日曜日、当方の所属しているアマチュアマンドリンオーケストラのコンサートに出演します。私は指揮者を務めてまして、全曲指揮をします。

新座マンドリンクラブ第49回定期演奏会

日時:11月30日(日)14:30 開場 / 15:00 開演(17:00 頃終演予定)
場所:練馬区立練馬文化センター・小ホール
    (西武池袋線、都営地下鉄大江戸線 「練馬」駅北口より徒歩1分)
入場料:無料

地図

大きな地図で見る

練馬区立練馬文化センター外観

大きな地図で見る

演奏曲目:

Ⅰ部
マンドリニストの生活(J.B.Kok)
海の少女(服部正)
Crystal of Snow(松崎洋輝) 【初演】
第二ギリシャ狂詩曲(N.Lavdas)
Ⅱ部 『懐かしの歌謡曲 ~あの頃の君へ~』
湯の町エレジー(ギター独奏)
Love Love Love
川の流れのように
赤いスイートピー
いい日旅立ち
瀬戸の花嫁
見上げてごらん夜の星を
Ⅲ部
マンドリン・オーケストラのためのソナタ "ノア"(伊東福雄) 【初演】
間奏曲(S.Falbo)
杜の鼓動 ~街の灯(丸本大悟)

演奏メンバーは35名程度です。本番の約1年前から練習を開始して、月2回程度練習を行い、ここ1ヶ月の土日はこの演奏会のために寸暇を惜しんで練習してきましたので、そこそこの迫力と味のある演奏をお聴かせできると思います。

ご覧の通り、演奏曲目は馴染みのないマンドリンオリジナルの曲が多いのですが、3部構成で、2部は歌謡曲のアレンジを何曲か演奏します。

東京近郊にお住まいで音楽に興味がある方、あるいはブログのカスタマイズで行き詰った方、ご都合がよろしければ息抜きがてら是非お越しください。

なお、一応クラシック形式のコンサートですので、初めてそういった形式のコンサートにお越しになる場合は、次のマナーをお心がけください。

  • 未就学児のお子様の入場はご遠慮ください
  • 演奏中は携帯の電源等は切ってください
  • 演奏中の入退場はご遠慮ください
  • 演奏中の写真撮影はご遠慮ください
  • 座席は中央やや後ろ辺りが一番音響がいいです
  • 「曲が終わった」と思っても終わっていないことがありますので、慌てて拍手はしなくても大丈夫です
  • 寝ても構いませんがいびきはかかないように
  • 終演後、演奏者は全員ロビーに出て友人・知り合いなどに挨拶に伺いますが、着替えや舞台・部屋の片付けなどで、出てくるまでに時間がかなりかかることがあります

以上です。
皆様のご来場をお待ち申し上げます。

Comments [0] | Trackbacks [0]

「小粋な UserList」不具合のお知らせ

November 27,2008 1:30 AM
Category:[BlogRolling, お知らせ]
Tag:[]
Permalink

当ブログのテンプレートご利用者の方をリスティングしている「小粋な UserList 」ですが、現在下記の事象が発生しています。

  • リストが更新されていない
  • リストが文字化けする

1.「小粋な UserList」とは

「小粋な UserList」は、冒頭にも記したとおり、当ブログのテンプレートご利用者の方を登録したリンクリストで、グローバルナビゲーションの Link をクリックした先にある「Template Users」がそうです。

Blogrollingこのリンクリストは BlogRolling を使用しており、登録しているブログが更新されると(厳密には BlogRolling のPIng サーバーに更新通知が送信されると)、リンクリストの先頭に該当のブログが表示されます。BlogPeople のリンクリストもこれと同じ仕組みです。

「小粋な UserList」の詳細はテンプレートのページの中ほどに記載しています。

2.不具合の原因

BlogRolling が Blogrolling 2.0 として生まれ変わるようで、そのため、現在機能停止中となっています。

Blogrolling

BlogRolling の管理画面にはログインできるのですが、編集作業などができません。

3.「小粋な UserList」設置されている方へ

BlogRolling のサイトではまもなくサービスが開始されるようです。回復しましたらブログにて周知致しますので、そのままにしておくか、一旦「小粋な UserList」を外しておいてください。

Comments [2] | Trackbacks [0]

WordPress テーマ修正(フッタ付きリキッドレイアウト対応)

November 26,2008 1:55 AM
Category:[テーマ]
Tag:[, ]
Permalink

現在配布中の WordPress テーマに、フッタ付きリキッドレイアウトを追加しました。また、カラムレイアウトをこれまでより簡単に切り替えられるように改善しました。

これまで配布していたテーマのリキッドレイアウトは、CSSレイアウトの構造上、背景つきのフッタを表示させると、フッタの表示がサイドバーに重なってしまうという欠点があったため、簡易なテキストのみをフッタとして中央カラムに表示していました。

今回、リキッドレイアウトについては、ネガティブマージンを利用したCSSレイアウトに変更したので、背景つきのフッタもサイドバーに重ならずに表示させることができると思います。

今回追加したリキッドレイアウトは以下の 3 種類です。いずれもフッターを表示します。

3カラムリキッド(左右サイドバー)

3カラムリキッド(右サイドバー)

2カラムリキッド(右サイドバー)

なお、デフォルトはレイアウトは、次の3カラム固定レイアウトです。

表示は、Windows XP + IE6/Firefox 2/Oprea 9/Safari 3 で確認しています。

テーマのダウンロードおよびテーマの適用方法は、「WordPress テーマ(テンプレート)・3カラム版」を参照してください。以下、各リキッドレイアウトの変更方法を示します(デフォルトレイアウトは3カラム固定レイアウトです)。

1.テーマのダウンロード

下記のリンクよりテーマをダウンロードしてください(後日テンプレート配布ページに移動します)。

koikikukan3.zip

2.カラムレイアウト変更方法

テーマエディタで「ヘッダー」を選択し、下記の赤色部分を変更するだけです。

<?php global $layout; $layout = 'layout-three-column'; ?>

設定値は次の通りです。

  • 3カラム固定(左右サイドバー):layout-three-column
  • 3カラムリキッド(左右サイドバー):layout-three-column-liquid
  • 3カラムリキッド(右サイドバー):layout-three-column-liquid-right
  • 2カラム固定(左サイドバー):layout-two-column-left
  • 2カラム固定(右サイドバー):layout-two-column-right
  • 2カラムリキッド(右サイドバー):layout-two-column-liquid-right
  • 1カラム固定:layout-one-column
  • 1カラムリキッド:layout-one-column-liquid
Comments [0] | Trackbacks [1]

ArchivePathSelector プラグイン

November 25,2008 12:55 AM
Category:[管理画面]
Tag:[, , ]
Permalink

Movable Type のブログ管理画面の「設定」→「公開」で「アーカイブパス」を設定している場合でも、特定のアーカイブの出力先にサイトパスが選択できるようになるプラグインです。

このプラグインは、通常のブログのアーカイブページに加え、最近登場した「iPhone 用テンプレートセット」などでアーカイブテンプレートを使用する場合、iPhone 用のアーカイブテンプレートにアーカイブパスを適用しないことが目的です。

つまり、アーカイブURL・アーカイブパスを設定していても、次のような URL が実現できます。

  • ブログのURL:http://user-domain/
  • ブログのアーカイブページのURL:http://user-domain/archives/
  • iPhone用ページのURL:http://user-domain/i/
  • iPhone用アーカイブページのURL:http://user-domain/i/

プラグインを適用しない場合は次のようになります(赤色部分が上記との差分)。

  • ブログのURL:http://user-domain/
  • ブログのアーカイブページのURL:http://user-domain/archives/
  • iPhone用ページのURL:http://user-domain/i/
  • iPhone用アーカイブページのURL:http://user-domain/archives/i/

1.機能概要

ArchivePathSelector プラグインをインストールすると、アーカイブテンプレートの「テンプレートの設定」に「アーカイブパス適用」というチェックボックスを表示します(デフォルト状態はチェック)。

アーカイブパス適用

iPhone 用アーカイブページであれば、次のように、「パス」の先頭に「i/」を設定し、「アーカイブパス適用」のチェックを外して再構築すれば、そのアーカイブテンプレートについては、サイトパス直下に、設定した「パス」の形式でファイルを出力します。

アーカイブパスを適用しない

なお、次の場合は「アーカイブパス適用」の項目を表示しません。

  • ブログ管理画面の「設定」→「公開」の「アーカイブをサイトパスとは別のパスで公開する」がチェックされていない場合
  • ブログ管理画面の「設定」→「公開」の「アーカイブをサイトパスとは別のパスで公開する」がチェックされていて、「アーカイブパス」の内容が「サイトパス」と同じ場合
  • ウェブページアーカイブの場合

2.注意事項

このプラグインは Windows では正常に動作しません(チェックを外したアーカイブもアーカイブパス配下に出力)。

3.ArchivePathSelector プラグインのダウンロード

下記の ArchivePathSelector.zip をクリックして、プラグインアーカイブをダウンロード。

修正履歴

2008.11.25 初版
2010.11.03 v0.02/v0.10 Movable Type 5対応/Windowsでの不具合対処(by Oscarさん
2011.07.13 v0.11 MT5.1 対応

プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。

4.ArchivePathSelector プラグインのアップロード・インストール

プラグインアーカイブを展開し、中にある ArchivePathSelector フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。

本格版はアップロードした後に管理画面にアクセスすると、次のようなアップグレード画面になりますので、「アップグレード開始」をクリックし、画面にしたがって操作を進めてください。

アップグレード開始

システム管理画面のプラグイン一覧で、「ArchivePathSelector ~」が表示されればインストール完了です。

プラグイン一覧

これで設定はすべて完了です。アーカイブテンプレート編集画面で表示を確認してください。

Comments [13] | Trackbacks [3]

アップロード画像の img 要素の alt 属性・title 属性をカスタマイズする(サムネイル画像編)

November 24,2008 2:22 AM
Category:[4.2, エントリー, 画像]
Tag:[, , , , ]
Permalink

以前エントリーした「アップロード画像の img 要素の alt 属性・title 属性をカスタマイズする」で、サムネイル画像への対応がもれていたので、本エントリーにて補足します。

1.概要

Movable Type のデフォルト状態では、次のようにアップロード時のオプションでサムネイル表示を設定した場合、

アップロードオプション

埋め込まれる img 要素には、title 属性が表示されません。

変更前

下に示す、2項のカスタマイズを行えば、埋め込まれる img 要素に title 属性が追加され、「ファイルオプション」の「説明」フィールドの内容が反映されます。

変更後

2.「説明」フィールドの内容を title 属性に挿入する

サムネイル画像を Movable Type の記事本文などに挿入したときに、img 要素に title 属性を追加し、「説明」フィールドの内容を title 属性の内容に反映させるカスタマイズです。

このカスタマイズでは、「アップロード画像の img 要素の alt 属性・title 属性をカスタマイズする」の2項「『説明』フィールドの内容を title 属性に挿入する」のカスタマイズも同時に行っています。

「説明」フィールドの内容を title 属性に挿入するには、次の内容をパッチとして使ってください。パッチの実施方法は下記のエントリーを参考にしてください。

--- lib/MT/Asset/Image.pm.bak   Tue Aug 12 09:51:00 2008
+++ lib/MT/Asset/Image.pm       Mon Nov 24 01:54:47 2008
@@ -305,8 +305,9 @@
             my $link =
               $thumb
               ? sprintf(
-                '<img src="%s" %s alt="%s" %s />',
+                '<img src="%s" %s title="%s" alt="%s" %s />',
                 MT::Util::encode_html( $thumb->url ),   $dimensions,
+                MT::Util::encode_html( $asset->description ),
                 MT::Util::encode_html( $asset->label ), $wrap_style
               )
               : MT->translate('View image');
@@ -322,9 +323,10 @@
         else {
             if ( $param->{thumb} ) {
                 $text = sprintf(
-                    '<a href="%s"><img alt="%s" src="%s" %s %s /></a>',
+                    '<a href="%s"><img alt="%s" title="%s" src="%s" %s %s /></a>',
                     MT::Util::encode_html( $asset->url ),
                     MT::Util::encode_html( $asset->label ),
+                    MT::Util::encode_html( $asset->description ),
                     MT::Util::encode_html( $thumb->url ),
                     $dimensions,
                     $wrap_style,
@@ -332,8 +334,9 @@
             }
             else {
                 $text = sprintf(
-                    '<img alt="%s" src="%s" %s %s />',
+                    '<img alt="%s" title="%s" src="%s" %s %s />',
                     MT::Util::encode_html( $asset->label ),
+                    MT::Util::encode_html( $asset->description ),
                     MT::Util::encode_html( $asset->url ),
                     $dimensions, $wrap_style,
                 );

パッチが分からない方は、lib/MT/Asset/Image.pm をダウンロードして任意のエディタで開き、300行目あたりからの下記の部分に、青色の内容を追加してください。変更後、元のディレクトリにアップロードすれば完了です。
作業前にファイルのバックアップをとっておくと良いでしょう。

...前略...
        if ( $param->{popup} && $param->{popup_asset_id} ) {
            my $popup = MT::Asset->load( $param->{popup_asset_id} )
              || return $asset->error(
                MT->translate(
                    "Can't load image #[_1]",
                    $param->{popup_asset_id}
                )
              );
            my $link =
              $thumb
              ? sprintf(
                '<img src="%s" %s title="%s" alt="%s" %s />',
                MT::Util::encode_html( $thumb->url ),   $dimensions,
                MT::Util::encode_html( $asset->description ),
                MT::Util::encode_html( $asset->label ), $wrap_style
              )
              : MT->translate('View image');
            $text = sprintf(
q|<a href="%s" onclick="window.open('%s','popup','width=%d,height=%d,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">%s</a>|,
                MT::Util::encode_html( $popup->url ),
                MT::Util::encode_html( $popup->url ),
                $asset->image_width,
                $asset->image_height,
                $link,
            );
        }
        else {
            if ( $param->{thumb} ) {
                $text = sprintf(
                    '<a href="%s"><img alt="%s" title="%s" src="%s" %s %s /></a>',
                    MT::Util::encode_html( $asset->url ),
                    MT::Util::encode_html( $asset->label ),
                    MT::Util::encode_html( $asset->description ),
                    MT::Util::encode_html( $thumb->url ),
                    $dimensions,
                    $wrap_style,
                );
            }
            else {
                $text = sprintf(
                    '<img alt="%s" title="%s" src="%s" %s %s />',
                    MT::Util::encode_html( $asset->label ),
                    MT::Util::encode_html( $asset->description ),
                    MT::Util::encode_html( $asset->url ),
                    $dimensions, $wrap_style,
                );
            }
        }
...後略...
Comments [0] | Trackbacks [1]

巨大な

November 23,2008 1:05 AM
Category:[ダジャレ]
Tag:[]
Permalink
Comments [0] | Trackbacks [0]

TypePad Connect でコメントを管理する(Movable Type/WordPress/Blogger/Tumblr/TypePad 対応)

November 22,2008 2:34 AM
Category:[TypePad Connect]
Tag:[, ]
Permalink

Six Apart が「TypePad Connect」をリリースしました。

TypePad Connect

TypePad Connect Beta を開始

TypePad Connect Beta を開始しました。TypePad Connect は、これまで Movable Type のコメント認証方式のひとつであった、TypeKey の後継サービスです。今後、Movable Type で TypeKey アカウントでログインし、コメントを投稿したり、TypeKey に関する設定を行う場合は、TypePad Connect のサイトにサインインして行います。

TypePad Connect はブログなどのコメントを管理するサービスです。同様のサービスは、私の知っているところでは小川さんが「DISQUS」というサービスを利用されています。

Ogawa::Memoranda - このブログのコメントシステムにDISQUSを使い始めました

今後はコメントがこういったサービスで賄われていく予感がします。ということで、TypePad Connect の登録から Movable Type 4.2 での設定までを紹介します。

なお、TypePad Connect のリリースに伴い、TypeKey のサービスは終了しました。Movable Type での TypeKey 設定やコメント投稿時のサインインは TypePad Connect にアクセスすることになりますが、これまでとほとんど変わりません。

1.TypePad Connect への登録・サインイン

TypePad Connect のサイトにアクセスして、「Sign Up」をクリック。

TypePad Connect

TypeKey のアカウントでサインインするか、新しくアカウントを作成します。ここでは画面下にある「日本語」を選択した状態で表示しています。

サインイン

OpenIDでサインインすることもできます。

OpenIDでサインイン

2.TypePad Connect でコメント管理をするブログの登録

左上の「ブログを登録する」をクリック。

管理画面1

TypePad Connectをインストールしたいブログの情報を設定して「次へ」をクリックします。

管理画面2

3.ブログのTypePad Connect コメントの設定(Movable Type)

次の画面で TypePad Connect コメントの設定手順が書かれているので、それにしたがって作業を行います。Movable Type/WordPress/Blogger/Tumblr/TypePad はここで選択し、選択したツール・サービスにしたがった内容が表示されます。

管理画面3

Movable Type の場合は、デフォルトテンプレートの「コメント」テンプレートモジュールを例に書かれているので、他のテンプレートを利用している場合は次の内容を入れ換えります。デフォルトテンプレートであれば、テンプレートの内容をすべて入れ替えます。

「コメント」テンプレートモジュール変更前の内容

<MTIfCommentsActive>
<div id="comments" class="comments">
    <MTIf name="comment_preview_template">
    <$MTInclude module="コメント入力フォーム"$>
    </MTIf>
    <MTComments>
        <MTCommentsHeader>
    <h2 class="comments-header">コメント(<$MTEntryCommentCount$>)</h2>
    <div class="comments-content">
        </MTCommentsHeader>
        <$MTInclude module="コメント詳細"$>
        <MTCommentsFooter>
    </div>
        </MTCommentsFooter>
    </MTComments>
    <MTUnless name="comment_preview_template">
    <$MTInclude module="コメント入力フォーム"$>
    </MTUnless>
</div>
</MTIfCommentsActive>

「コメント」テンプレートモジュール変更後の内容(xxx・・・の部分はアカウントによって値が異なります)

<mt:IfCommentsActive>
<div id="comments" class="comments">
 
<mt:IfCommentsAccepted>
<div class="comments-open" id="comments-open">
    <h2 class="comments-open-header">Comments</h2>
    <div class="comments-open-content">
 
    <!-- start tpc -->
    <div id="tpc_thread"></div>
    <div style="display:none;" id="tpc_post_title"><$MTEntryTitle$></div>
    <div style="display:none;" id="tpc_post_message"><$MTEntryBody$></div>
    <script type="text/javascript">
        var TPConnect = {};
 
        TPConnect.tpc_url = '<$MTEntryPermalink$>';
        TPConnect.tpc_title = document.getElementById('tpc_post_title').innerHTML;
        TPConnect.tpc_message = document.getElementById('tpc_post_message').innerHTML;
    </script>
    <script type="text/javascript" src="http://profile.typepad.com/services/embed/tpc/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/embed.js"></script>
    <script type="text/javascript" src="http://static.typepad.com/.shared/js/profile/blogside.js"></script>
    <noscript><a href="http://profile.typepad.com/services/embed/tpc/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/thread?permalink=<$MTEntryPermalink$>">View the entire comment thread.</a></noscript>
 
    </div>
</div>
<mt:Else>
<p>Comments are closed.</p>
</mt:IfCommentsAccepted>
</div>
</mt:IfCommentsActive>

また、「フッター」テンプレートモジュールの <div id="footer"> の直前に下記の内容を設定します(xxx・・・の部分はアカウントによって値が異なります)。

<script type="text/javascript" src="http://profile.typepad.com/services/embed/tpc/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/counts_embed.js"></script>

こんな感じです。「フッター」テンプレートモジュールに設定する代わりに、メインページやブログ記事リストなどから「フッター」テンプレートモジュールをインクルードする直前に設定しても構いません。

「フッター」テンプレートモジュール

設定が完了したらブログを再構築します。

4.ブログへのTypePad Connect コメント表示

ブログ記事ページのコメント欄は次のように表示されます。

ブログ記事ページのコメント欄

サインインすると次のような画面になります。

ブログ記事ページのコメント欄(サインイン後)

テキストを入力すると「確認」「投稿」ボタンがアクティブになります。

ブログ記事ページのコメント欄(テキスト入力後)

「確認」をクリックしたときの画面です。コメントのプレビューが表示され、「編集」をクリックすれば再編集できます。ページが切り替わらないのでストレスなく確認ができます。

コメント確認画面

コメント投稿後の表示です。「Reply(返信)」の他、「Edit(編集)」「Delete(削除)」をコメント投稿者が制御できます(ただし一定期間)。

コメント投稿後の表示

「Reply(返信)」をクリックしたところです。下の「取り消し」をクリックすれば元の画面に戻ります。

「Reply(返信)」をクリック

「Edit(編集)」をクリックしたところです。下の「取り消し」をクリックすれば元の画面に戻ります。

「Edit(編集)」をクリック

コメント投稿後、メインページに表示されている記事下にコメント数(この場合は「1 comment」)が表示されます。

メインページ

5.TypePad Connect コメント管理画面

TypePad Connect の管理画面で「コメント」タブには、投稿コメントが表示され、ここでコメントの管理ができます。

TypePad Connect コメント管理画面(コメントタブ)

「設定」タブをクリックすれば、詳細な設定が可能です。

TypePad Connect コメント管理画面(設定タブ)

禁止リストです。

禁止リスト

TypePad Connect はひとつのアカウントで複数のブログを管理できます。

複数のブログを管理

Comments [0] | Trackbacks [2]

Movable Type 4.2 テンプレートセット修正(アーカイブインデックス追加等)

現在配布中の Movable Type 4.2 テンプレートセットを修正しました。

修正内容は次の通りです。

  • アーカイブインデックスの追加
  • テンプレートセットにバージョン番号付与(プラグイン一覧画面に表示)
  • 不要な制御テンプレートタグの削除

1.アーカイブインデックスの追加

デフォルトテンプレートと同様のアーカイブインデックスを追加しました。アーカイブインデックスへのリンクはメインページの下部に表示しています。

アーカイブインデックス

2.テンプレートセットにバージョン番号付与

テンプレートセットにバージョン番号を付与しました。バージョン番号はプラグイン一覧で確認することができます。なお、各テンプレートセットはレイアウト機能以外の機能追加や不具合を統一して、v1.11 としました。

プラグイン一覧での各バージョンの表記は次のようになります。

ノーマル
ノーマル

スタイル対応
スタイル対応

フッタリ付きキッドレイアウト対応
フッタリキッドレイアウト対応

3.不要な制御テンプレートタグの削除

4.2 テンプレートセットは、4.1 テンプレートセットを流用していたため、一部のテンプレートに不要な制御テンプレートタグ(特に MTSetVar タグ)が残っており、これらを整理しました。

4.ダウンロード

修正版の最新のテンプレートセットは次のリンク先からダウンロードしてください。

Movable Type(MT)テンプレート
Comments [2] | Trackbacks [1]

切込隊長BLOGの新刊「情報革命バブルの崩壊」

November 20,2008 1:55 AM
Category:[書籍]
Tag:[, ]
Permalink

切込隊長BLOG」で有名な山本一郎さんの新刊です。

情報革命バブルの崩壊 (文春新書 667)情報革命バブルの崩壊 (文春新書 667)
山本 一郎

文藝春秋 2008-11
売り上げランキング : 150

Amazonで詳しく見る
by G-Tools

オビからの引用です。

人気ブロガー「切込隊長」であり、同時に、投資の対象として長年IT事業に取り組んできた「山本一郎」による、情報革命の「決算報告」と近未来予測「ネット無料文化は終わる」

買ったばかりでこれから読みます。とりあえず目次だけ。

まえがき - 「無料文化」を支える過剰期待というバブル
第一章 本当に、新聞はネットに読者を奪われたのか?
ネット広告の媒体価値の実像が見えてきた
第二章 ネット空間はいつから貧民の楽園に成り下がってしまったのか?
「理想郷」ネット社会の荒れ放題
第三章 情報革命バブルとマネーゲームの甘い関係
一罰百戒の「一罰」はなぜ堀江氏だったのか
第四章 ソフトバンクモバイル(SBM)で考える時価総額経営の終焉
崖っぷちの天才・孫正義氏による「価格破壊」
第五章 「ネットの中位性」とネット「無料文化」の見直し
ネット界隈が一般社会の秩序の枠組みに取戻されるとき
あとがき - リーマン破綻、そして宴は終わる
Comments [0] | Trackbacks [0]

Movable Type 4.2 テンプレートセット(Movable Type 3 ライク)

現在配布中のMovable Type テンプレート(4.2 対応)を、Movable Type 3 のテンプレート構成に見直したものを配布します。
テンプレートの機能やデザインは変わっていません。

Movable Type 4.2 テンプレート

見直した箇所は下記の部分です。

  • テンプレートモジュールを一切使用せず、ヘッダー・フッターや他のモジュールをメインとなるテンプレートにすべて移動
  • アーカイブテンプレートの「ブログ記事リスト」を「カテゴリアーカイブ」と「日付アーカイブ」に分割

また、モジュール化をやめたことに伴い、ヘッダーなどに記述していた振り分け用テンプレートタグ(MTIf タグなど)も削除しているので、テンプレートの見通しは良くなったと思います。
ただし、ウィジェットについては利便性を考慮して、Movable Type 4.2 のままにしています。

以下のテンプレート一覧を見て頂ければ、おおよその構成が分かると思います。

テンプレート一覧

テンプレートセットは下記のリンクからダウンロードしてください。

template_4_2_utf8_1_3_like_mt3.zip
2008.11.19 v0.01 初版
2008.11.20 v0.02 MTIfタグをさらに削除
2008.11.25 v0.03 コメントプレビューテンプレートの不具合を修正

テンプレートセット設定方法やカラムレイアウト切り替え方法については、次のページを参考にしてください。

Movable Type 4.2 テンプレートセット(スタイル対応版)
Comments [4] | Trackbacks [0]

ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する(Movable Type 4.2/Movable Type 5対応)

ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する」の Movable Type 4.2 版のプラグインを公開します。

元記事の内容は Movable Type 4.1 の内容であり、Movable Type 4.2 では前後リンクが正常に表示されない場合があります。

2009.01.05 追記:Movable Type 5.0 で動作することを確認しました。

1.プラグインの概要

下の画面(元記事の再掲)のブログ記事タイトル上にある前後リンクは、分かりにくいですが、同一カテゴリーのブログ記事です。

ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する」では、元のプラグイン「Previous and next in category」を修正する形で書いてましたが、修正箇所が多いため、プラグインファイルで公開します(ファイル内に元プラグインの著者を掲載しています)。

このプラグインは Movable Type 4.1 / 4.2 / 5.0 で動作することを確認しています。

2.PreviousNextInCategory プラグインのダウンロード

下記の PreviousNextInCategory.zip をクリックして、プラグインアーカイブをダウンロード。

PreviousNextInCategory.zip

プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。下記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。

3.PreviousNextInCategory プラグインのアップロード・インストール

プラグインアーカイブを展開し、中にある PreviousNextInCategory フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。

システム管理画面のプラグイン一覧で、「PreviousNextInCategory ~」が表示されればインストール完了です。

プラグイン一覧

4.プライマリカテゴリーに属するブログ記事のみを表示する場合

ブログ記事アーカイブの任意の位置に下記のサブテンプレートを設定してください。

<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> | 
</MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink archive_type="Category"$>"><$MTEntryCategory$></a>
<MTEntryNextInCategory>
 | <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>

ブログ記事アーカイブを再構築すれば、冒頭のように、同一カテゴリーの前後記事リンクが表示されます。

5.ブログ記事に登録されているすべてのカテゴリーに属するブログ記事を表示する場合

ブログ記事アーカイブの任意の位置に、下記のサブテンプレートを設定してください。

<MTEntryCategories>
<p>
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> | 
</MTEntryPreviousInCategory>
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
<MTEntryNextInCategory>
 | <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>
</p>
</MTEntryCategories>

ブログ記事アーカイブを再構築すれば、ブログ記事が属する全カテゴリーの前後記事リンクが表示されます。

6.元プラグインの変更点

一応、元プラグイン PreviousNextInCategory.pl の変更点を掲載しておきます。実際にはこの修正に加えて、ブログ記事が再構築されたときに同一カテゴリーの前後記事を再構築する処理も追加しています。

ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する」での変更(青色部分を追加)

sub _hdlr_entry_previous_in_category {
    my($ctx, $args, $cond) = @_;
    my $e = $ctx->stash('entry')
        or return $ctx->_no_entry_error('MTEntryPrevious');
    my $cat = $e->category
            or return '';
    if($ctx->stash('category') ne '') {
        $cat = $ctx->stash('category');
    }
    my $prev = $e->previous(1);
    my $res = '';
        while ($prev && !$prev->is_in_category($cat)){
            $prev = $prev->previous(1);
    }
    if ($prev) {
        my $builder = $ctx->stash('builder');
        local $ctx->{__stash}->{entry} = $prev;
        local $ctx->{current_timestamp} = $prev->created_on;
        my %cond = %$cond;
        $cond{EntryIfAllowComments} = $prev->allow_comments;
        $cond{EntryIfCommentsOpen} = $prev->allow_comments eq '1';
        $cond{EntryIfAllowPings} = $prev->allow_pings;
        $cond{EntryIfExtended} = $prev->text_more ? 1 : 0;
        my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
        return $ctx->error( $builder->errstr ) unless defined $out;
        $res .= $out;
    }
    $res;
}
sub _hdlr_entry_next_in_category {
    my($ctx, $args, $cond) = @_;
    my $e = $ctx->stash('entry')
        or return $ctx->_no_entry_error('MTEntryNext');
    my $cat = $e->category
            or return '';
    if($ctx->stash('category') ne '') {
        $cat = $ctx->stash('category');
    }
    my $next = $e->next(1);
    my $res = '';
        while ($next && !$next->is_in_category($cat)){
            $next = $next->next(1);
    }
    if ($next) {
        my $builder = $ctx->stash('builder');
        local $ctx->{__stash}->{entry} = $next;
        local $ctx->{current_timestamp} = $next->created_on;
        my %cond = %$cond;
        $cond{EntryIfAllowComments} = $next->allow_comments;
        $cond{EntryIfCommentsOpen} = $next->allow_comments eq '1';
        $cond{EntryIfAllowPings} = $next->allow_pings;
        $cond{EntryIfExtended} = $next->text_more ? 1 : 0;
        my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
        return $ctx->error( $builder->errstr ) unless defined $out;
        $res .= $out;
    }
    $res;
}

4.2 対応の変更(赤色が 4.1 までの追加部分で、青色部分をさらに追加)

sub _hdlr_entry_previous_in_category {
    my($ctx, $args, $cond) = @_;
    my $e = $ctx->stash('entry')
        or return $ctx->_no_entry_error('MTEntryPrevious');
    my $cat = $e->category
            or return '';
    if($ctx->stash('category') ne '') {
        $cat = $ctx->stash('category');
    }
    my $terms;
    $terms->{category_id} = $cat->id;
    my $prev = $e->previous(1, $terms);
    my $res = '';
        while ($prev && !$prev->is_in_category($cat)){
            $terms->{category_id} = $cat->id;
            $prev = $prev->previous(1, $terms);
    }
    if ($prev) {
        my $builder = $ctx->stash('builder');
        local $ctx->{__stash}->{entry} = $prev;
        local $ctx->{current_timestamp} = $prev->created_on;
        my %cond = %$cond;
        $cond{EntryIfAllowComments} = $prev->allow_comments;
        $cond{EntryIfCommentsOpen} = $prev->allow_comments eq '1';
        $cond{EntryIfAllowPings} = $prev->allow_pings;
        $cond{EntryIfExtended} = $prev->text_more ? 1 : 0;
        my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
        return $ctx->error( $builder->errstr ) unless defined $out;
        $res .= $out;
    }
    $res;
}
sub _hdlr_entry_next_in_category {
    my($ctx, $args, $cond) = @_;
    my $e = $ctx->stash('entry')
        or return $ctx->_no_entry_error('MTEntryNext');
    my $cat = $e->category
            or return '';
    if($ctx->stash('category') ne '') {
        $cat = $ctx->stash('category');
    }
    my $terms;
    $terms->{category_id} = $cat->id;
    my $next = $e->next(1, $terms);
    my $res = '';
        while ($next && !$next->is_in_category($cat)){
            $terms->{category_id} = $cat->id;
            $next = $next->next(1, $terms);
    }
 
    if ($next) {
        my $builder = $ctx->stash('builder');
        local $ctx->{__stash}->{entry} = $next;
        local $ctx->{current_timestamp} = $next->created_on;
        my %cond = %$cond;
        $cond{EntryIfAllowComments} = $next->allow_comments;
        $cond{EntryIfCommentsOpen} = $next->allow_comments eq '1';
        $cond{EntryIfAllowPings} = $next->allow_pings;
        $cond{EntryIfExtended} = $next->text_more ? 1 : 0;
        my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
        return $ctx->error( $builder->errstr ) unless defined $out;
        $res .= $out;
    }
    $res;
}
Comments [5] | Trackbacks [4]

携帯サイト制作 WEBデザインの新しいルール

November 17,2008 12:55 AM
Category:[書籍]
Tag:[, ]
Permalink

以前執筆した「WEBデザインの新しいルール」の携帯サイト制作版が発売されました。

携帯サイト制作 WEBデザインの新しいルール携帯サイト制作 WEBデザインの新しいルール
ファーストビット

翔泳社 2008-10-22
売り上げランキング : 3015

Amazonで詳しく見る
by G-Tools

XHTMLベースの内容で、著者のファーストビットは携帯サイト制作会社です。携帯サイト制作を考えられている方にお勧めの一冊です。

Chapter 01 携帯サイトの世界
1-1 携帯サイトデザイナーに求められる姿勢
1-2 携帯サイトの現状
1-3 様々な携帯コンテンツ
1-4 携帯サイトの言語
1-5 様々な携帯サイト
1-6 携帯電話の歴史
Chapter 02 携帯サイト向けxhtmlを学ぶ
2-1 携帯サイトの特徴
2-2 各キャリアのxhtmlの基本構造
2-3 各キャリアの絵文字の特徴
2-4 フォントの装飾
2-5 ブロックタグとラインとテーブルタグ
2-6 画像の表示とサイズ
2-7 Flashの配信方法
2-8 着信メロディの配信方法
2-9 ムービーの配信方法
2-10 デコメールの配信方法
2-11 きせかえツールの配信方法
2-12 Webサーバへのアップロード
Chapter 03 携帯コンテンツを作る
3-1 待受画像の基礎知識
3-2 待受画像制作の手順
3-3 画像の転送制限
3-4 Flashの基礎知識
3-5 待受Flashの制作
3-6 特殊なFlashの制作
3-7 デコメールの基礎知識
3-8 デコメールテンプレートの制作
3-9 デコメールピクチャと絵文字
3-10 デコメアニメの基礎知識
3-11 デコメアニメの制作
3-12 きせかえツールの基礎知識
3-13 きせかえFlashメニューの制作
3-14 UIコンテンツの制作
3-15 着信メロディの基礎知識
3-16 携帯端末用ムービーの基礎知識
3-17 携帯端末用ムービーの制作
Chapter 04 キャリアや端末ごとにデザインを出し分ける
4-1 PHPの特徴と導入方法
4-2 キャリアの判別方法
4-3 携帯機種の判別方法
Chapter 05 ワンランク上のプロ技 - デザイン編 -
5-1 ロゴ画像をアニメーション化する
5-2 文字を目立たせるカラーテクニック
5-3 テキストを左右に流す
5-4 テキストにキラキラ感を演出する
5-5 ラインと行間をきれいに見せる
5-6 画像の回り込み
5-7 背景が繋がっているように見せる
5-8 オリジナルアイコンを制作する
5-9 アクセスキーを使ってアクセスさせる
5-10 アクセスキーを応用する
5-11 携帯サイト向けバナー広告の基本
5-12 フルFlashの携帯サイトを作る
Chapter 06 ワンランク上のプロ技 - コンテンツ制作編 -
6-1 オリジナルフォントを使った時計連動Flashの制作①
6-2 オリジナルフォントを使った時計連動Flashの制作②
6-3 特定の時間帯にアニメーションが変化する待受Flashの制作
6-4 電波・電池の状態でアニメーションが変化する待受Flashの制作
6-5 デコメアニメでクイズを作る①
6-6 デコメアニメでクイズを作る②
6-7 デコメアニメでおみくじを作る
最新携帯端末スペック一覧
HTMLタグ一覧
3キャリア類似絵文字一覧
カラーチャートと配色パターン
ユーザーエージェント一覧
各種ツールと参考サイト

いまさらですが姉妹本です。

Movable Type WEBデザインの新しいルールMovable Type WEBデザインの新しいルール
荒木 勇次郎

翔泳社 2007-10-17
売り上げランキング : 127364

Amazonで詳しく見る
by G-Tools
Comments [0] | Trackbacks [1]

ドリンク味噌汁

November 16,2008 12:55 AM
Category:[mono]
Tag:[]
Permalink

ニッチな飲み物をゲットしました。その名も「ドリンク味噌汁」。

ドリンク味噌汁

パッケージには「ホットでもおいしくお飲みいただけます」とあり、上蓋を開けて電子レンジで暖められるようです。「それは単なる味噌汁では?」と思われるかもしれませんが、ノーコメント(笑)。

長崎飲料株式会社が製造元ですが、残念ながらオンラインでは販売されていません。Yahoo ショッピングサイトから購入できるようになりました。

長崎飲料「ドリンク味噌汁(しじみエキス)」180ml 12本セット」

長崎飲料「ドリンク味噌汁(しじみエキス)」180ml 12本セット」ドリンク味噌汁

長崎飲料「ドリンク味噌汁(しじみエキス)」180ml 24本セット」

長崎飲料「ドリンク味噌汁(しじみエキス)」180ml 24本セット」ドリンク味噌汁

ネットで検索したところ、紙パックのものは何サイトかみつけましたが、プラスチック容器はこのブログが初かもしれません。

Comments [0] | Trackbacks [1]

彼女は

November 15,2008 11:00 AM
Category:[ダジャレ]
Tag:[]
Permalink

キャビンアテンダントが

Comments [0] | Trackbacks [0]

PowerEdit プラグインで概要を適正に表示する

November 14,2008 1:55 AM
Category:[管理画面]
Tag:[, , , ]
Permalink

昨日公開した PowerEdit プラグインでは概要フィールドを表示していませんでしたが、概要フィールドを適正に表示する方法を紹介します。

PowerEdit プラグインで概要を表示していない理由は、一括編集画面表示時には概要フィールドの内容は、その手前の一覧画面の詳細表示用に最適化(一覧に概要を表示するため、概要フィールドが空の場合、本文の内容を抜粋)してしまっており、CMSContext プラグインで MTExcerpt タグに no_generate モディファイアを適用しても加工後のデータしか取得できません(下)。この状態で保存を行うと、概要フィールドに余分な内容が保存されてしまいます(赤枠部分)。

概要が表示される例

したがって、ソースコードを修正して、概要フィールドが空のときは何も表示しないようにします(下)。

修正後の例

ただし、この修正を行うと、ブログ記事一覧表示の詳細モードの表示で概要フィールドが空の場合は表示されなくなります。

もう少しエレガントな修正方法があるかもしれませんがとりあえず。

1.パッチをあてる

lib/MT/CMS/Entry.pm に以下のパッチを適用します。

--- Entry.pm.bak        Fri Nov 14 01:55:15 2008
+++ Entry.pm    Fri Nov 14 01:56:03 2008
@@ -1843,13 +1843,6 @@
         if ( $row->{excerpt} ) {
             $row->{excerpt} = remove_html( $row->{excerpt} );
         }
-        if ( !$row->{excerpt} ) {
-            my $text = remove_html( $row->{text} ) || '';
-            $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
-            if ( length($text) > length( $row->{excerpt} ) ) {
-                $row->{excerpt} .= ' ...';
-            }
-        }
         $row->{text} = break_up_text( $row->{text}, $text_max_len )
           if $row->{text};
         $row->{title_long} = remove_html( $obj->title );

パッチの適用方法が分からない場合は、lib/MT/CMS/Entry.pm を任意のエディタで開いて、下記の赤色部分をコメントアウトしてください。

変更前

...前略...
        if ( $row->{excerpt} ) {
            $row->{excerpt} = remove_html( $row->{excerpt} );
        }
        if ( !$row->{excerpt} ) {
            my $text = remove_html( $row->{text} ) || '';
            $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
            if ( length($text) > length( $row->{excerpt} ) ) {
                $row->{excerpt} .= ' ...';
            }
        }
        $row->{text} = break_up_text( $row->{text}, $text_max_len )
          if $row->{text};
...後略...

変更後

...前略...
        if ( $row->{excerpt} ) {
            $row->{excerpt} = remove_html( $row->{excerpt} );
        }
<span class="attn">#        if ( !$row->{excerpt} ) {
#            my $text = remove_html( $row->{text} ) || '';
#            $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
#            if ( length($text) > length( $row->{excerpt} ) ) {
#                $row->{excerpt} .= ' ...';
#            }
#        }</span>
        $row->{text} = break_up_text( $row->{text}, $text_max_len )
          if $row->{text};
...後略...

2.entry_table.tmpl を編集する

「4.代替テンプレートの設定」でダウンロードした alt-tmpl.zip の中にある entry_table.tmpl を任意のエディタで開き、下記の赤色部分を削除します。

...前略...
<mt:ignore>
            <tr>
                <th><__trans phrase="Excerpt"></th>
                <td colspan="9"><textarea style="width:760px" type="text" name="excerpt_<$mt:var name="id"$>"><mt:entryExcerpt convert_breaks="0" no_generate="1" escape="html" /></textarea>
            </tr>
</mt:ignore>
...後略...

プラグインの修正

PowerEdit.pl を任意のエディタで開き、赤色のコメントアウトマークを削除します。

...前略...
        if ($q->param('text_more_' . $id )) {
            $entry->text_more($q->param('text_more_' . $id ));
        }
#        if ($q->param('excerpt_' . $id )) {
#            $entry->excerpt($q->param('excerpt_' . $id ));
#        }
        if ($q->param('keywords_' . $id )) {
            $entry->keywords($q->param('keywords_' . $id ));
        }
...後略...

これでブログ記事一括編集画面に概要フィールドが表示され、正常に変更できるようになります。

Comments [0] | Trackbacks [0]

PowerEdit プラグイン

November 13,2008 11:11 AM
Category:[管理画面]
Tag:[, , , ]
Permalink

Movable Type のブログ記事一括編集画面のフィールドを拡張するプラグインです。「コメント・トラックバックの受信設定をまとめて設定したい」というご質問を頂きましたので、他のフィールドも含め、このプラグインに反映させてみました。

このプラグインを適用することで、次の画面のように、ブログ記事やウェブページの複数のフィールドをまとめて編集することができるようになります。

Movable Type 5.1x 版
PowerEdit プラグイン

Movable Type 5.0x 版
PowerEdit プラグイン

Movable Type 4.x 版
一括編集画面

今回追加したフィールドは

  • 本文
  • 追記
  • キーワード
  • コメント受信
  • トラックバック受信

です。概要フィールドとタグフィールドについては現在未対応です。ベータ版ですので、ご利用にあたってはご自身の責任で行ってください。

また、画面レイアウトの調整はかなり雑なので、腕に自身のある方は4項の entry_table.tmpl を直接編集して適宜調整してください。

ちなみに一括編集画面への遷移は、ブログ記事一覧やウェブページ一覧からだけでなく、検索結果からも行えます。ある検索文字で記事を検索し、該当した記事だけまとめて変更したいときに便利です。

検索結果画面からの選択

このプラグインの動作には、アルファサードの野田さんが開発された CMSContext プラグインが必要です。実際、PowerEdit プラグインで行っているのは、CMSContext プラグインで拡張したフィールドの保存動作だけですので、CMSContext プラグインにおんぶにだっこ状態です。

1.価格

PowerEditプラグインの価格は次の通りです。

  • 有償ライセンスによる商用利用:15000円/1サーバ
  • 個人ライセンス(無償)/有償ライセンスによる非商用利用/Movable Type Open Source:無償

有償でご利用の場合、プラグインの動作確認後、下記から指定の金額をお支払いください。お支払い後に不具合が発覚しても払い戻しは致しかねますのでご注意ください。なお、銀行振り込みをご希望の場合は、大変ご面倒ですが、お問い合わせからご連絡ください。折り返し振り込み口座をご連絡致します。

なお、個人ライセンスの方も、プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。

以下、設定手順です。

注:MT5.0x/MT5.1xではCMSContextプラグインは不要です。手順5から開始してください。

2.CMSContext プラグインのダウンロード

下記のサイトにある「CMSContext.zip」をクリックして、プラグインアーカイブをダウンロード。

Junnama Online (Mirror) - MTでのエントリー一覧画面の拡張。

3.CMSContext プラグインのアップロード・インストール

プラグインアーカイブを展開し、中にある CMSContext フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。

システム管理画面のプラグイン一覧で、「CMSContext ~」が表示されればインストール完了です。

プラグイン一覧

4.CMSContext プラグインの設定

ブログ管理画面のプラグイン一覧で、「CMSContext」→「設定」をクリックし、「プラグインを有効にする」をチェック(デフォルトでチェックされていると思います)、代替テンプレートのパスに「alt-tmpl」を設定し、「変更を保存」をクリック。

プラグイン設定

5.代替テンプレートの設定

下記のリンクより代替テンプレートをダウンロードします。この代替テンプレートが一括編集画面用のテンプレートになります。

2008.11.13 初版
2009.01.25 v0.05 タグに対応
2009.03.02 v0.06 テキストエリアの高さを変更
2009.03.07 v0.07 チェックボックスが表示されない不具合を対処
2009.08.25 v0.08 ウェブページの一括編集画面で、プラグインで追加したフィールドの変更内容が保存されない不具合を修正
alt-tmpl.zip(MT4.x用)
2010.02.02 v0.10 Movable Type 5.x 対応版追加
2010.05.08 v0.11 コンテキストエラーになる不具合を修正
2010.07.01 v0.12 公開状態を「下書き」で保存した場合に、ウェブページ・ブログ記事の一部の内容が表示されない不具合を修正。レイアウトを変更
2011.07.14 v0.20 MT5.1対応
alt-tmpl.zip(MT5.0x用)
alt-tmpl.zip(MT5.1x用)

ダウンロードしたアーカイブを展開すると、

「alt-tmpl/cms/include/entry_table.tmpl」または「alt-tmpl/cms/include/entry_table.tmpl」

という構成になっているので、

  • MT4の場合:alt-tmpl フォルダを CMSContext プラグインの中にある tmpl ディレクトリにアップロードします。
  • MT5の場合:cms フォルダを、アプリケーションディレクトリの alt-tmpl ディレクトリにアップロードします。

アップロード後の、plugins ディレクトリから entry_table.tmpl までのパスは

MT4の場合

plugins/CMSContext/tmpl/alt-tmpl/cms/include/entry_table.tmpl

MT5.0xの場合

alt-tmpl/cms/include/entry_table.tmpl

MT5.1xの場合

alt-tmpl/cms/edit_entry_batch.tmpl

となります。

6.PowerEdit プラグインのダウンロード

下記の PowerEdit.zip をクリックして、プラグインアーカイブをダウンロード。

2008.11.13 初版
2008.12.06 v0.02 ブログ記事編集画面で保存後、「受信設定」のコメント・トラックバックのチェックが外れてしまう問題を修正
2008.12.19 v0.03 データが保存されない問題を修正
2008.12.24 v0.04 4.1 に対応。また、本文・追記・キーワードの各フィールドの内容を空にできない問題を修正
2009.01.25 v0.05 タグに対応
2009.03.02 v0.06 アイテム情報が保持されない不具合を対処
2009.03.07 v0.07 EntryBodyタグとEntryMoreタグでエラーになる不具合を対処
2009.08.25 v0.08 ウェブページの一部の情報が保存されない不具合を修正
PowerEdit.zip(MT4.x用)
2010.02.02 MT5対応初版
2010.05.08 v0.11 プラグインを適用すると、一括編集時に一部のテンプレートタグでコンテキストエラーが発生する不具合を対処
2010.07.01 v0.12 公開状態を「下書き」で保存した場合に、ウェブページ・ブログ記事の一部の内容が表示されない不具合を修正
PowerEdit_0_12.zip(MT5.x用)

7.PowerEdit プラグインのアップロード・インストール

プラグインアーカイブを展開し、中にある PowerEdit フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。

システム管理画面のプラグイン一覧で、「PowerEdit ~」が表示されればインストール完了です。

プラグイン一覧

これで設定はすべて完了です。一括編集画面が変更されたことを確認してください。

2008.12.11
3項に画像を追加しました。

2010.02.02
Movable Type 5.0 の画像を追加しました。

2010.05.08
Movable Type 5.0 の説明について、CMSContext不要である旨を追記しました。

Comments [38] | Trackbacks [4]

コメント投稿者の表示を valid にする

コメント投稿者の表示には MTCommentAuthorLink タグを使用していますが、コメント投稿者名に「&」などの実体参照が必要な文字が含まれている場合、そのページが valid でなくなります。

グローバルモディファイアとして、escape モディファイアや encode_html モディファイアが用意されていますが、MTCommentAuthorLink タグにこのモディファイアを適用すると、タグで出力されるリンク(のアングルブラケット)まで実体参照されてしまいます。

1.通常のコメント投稿者表示で MTCommentAuthorLink タグを使用

下は通常のコメント投稿者表示で MTCommentAuthorLink タグを使用した場合の、サブテンプレートとその出力(ソースコード)です。

Posted by <mt:commentAuthorLink default_name="Anonymous" show_email="0" />

出力

Posted by <a title="http://www.koikikukan.com/" href="http://www.koikikukan.com/" rel="nofollow">yujiro</a>

2.MTCommentAuthorLink タグに escape モディファイアを適用した失敗例

下は、MTCommentAuthorLink タグに escape モディファイアを適用したときの、サブテンプレートとその出力(ソースコード)です。出力で、本来アングルブラケットになるべき (X)HTML 要素のタグが実体参照されてしまっています。

Posted by <mt:commentAuthorLink default_name="Anonymous" show_email="0" escape="html" />

出力

Posted by &lt;a title=&quot;http://www.koikikukan.com/&quot; href=&quot;http://www.koikikukan.com/&quot;&gt;yujiro&lt;/a&gt;

ここでは、他のテンプレートタグを組み合わせて、コメント投稿者を実体参照するカスタマイズを紹介します。

3.配布テンプレートの修正例

ブログ管理画面より「デザイン」→「テンプレート」で「コメント詳細」テンプレートモジュール編集画面を開き、赤色の MTCommentAuthorLink タグの部分を、青色の内容に変更してください。

変更前

<div class="comment"<mt:ifArchiveTypeEnabled archive_type="Individual"> id="c<mt:commentID />"</mt:ifArchiveTypeEnabled>>
 
   <div class="comment-content">
   <mt:ifCommentParent>
   <p><a href="<mt:commentParent>#comment-<mt:commentID /></mt:commentParent>"><mt:commentParent>No.<mt:commentID />の<mt:commentAuthor /></mt:commentParent></a>さんのコメントへの返信</p>
   </mt:ifCommentParent>
   <mt:commentBody /></div>
 
   <p class="comment-footer">
      Posted by <mt:commentAuthorLink default_name="Anonymous" show_email="0" /> <mt:if tag="CommentAuthorIdentity"><mt:commentAuthorIdentity /></mt:if> at <mt:commentDate /><mt:ifCommentsAccepted> | <mt:commentReplyToLink /></mt:ifCommentsAccepted>
   </p>
</div>

変更後

<div class="comment"<mt:ifArchiveTypeEnabled archive_type="Individual"> id="c<mt:commentID />"</mt:ifArchiveTypeEnabled>>
 
   <div class="comment-content">
   <mt:ifCommentParent>
   <p><a href="<mt:commentParent>#comment-<mt:commentID /></mt:commentParent>"><mt:commentParent>No.<mt:commentID />の<mt:commentAuthor escape="html" /></mt:commentParent></a>さんのコメントへの返信</p>
   </mt:ifCommentParent>
   <mt:commentBody /></div>
 
   <p class="comment-footer">
      Posted by <mt:if tag="commentURL"><a href="<mt:commentURL />"></mt:if><mt:commentAuthor default="Anonymous" escape="html" /><mt:if tag="commentURL"></a></mt:if> <mt:if tag="CommentAuthorIdentity"><mt:commentAuthorIdentity /></mt:if> at <mt:commentDate /><mt:ifCommentsAccepted> | <mt:commentReplyToLink /></mt:ifCommentsAccepted>
   </p>
</div>

4.デフォルトテンプレート(抜粋)の修正例

ブログ管理画面より「デザイン」→「テンプレート」で「コメント」テンプレートモジュール編集画面を開き、赤色の MTCommentAuthorLink タグの部分を、青色の内容に変更してください。

変更前

...前略...
<div class="asset-meta">
  <span class="byline">
<$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
    <span class="vcard author"><$mt:CommentAuthorLink$></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>への返信
<mt:Else>
    <span class="vcard author"><$mt:CommentAuthorLink$></span>
</mt:IfCommentParent>
    | <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
    | <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
  </span>
</div>
...後略...

変更後

...前略...
<div class="asset-meta">
  <span class="byline">
<$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
    <span class="vcard author"><mt:if tag="commentURL"><a href="<mt:commentURL />"></mt:if><mt:commentAuthor default="Anonymous" escape="html" /><mt:if tag="commentURL"></a></mt:if></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>への返信
<mt:Else>
    <span class="vcard author"><mt:if tag="commentURL"><a href="<mt:commentURL />"></mt:if><mt:commentAuthor default="Anonymous" escape="html" /><mt:if tag="commentURL"></a></mt:if></span>
</mt:IfCommentParent>
    | <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
    | <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
  </span>
</div>
...後略...
Comments [1] | Trackbacks [0]

YUI(Yahoo! User Interface Library)を利用したドロップダウン式グローバルナビゲーション

November 11,2008 1:11 AM
Category:[CSS, Yahoo]
Tag:[, , ]
Permalink

YUI(Yahoo! User Interface Library)を利用した、ドロップダウン式グローバルナビゲーションを紹介します。

The Yahoo! User Interface Library (YUI)

ドロップダウンの部分は Movable Type のサブカテゴリーを自動的に出力するようにしています。

このエントリーでは、当サイトの配布テンプレートにあわせたデザインに修正していますが、元のサンプル(下)はより洗練されたデザインですので、そのまま使う方がいいかもしれません。

YUI で公開されている Menu のサンプル

1.The Yahoo! User Interface Library (YUI) のダウンロード

The Yahoo! User Interface Library (YUI)」の Download YUI をクリック

The Yahoo! User Interface Library (YUI)

ダウンロードが開始されるので、yui_2.6.0.zip(2008年11月現在のバージョン)を任意のフォルダに保存してしてください。今回使用した元のサンプルは「Website Top Nav With Submenus Built From Markup」です。「Website Top Nav Using Animation With Submenus Built From Markup」を使用すればアニメーション表示することができます。

2.YUI ライブラリのアップロード

ダウンロードアーカイブ yui_2.6.0.zip を展開して、中にある build フォルダを丸ごとブログディレクトリにアップロードしてください。
ちなみにデフォルトのデザインで最低限使用するのは、build フォルダにある以下のフォルダのようです。

build/assets
build/container
build/menu
build/yahoo-dom-event

アニメーション動作をする場合は build/animation なども必要ですのでサンプルのソースコードを確認してください。

ダウンロードしたファイルの中に examples フォルダがあるので、その中のファイルで動作を確認することもできます。

3.マークアップ例

Menu 用のマークアップは次の通りです。id 属性、class 属性はそれぞれ必須です。

<div id="navi">
  <div class="bd">
    <ul>
      <li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1</a>
        <div class="yuimenu yuimenubarnav">
          <div class="bd">
            <ul>
              <li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1-1</a></li>
              <li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1-2</a></li>
              <li class="yuimenuitem menu_end"><a class="yuimenubaritemlabel" href="...">Cat 1-3</a>
                <div class="yuimenu yuimenubarnav">
                  <div class="bd">
                    <ul>
                      <li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1-3-1</a></li>
                      <li class="yuimenuitem menu_end"><a class="yuimenubaritemlabel" href="...">Cat 1-3-2</a></li>
                    </ul>
                  </div>
                </div>
              </li>
            </ul>
          </div>
        </div>
      </li>
      <li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 2</a>
        <div class="yuimenu yuimenubarnav">
          <div class="bd">
            <ul>
              <li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">お知らせ</a></li>
            </ul>
          </div>
        </div>
      </li>
      <li class="yuimenuitem"><a class="yuimenubaritemlabel" href="javascript:void()">Cat 3</a></li>
    </ul>
  </div>
</div>

4.Movable Type で利用する場合のテンプレート設定

当サイトで配布している Movable Type テンプレートへの適用例(冒頭の画面)です。ドロップダウンメニューをテンプレートタグで自動生成します。

ブログ管理画面の「デザイン」→「テンプレート」で「ヘッダー」テンプレートモジュール編集画面を開き、グローバルナビゲーションのマークアップ(青色)を追加します。

...前略...
<link rel="stylesheet" type="text/css" href="<mt:blogURL />build/menu/assets/skins/sam/menu.css"> 
<script type="text/javascript" src="<mt:blogURL />build/yahoo-dom-event/yahoo-dom-event.js"></script>
<script type="text/javascript" src="<mt:blogURL />build/container/container_core.js"></script>
<script type="text/javascript" src="<mt:blogURL />build/menu/menu.js"></script>
<script type="text/javascript">
    YAHOO.util.Event.onContentReady("navi", function () {
        var oMenuBar = new YAHOO.widget.MenuBar("navi", { 
                                                autosubmenudisplay: true, 
                                                hidedelay: 750, 
                                                lazyload: true });
        oMenuBar.render();
    });
</script>
 
</head>
<body class="<mt:getVar name="page_layout" />"<mt:if name="body_onload"> onload="<mt:getVar name="body_onload" />"</mt:if>>
<div id="box" class="clearfix">
 
<div id="header">
<h1 id="blog-name"><a href="<mt:blogURL />" accesskey="1"><mt:blogName encode_html="1" /></a></h1>
<mt:if tag="BlogDescription"><p class="blog-description"><mt:blogDescription encode_html="1" /></p></mt:if>
</div>
 
<mt:ifArchiveTypeEnabled archive_type="Category">
<div id="navi" class="widget-content">
    <mt:topLevelCategories>
        <mt:subCatIsFirst>
            <mt:hasParentCategory>
        <div class="yuimenu">
            </mt:hasParentCategory>
            <div class="bd">
                <ul>
            <mt:unless name="start_flag">
                    <li><a href="<mt:blogURL />" title="Home">Top</a></li>
                    <li><a href="<mt:blogURL />about.html" title="about">About</a></li>
                <mt:setVar name="start_flag" value="1" />
            </mt:unless>
        </mt:subCatIsFirst>
        <mt:if tag="CategoryCount">
                    <li class="yuimenuitem<mt:subCatIsLast> menu_end</mt:subCatIsLast>"><a class="yuimenubaritemlabel" href="<$mt:categoryArchiveLink$>"<mt:if tag="CategoryDescription"> title="<mt:categoryDescription remove_html="1" encode_html="1" />"</mt:If>><mt:categoryLabel /></a>
        <mt:else>
                    <li class="yuimenuitem<mt:subCatIsLast> menu_end</mt:subCatIsLast>"><a class="yuimenubaritemlabel" href="javascript:void()"<mt:if tag="CategoryDescription"> title="<mt:categoryDescription remove_html="1" encode_html="1" />"</mt:if>><mt:categoryLabel /></a>
        </mt:if>
        <mt:subCatsRecurse />
                    </li>
        <mt:subCatIsLast>
               </ul>
           </div>
           <mt:hasParentCategory>
        </div>
           </mt:hasParentCategory>
        </mt:subCatIsLast>
    </mt:topLevelCategories>
</div>
</mt:ifArchiveTypeEnabled>

赤色で示した部分は Menu のマークアップに対する id 属性値です。id 属性値を変更する場合はこの部分が全て同じ値になるようしてください。

JavaScript の MenuBar のパラメータの意味は次の通りです。

autosubmenudisplay
true:マウスオーバーでドロップダウンを表示
false:クリックしてドロップダウンを表示
hidedelay
マウスアウト後に非表示にするタイミング

また、サブテンプレート内にある

            <mt:unless name="start_flag">
                    <li><a href="<mt:blogURL />" title="Home">Top</a></li>
                    <li><a href="<mt:blogURL />about.html" title="about">About</a></li>
                <mt:setVar name="start_flag" value="1" />
            </mt:unless>

は、カテゴリー以外のメニューを表示する場合に適宜利用してください。

5.Movable Type で利用する場合のCSS設定

4項の設定を行った後、スタイルシートに下記の内容を設定してください。

#navi {
    border-bottom: 1px solid #669;
    background: #fff;
    height: 25px;
}
html > body #navi,
html > body #navi ul li a { /* for Safari */
    height: 28px;
}
#navi ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#navi ul li {
    border-right:1px solid #333;
    width: 100px;
}
#navi ul li a {
    display: block;
    color: #333;
    font-size: 75%;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 2.3;
    text-decoration: none;
}
#navi ul li a:link,
#navi ul li a:visited {
    background: #fff;
}
#navi ul li a:hover {
    color: #000;
    background: #ccc;
}
#navi ul li li {
    border-top: 1px solid #333;
    border-left: 1px solid #333;
    border-right: 1px solid #333;
}
#navi ul li li.menu_end {
    border-bottom: 1px solid #333;
}

6.その他

元のサンプルでは class 属性値に yuimenubarnav (赤色部分)を外すと、トップメニューの右矢印が非表示になります。

<div id="productsandservices" class="yuimenubar yuimenubarnav">
Comments [0] | Trackbacks [1]

asciiCommentfilter プラグイン

「スパムコメントを Movable Type の Junk フォルダに溜めたくない。MT BanASCII も動作しません」という質問を頂いたので、プラグインの勉強をかねて「asciiTBPingfilter」を流用した asciiCommentfilter プラグインを作成しました。

1.プラグインの概要

Mobavle Type では 3.2 以降、Junk Filter を利用して、スパムとみなされたコメントは Junk フォルダに入るようになっています。また誤ってフィルタリングしたコメントを探索・公開できるよう、指定した一定期間、保存できる仕組みになっています。

このプラグインはASCII文字のみのコメントが投稿された場合、Junk フォルダにも入れず、次のようなコメントエラーにします。

コメントエラー

プラグインの主な機能は次の通りです。

  • テキストエリアにASCII文字のみのコメントが投稿された場合、コメント投稿エラーにします(デフォルト:オン)。スパムとして Movable Type のデータベースに保存しません。
  • 設定はブログ単位に可能です。
  • 動作を確認するためのログ出力が可能です(デフォルト:オフ)。

2.動作条件

Perl 5.8 以上であることが必要です(Encode.pm を利用するため)。誤って 5.6.x の環境で利用しても処理異常にならないようにしています。

3.ダウンロード・インストール

下記リンクより asciiTBPingfilter.zip または asciiTBPingfilter.lzh をダウンロードし、アーカイブを解凍してください。

解凍すると中に asciiCommentfilter フォルダがありますので、フォルダごと Movable Type の plugins ディレクトリにアップロードしてください。

MT4 /MT5版の場合、ブログ別管理画面の「システムメニュー」→「プラグイン」で、ASCII Comment Filter Plugin 0.02 が表示されていればOKです。インストール直後から動作が有効になります。

プラグイン画面

プラグインを無効にしたい場合は、ブログ管理画面の「ツール」→「プラグイン」→「ASCII Trackback Ping Filter Plugin」の右側にある「設定」をクリックして、「ASCII 文字のみのコメントをフィルタリング(スパムとしても保存しない)」のチェックボックスをチェックを外し、「変更を保存」をクリックしてください。

プラグイン設定画面

4.ログを出力する

3項のプラグイン設定画面の「フィルタリングされたコメントをログに出力する」のチェックボックスをチェックし、「変更を保存」をクリックしてください。

コメントのフィルタリング状況を、システムログまたはブログ別のログに出力します。

システムログ画面

5.注意事項

サインインして投稿したコメントもフィルタリングの対象になります。

Movable Type 4.2 以降では SpamLookup 以外にもスパムコメント対策が行われているので、コメントフォームから直接投稿しないスパムは、このプラグイン以前に弾かれる可能性があります。

Comments [3] | Trackbacks [0]

BlogPeople 被リンク数ランキング1位

November 9,2008 2:11 AM
Category:[BlogPeople]
Tag:[, ]
Permalink

少し前の話ですが、「BlogPeople 被リンク数ランキング」で、BlogPeople 運営者の「もだしん!」さんを抜いて、ついに1位になりました。

被リンク数ランキング

数週間前に一度、1位になるのを確認していたのですが、その後再び順位が入れ替わっていたので、少し様子をみていました。最近ようやく安定したようなので、記念エントリーします。

被リンクくださった皆様に、この場をお借りしてお礼申し上げます。本当にありがとうございました!

1.1400被リンクまでの道程

これまでの BlogPeole 関係の記事を元に、被リンク数の経過を掲載します。

  • 2004年6月:利用開始
  • 2005年5月:500被リンク
  • 2005年7月:600被リンク
  • 2006年5月:1000被リンク
  • 2006年11月:1200被リンク
  • 2008年10月頃:1400被リンク

2.被リンクを増やす方法

上記の経過からも分かるとおり、実は1200 サイトを越えたあたりから、被リンク数の上昇率が急激に落ちました。それまでは2~3ヶ月で100被リンクのペースでしたが、1200被リンク以降は、1年で100被リンクです。

原因として考えられるのは、当サイトのテンプレートご利用者の方から連絡があったときの BlogPeople のリンク登録をやめてしまったからです。

つまり、こちらから積極的に BlogPeople のリンク登録を行えば、自然に被リンクも増えていくのではないでしょうか。

3.1500被リンクに向けて

これを機会に、以前の被リンク登録作業を少し復活することにします。達成できるかどうか分かりませんが、1500被リンクに向けて気持ちを新たにしたいと思います。

なお、このサイトでは、右サイドバーに BlogPeople でリンク登録させて頂いたサイトのリンクリスト(更新情報)を表示しています(下)。

リンクリスト

ブログが更新されるとブログ名がここに表示されるので、当サイトを訪れた方からのアクセスがあるかもしれません。

このリンクリストに表示されるようにするには、まず当サイトをあなたのリンクリストに登録してください(BlogPeople に未登録の方はまず会員登録を行ってください)。上の画像の一番下にある「List Me!」のリンクをクリックすれば簡単にリンクリストに登録できます。

登録状態はこちらから時々チェックしていますので、表示に問題ないサイトであればこちらからもリンク登録させて頂きます(この段階で当サイトのリンクリストに表示されるようになります)。

Comments [2] | Trackbacks [0]

ダイヤテック FILCO キーボード「Majestouch(マジェスタッチ)」

November 8,2008 2:55 AM
Category:[PC, mono]
Tag:[, , ]
Permalink

ダイヤテック FILCO キーボード「Majestouch(マジェスタッチ)」を購入しました。

ダイヤテック FILCO キーボード「Majestouch(マジェスタッチ)」

このキーボードは随分前から欲しかったもので、独Cherry社のメカニカルキースイッチ「MXスイッチ tactile feel(茶軸)」を採用しており、軽めのキータッチです。MXスイッチには他に、重めのしっかりしたキータッチの黒軸があります。

私は軽いタッチが好きなので茶軸を購入しましたが、実はスペースキー部分のみ黒軸になっています。スペースキーはやや力のある親指で叩くため、違和感はなく、丁度いい感じです。

キーストロークは約 4mm で、一般的なキーボードと比較してやや深めの設定になっていますが、接点は約 2mm 押し下げた位置に設定されているため、キーを最後まで押し下げる必要がなく、指による打鍵力の違いが原因となるミスタイプを防ぎ、高速にタイピングしやすいというメリットがあります。

また、筐体は 1.2kg とかなり重く、ずれないことと、キーを押したときの「沈み込み感」を軽減した仕上がりになっています。

これまで使ってきたキーボードは HP や DELL の本体に付属している標準キーボードがほとんどだったのですが、取り替えた後の打鍵の心地よさは抜群でした。

購入した「Majestouch(マジェスタッチ)」はオーソドックスなタイプですが、他に「Majestouch N-key rollover(マジェスタッチ Nキーロールオーバー)」という、複数のキーを同時に押したとき全てのキー入力が認識される機能がついたものや、ワイヤレスの「Majestouch Wireless(マジェスタッチワイヤレス)」もあります。

また、キーボード配列も、日本語108から英語ASCII(91キー)、テンキーレスに加え、かな表示の有無など、豊富なバリエーションです。

製品には、薄いながらもかっちりとしたプラスチックのカバーが付属しているので、未使用時はキーボードカバーとして使えます(下)。

薄いプラスチックのカバー

これが今回購入した「FKB108M/JB」です。USB(PS/2)接続・日本語108配列・かな表示あり・茶軸です。

FILCO Majestouch 日本語108キーボード・かなあり・黒 USB&PS/2両対応 FKB108M/JBFILCO Majestouch 日本語108キーボード・かなあり・黒 USB&PS/2両対応 FKB108M/JB

ダイヤテック 2004-12-08
売り上げランキング : 1908

Amazonで詳しく見る
by G-Tools

以下、主なラインナップを表にまとめました。購入時の参考になれば幸いです(念のため、購入時は製品名と機能に相違がないことをご確認ください)。

製品名の「FKB」に続く記号の意味は(多分)次の通りです。

  • N:Nキーロールオーバー
  • T:ワイヤレス
  • 数字:キー数
  • ML:黒軸
  • M:茶軸
  • スラッシュの後:色
分類製品名
USB
PS/2
ノーマル日本語108配列
(かな表示あり)
黒軸なし
茶軸FKB108M/JB
FKB108M/JW(白)
日本語108配列
(かな表示なし)
黒軸
(リニア)
FKB108ML/NB
茶軸FKB108M/NB
FKB108M/NW
英語ASCII配列黒軸なし
茶軸FKB104M/EB
FKB104M/EW(白)*1
英語104配列黒軸
(リニア)
FKB104ML/EB
茶軸なし
日本語100配列
(かな表示あり)
黒軸なし
茶軸FKB100M/JB
日本語100配列
(かな表示なし)
黒軸なし
茶軸FKB100M/NB
Nキーロールオーバー日本語108配列
(かな表示あり)
黒軸FKBN108ML/NB
茶軸FKBN108M/NB
英語ASCII配列黒軸FKBN104ML/EB
茶軸FKBN104M/EB
テンキーレス+
Nキーロールオーバー
日本語91配列
(かな表示あり)
黒軸FKBN91ML/JB
茶軸FKBN91M/JB
日本語91配列
(かな表示なし)
黒軸FKBN91ML/NB
茶軸FKBN91M/NB
英語ASCII配列黒軸FKBN87ML/EB
茶軸FKBN87M/EB
ワイヤレス日本語108配列
(かな表示あり)
黒軸FKBT108ML/JB
茶軸FKBT108M/JB
日本語108配列
(かな表示なし)
黒軸FKBT108ML/NB
茶軸FKBT108M/NB
英語ASCII配列黒軸FKBT104ML/EB
茶軸FKBT104M/EB

*1:公式サイトでは生産終了

Comments [0] | Trackbacks [1]

PageBute プラグインによるページ分割

November 7,2008 12:55 AM
Category:[ページ分割]
Tag:[, , , ]
Permalink

スカイアークシステムが配布している PageBute プラグインによる、Movable Type 4 のページ分割方法を紹介します。

PageBute プラグインによるページ分割

これまでは主に、Paginate プラグインによるページ分割方法を紹介してきましたが、PageBute プラグインを利用すれば、メインページやブログ記事リスト(月別アーカイブ/カテゴリーアーカイブなど)のページ分割を、PHP 化を行わずに実現することができます。

1.プラグインのダウンロード

下記のリンクからプラグインアーカイブ(2008年11月現在は PageBute3.01.zip)をダウンロードし、任意のフォルダに保存してください。

PageBute

2.インストール

プラグインアーカイブを解凍し、中にある PageBute.pl を plugins ディレクトリにアップロードしてください。

ブログ管理画面より「システム」→「プラグイン」でプラグイン一覧を表示し、次のように表示されればOKです。

プラグイン一覧

3.テンプレートのカスタマイズ

3.1 メインページ(デフォルトテンプレート)

「メインページ」インデックステンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。

...前略...
            <div id="content">
                <div id="content-inner">
                    <div id="alpha">
                        <div id="alpha-inner">
<mt:pageContents count="5">
<mt:Entries>
                            <mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
                            <$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
                            <div class="content-nav">
                                <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
                            </div>
                        </div>
                    </div>
...後略...

3.2 メインページ(配布テンプレート)

「メインページ」インデックステンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。

...前略...
<div id="content">
<div class="blog">
 
<mt:pageContents count="5">
<mt:entries>
   <mt:entryTrackbackData />
   <mt:include module="ブログ記事の概要" />
   <mt:pageSeparator />
</mt:entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
 
</div>
</div>
...後略...

3.3 アーカイブページ(デフォルトテンプレート:月別アーカイブ)

「月別ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="$limit" は削除してください。

...前略...
            <div id="content">
                <div id="content-inner">
                    <div id="alpha">
                        <div id="alpha-inner">
                            <h1 id="page-title" class="archive-title"><$mt:ArchiveTitle$>アーカイブ</h1>
<mt:Ignore><!-- Limit number of entries to the number set in Blog Entry Settings --></mt:Ignore>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="auto"$></mt:Unless>
<mt:pageContents count="5">
<mt:Entries limit="$limit">
                            <mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
                            <$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
                            <div class="content-nav">
                                <mt:ArchivePrevious><a href="<$mt:ArchiveLink$>">&laquo; <$mt:ArchiveTitle$></a> |</mt:ArchivePrevious>
                                <a href="<$mt:Link template="main_index"$>">メインページ</a> |
                                <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
                                <mt:ArchiveNext>| <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> &raquo;</a></mt:ArchiveNext>
                            </div>
                        </div>
                    </div>
                    <$mt:Include module="サイドバー"$>
                </div>
            </div>
...後略...

3.4 アーカイブページ(デフォルトテンプレート:カテゴリアーカイブ)

「カテゴリ別ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="$limit" は削除してください。

...前略...
            <div id="content">
                <div id="content-inner">
                    <div id="alpha">
                        <div id="alpha-inner">
<mt:If name="datebased_archive">
                            <mt:Ignore><!-- Title for category-monthly entry listings --></mt:Ignore>
                            <h1 id="page-title" class="archive-title"><$mt:ArchiveTitle$>アーカイブ</h1>
<mt:Else>
                            <mt:Ignore><!-- Title for category entry listings --></mt:Ignore>
                            <h1 id="page-title" class="archive-title"><em><$mt:ArchiveTitle$></em>の最近のブログ記事</h1>
</mt:If>
<mt:Ignore><!-- Limit number of entries to the number set in Blog Entry Settings --></mt:Ignore>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="auto"$></mt:Unless>
<mt:pageContents count="5">
<mt:Entries limit="$limit">
                            <mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
                            <$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
                            <div class="content-nav">
                                <mt:ArchivePrevious><a href="<$mt:ArchiveLink$>">&laquo; <$mt:ArchiveTitle$></a> |</mt:ArchivePrevious>
                                <a href="<$mt:Link template="main_index"$>">メインページ</a> |
                                <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
                                <mt:ArchiveNext>| <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> &raquo;</a></mt:ArchiveNext>
                            </div>
                        </div>
                    </div>
                    <$mt:Include module="サイドバー"$>
                </div>
            </div>
...後略...

3.5 アーカイブページ(配布テンプレート:月別アーカイブ/カテゴリアーカイブ)

「ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="auto" は削除してください。

...前略...
<div id="content">
<div class="blog">
 
<div class="content-nav">
    <mt:archivePrevious>
    <a href="<mt:ArchiveLink />">&laquo; <mt:archiveTitle /></a> |
    </mt:archivePrevious>
    <mt:archiveNext>
    | <a href="<mt:ArchiveLink />"><mt:archiveTitle /> &raquo;</a>
    </mt:archiveNext>
</div>
 
<mt:if name="datebased_archive">
   <mt:pageContents count="5">
   <mt:entries>
      <mt:entryTrackbackData />
      <mt:include module="ブログ記事の概要" />
      <mt:pageSeparator />
   </mt:entries>
   </mt:pageContents>
<mt:else>
   <mt:pageContents count="2">
   <mt:entries limit="auto">
      <mt:entryTrackbackData />
      <mt:include module="ブログ記事の概要" />
      <mt:pageSeparator />
   </mt:entries>
   </mt:pageContents>
</mt:if>
 
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
 
</div>
</div>
...後略...
Comments [15] | Trackbacks [6]

arekao(アレカオ)ブログテンプレート

November 6,2008 1:55 AM
Category:[arekao ブログ]
Tag:[, ]
Permalink

arekao(アレカオ)ブログ用のテンプレートを作りました。

arekaoブログテンプレート

ちなみに、arekao(アレカオ)は次のような主旨のポータルサイトです。

アレカオは、二十代後半から三十代前半の女性をターゲットにした女性向けポータルサイトです。美容や女性のライフスタイルをブログで発信しポイントを貯めてキャッシュバックなどのサービスを行っています。

arekao ブログご利用の方からカスタマイズのご質問を頂いたので、ついでにテンプレートを作ってみました。

1.動作確認環境

動作確認は下記の環境で行っています。

  • OS:Windows2000/XP
  • ブラウザ:IE6/IE7/Firefox2/Opera9/Safari3
  • arekaoブログ:http://yujiro.arekao.jp/

2.利用規定

ご利用の前にテンプレートのページをご覧頂ければ幸いです。

3.カラムレイアウト

このスキンではカラムレイアウトのバリエーションとして、

  • 3カラム固定レイアウト
  • 3カラムリキッドレイアウト

の計2種類を用意しています。2カラムレイアウトの設定も可能と思いますが現在確認中です。

カラムレイアウト変更方法は、arekao ブログ管理ページの「メインテンプレート」のbody 要素の class 属性値を次のように書き換えるだけです。

3カラム固定レイアウト

<body class="layout-three-column">

3カラムリキッドレイアウト

<body class="layout-three-column-liquid">

4.その他

基本的な動作は確認したつもりですが、arekaoブログの機能を全て把握できていない状態ですので、不具合等ございましたらご連絡ください。

なお、IE6では「最新記事」のタイトル下に大きな空白が生じる可能性がありますが、これはarekaoブログ側のHTMLマークアップによる不具合です(サポートメールで修正依頼中)。2008.11.12 修正して頂きました

5.テンプレート

メインテンプレート スタイルシート
Comments [2] | Trackbacks [1]

次世代マーケティングプラットフォーム 広告とマスメディアの地位を奪うもの

November 5,2008 2:20 AM
Category:[書籍]
Tag:[, ]
Permalink

著者であり時事通信社編集委員の湯川鶴章さんによる、数年間にわたるメディア未来探求の総括本です。ご本人より献本頂きました。ありがとうございました。

次世代マーケティングプラットフォーム 広告とマスメディアの地位を奪うもの次世代マーケティングプラットフォーム 広告とマスメディアの地位を奪うもの
湯川 鶴章

ソフトバンククリエイティブ 2008-09-27
売り上げランキング : 65

Amazonで詳しく見る
by G-Tools

当初、「電通 vs. Google」という図式で執筆を開始されたにもかかわらず、ある想いから、8割近くの原稿をすべてボツにして書き直したという力作です。

この本を読めば、広告ビジネスの変化が単なるオンライン広告の進化ではなく、産業や経済全体のあり方を揺るがすかもしれない変革の始まりであることを垣間見れると思います。

はじめに
序章:広告の「終焉」と「周縁」
MiscrosoftがYahoo!を買収したかった理由
広告ビジネスの地殻変動
経済全体の配置組み換え
「究極の広告」とは何か
Chapter1 広告からテクノロジーへ
急速な技術革新に見舞われた業界に通じる法則性
新聞社サイトが紙の部数に影響なかった理由
変化は周縁から起こる
広告市場を襲う変化
「モバゲータウン」のテレビCMが必要とされた理由
コスト意識が低かった広告主
放送のデジタル化で開く「パンドラの箱」
「テレビCM崩壊」してからではもう遅い
何がマスメディアの地位を奪うのか
テクノロジーを使った団体戦
広告の周縁とは何か
広告の未来はテクノロジー企業にある
21世紀の三河屋さん
顧客の行動を先読みする技術
検索連動広告で満足できるか
「広く告げる」から「トータル・アクセス」へ
Chapter2 ネットに拡大するマーケティングプラットフォーム
Amazonは最初の「三河屋さん」
Omnitureのウェブ解析+αがすごい
購入をあきらめた顧客に再度アプローチ
電話セールスも自動マーケティングで管理
自動マーケティング/ウェブ解析/CRMの3連コンボ
バナー広告の効果も測定
影響力を持っている消費者がみつかる
[Interview]Omnitureはパーソナルなマーケティングを可能にする
Salesforce.comを軸に安全・安心・快適のための連携も
[Interview]CRMはもはや大企業だけのものではなくなった
[Interview]Salesforce.comはあらゆる企業のインフラになるだろう
DoubleClickの広告マーケットプレイス
GoogleもYahoo!もMicrosoftも参入
「自動化する広告」が求められる理由
広告マーケットプレイスは日本で普及するか?
[Interview]すべての領域において広告マーケットプレイスは広告枠売買の重要な手法になる
Chapter3 リアルとネットの融合① デジタルサイネージ
ウェブが街角に飛び出した
臨機応変に入れ替わるコンテンツ
カジノがメディアになる
ネット店舗のリアル展開
ネットワーク化するバー・レストラン
ネットワークが媒体力を強化する
店舗は最後のマスメディアになる
店舗内でリアルな検索連動型広告
効果測定は従来メディアと比較可能な手法で
年齢、性別をリアルタイムに顔で認識
標準化は可能か
Google、Appleも参入か
デジタルサイネージはテレビ広告を超える?
メーカー主導の日本の取り組み
[Interview]デジタルサイネージ事業に役立つ技術はウェブの領域に転がっている
Chapter4 リアルとネットの融合② モバイルウェブ
ほとんど手つかずの領域
モバイル版広告マーケットプレイス
GPSや電子マネー連携は日本のチャンス
[Interview]160カ国2800サイトの経験でモバイルユーザーを高度にターゲティング
Chapter5 そして覇者なき市場へ
Googleさえ独占できない
大企業が技術革新に遅れる理由
大企業の役割はインフラ整備
連携するクラウドコンピューティング
重要なのはオンラインとオフラインをつなぐ知恵
中小企業でも世界と連携できる
Chapter6 次世代マーケティングプラットフォームの課題
プライバシーに普遍的なガイドラインはない
プライバシーを自発的に提供したくなるサービス
隠すか、信頼できる企業に預けるか
「うざい」広告は増えるのだろうか
まだ見ぬ商品との「幸運な出会い」を演出できるか
日本人は自動化を望まないか
Chapter7 メディアと広告そしてすべての企業の未来
広告にクリエイティビティは不要になるのか
ラブレターの出し方を見直すということ
「ソーシャル広告」の可能性
「顧客の声を聞く」とはどういうことか
コミュニケーション力を高める組織再編
自動マーケティング時代における広告・メディア企業の存在意義
マスメディアからターゲットメディアへ
おわりに
参考文献+ウェブサイト
Comments [0] | Trackbacks [1]

Movable Type 4.2 検索結果ページのカスタマイズ:ページナビゲーションをプルダウンメニューにする

November 4,2008 12:33 AM
Category:[検索]
Tag:[, , ]
Permalink

Movable Type 4.2 の検索結果ページのカスタマイズで、5回目は「ページナビゲーションをプルダウンメニューにする」を紹介します。

その5:ページナビゲーションをプルダウンメニューにする

デフォルトテンプレートや配布テンプレートでは、ページナビゲーションがテキストで表示されます。

分割されたページが少ないと良いのですが、こんなに多くなると見栄えがよくありません。

分割ページが多い例

カスタマイズ後はページナビゲーションを次のようなプルダウンメニューにし、ナビゲーションのデザインをすっきりさせます。プルダウンメニューには表示中のページ番号を表示し、全体のページ数も表示します。

ページナビゲーションをプルダウンメニューにするには、次の変更を行ってください。修正内容はデフォルトテンプレート、配布テンプレート共通です。デフォルトテンプレートではナビゲーションのサブテンプレートが1行にまとめられているので、見やすいように適宜改行を入れています。

変更前:赤色を削除

<div class="content-nav">
  <mt:IfPreviousResults>
    <a href="<$mt:PreviousLink$>" rel="prev" onclick="return swapContent(-1);">&lt; 前</a>&nbsp;&nbsp;
  </mt:IfPreviousResults>
  <mt:PagerBlock>
    <mt:IfCurrentPage>
      <$mt:Var name="__value__"$>
    <mt:Else>
      <a href="<$mt:PagerLink$>"><$mt:Var name="__value__"$></a>
    </mt:IfCurrentPage>
    <mt:Unless name="__last__">&nbsp;</mt:Unless>
  </mt:PagerBlock>
  <mt:IfMoreResults>&nbsp;&nbsp;
    <a href="<$mt:NextLink$>" rel="next" onclick="return swapContent();">次 &gt;</a>
  </mt:IfMoreResults>
</div>

変更後:青色を追加

<script type="text/javascript">
//<![CDATA[
function selectUrl(sel){
    if(sel.options[sel.selectedIndex].value){
        location.href = sel.options[sel.selectedIndex].value;
    }
}
//]]>
</script>
<div class="content-nav">
  <mt:ifPreviousResults>
    <a href="<mt:previousLink />" rel="prev" onclick="return swapContent(-1);">&lt; 前</a>&nbsp;&nbsp;
  </mt:ifPreviousResults>
<form action="javascript:void()" style="display:inline">
<select name="select" onChange="selectUrl(this.form.select)">
<mt:pagerBlock>
  <mt:ifCurrentPage>
    <option value="<mt:pagerLink>" selected="selected"><mt:getVar name="__value__" /></option>
  <mt:else>
    <option value="<mt:pagerLink>"><mt:getVar name="__value__" /></option>
  </mt:ifCurrentPage>
<mt:unless name="__last__">&nbsp;</mt:unless>
</mt:pagerBlock>
</select> 
</form>/<mt:totalPages />ページ
  <mt:ifMoreResults>&nbsp;&nbsp;
    <a href="<mt:nextLink />" rel="next" onclick="return swapContent();">次 &gt;</a>
  </mt:ifMoreResults>
</div>

関連記事

Comments [0] | Trackbacks [0]

無題

November 3,2008 1:30 AM
Category:[ダジャレ]
Tag:[]
Permalink

旅行に行く話をしている友人の会話

A「宿、とれるかな~?」

Comments [0] | Trackbacks [0]

Amazon 2008年10月の注文ランキング

November 2,2008 1:55 AM
Category:[Amazon]
Tag:[]
Permalink

2008 年 10 月の Amazon 注文ランキングです。今月はついに GriffinTechnology iTalk Pro GRI-IP-000063 が1位になりました。

なぜこんなに売れているかというと、多分、定価7480円が60%オフで2980円になっているからだと思います。

1位:GriffinTechnology iTalk Pro GRI-IP-000063

GriffinTechnology iTalk Pro GRI-IP-000063GriffinTechnology iTalk Pro GRI-IP-000063

Griffin Technology 2006-11-10
売り上げランキング : 314

Amazonで詳しく見る
by G-Tools

2位:Movable Type 4.2 パーフェクトガイド

Movable Type 4.2 パーフェクトガイドMovable Type 4.2 パーフェクトガイド
荒木 勇次郎

毎日コミュニケーションズ 2008-07-31
売り上げランキング : 1457

Amazonで詳しく見る
by G-Tools

2位:基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)

基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)
大藤 幹

毎日コミュニケーションズ 2008-09-20
売り上げランキング : 4142

Amazonで詳しく見る
by G-Tools

4位:CMSとして使うMovable Typeガイドブック

CMSとして使うMovable TypeガイドブックCMSとして使うMovable Typeガイドブック
黒野 明子

翔泳社 2008-03-14
売り上げランキング : 6429

Amazonで詳しく見る
by G-Tools

4位:Movable Typeデザインカスタマイズブック MT4.2対応 クリエイターのためのValue Design

Movable Typeデザインカスタマイズブック MT4.2対応 クリエイターのためのValue DesignMovable Typeデザインカスタマイズブック MT4.2対応 クリエイターのためのValue Design
下野 宏

ソフトバンククリエイティブ 2008-09-27
売り上げランキング : 36438

Amazonで詳しく見る
by G-Tools

6位:Movable Type プロフェッショナル・スタイル MT4.1対応

Movable Type プロフェッショナル・スタイル MT4.1対応Movable Type プロフェッショナル・スタイル MT4.1対応
CSS Nite

毎日コミュニケーションズ 2008-04-08
売り上げランキング : 2676

Amazonで詳しく見る
by G-Tools

6位:Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。

Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。
加藤 善規

インプレスジャパン 2008-09-12
売り上げランキング : 3547

Amazonで詳しく見る
by G-Tools

6位:ブログ論壇の誕生

ブログ論壇の誕生 (文春新書 (657))ブログ論壇の誕生 (文春新書 (657))
佐々木 俊尚

文芸春秋 2008-09
売り上げランキング : 27180

Amazonで詳しく見る
by G-Tools
Comments [0] | Trackbacks [0]

Movable Type(MT)のインストール

November 1,2008 1:55 AM
Category:[インストール]
Tag:[, ]
Permalink

Movable Type(MT)を初めて利用されるビギナーの方向けに、Movable Type 4 のインストール方法を紹介します。ここではさくらインターネットにインストールする例で説明しますが、ロリポップや XREA などの他レンタルサーバでも大体同じです。ローカルPC の Windows マシンや Linux マシンであれば、ウィザードの手順が参考になると思います。

なお、事前に Movable Type のプログラムアーカイブはダウンロードしてください。ダウンロードが分からない方は、以下のディレクトリから個人ライセンス(無償)またはオープンソース版をダウンロードできます。

また、このエントリーで解説する前提として、サーバの Perl(または ActivePerl)実行環境が /usr/bin/perl となっている必要があります。レンタルサーバでは大抵この設定になっていると思いますが、XAMPP でローカル環境を構築する場合は同梱されている CGI ファイルの shebang 行を書き換えるなどの変更が必要です。

1.Movalbe Type のディレクトリについて

Movable Type では次の4つのディレクトリがあります。

  • アプリケーションディレクトリ
  • スタティックディレクトリ
  • ブログディレクトリ
  • データベースディレクトリ

特に前の3つのディレクトリは、インストール前の予備知識として知っておけば後で役にたつでしょう。

なお、cgi-bin などのような、CGI 専用のディレクトリに Movable Type をインストールしないのであれば、1項を読み飛ばし、2項のアップロードに進んでも大丈夫です。ただし、後述の説明で「××ディレクトリ」という用語が出現するので、意味が分からなくなったら、本項の説明を読み返してください。

アプリケーションディレクトリ
メインとなる CGI ファイル(mt.cgi)があるディレクトリです。Movable Type 管理画面へのログインやブログからのコメント投稿などは、このディレクトリ直下にある CGI ファイルのURLを指定して実行します。
FFFTP などのFTP ツールで Movable Type をアップロードしたディレクトリがアプリケーションディレクトリとなります。例えば、/home/user/www/mt というディレクトリに Movable Type をアップロードすれば、アプリケーションディレクトリは /home/user/www/mt になります。アプリケーションディレクトリは、Movable Type のアップロード前にFTPツールで事前に作成してください。
スタティックディレクトリ(mt-static)
ブログ管理画面で使用する画像ファイルや CSS、JavaScript などのファイルを格納しているディレクトリです。cgi-bin という CGI 専用のディレクトリに CGI ファイル以外のファイルを配置すると、正常にアクセスできない場合があります。このようなケースを想定して Movable Type では mt-static という画像やCSS、JavaScript 専用のディレクトリを作っています。
アーカイブを展開した時点では、アプリケーションディレクトリ配下にスタティックディレクトリ(mt-static)が格納されています。cgi-bin のように特定のファイルしかアクセスできないディレクトリにアップロードする場合はスタティックディレクトリを cg-bin 以外の、ブラウザからアクセス可能なディレクトリにアップロードします。そうでなければ、アップロードしたままの構成で問題ありません。
スタティックディレクトリのデフォルトの名称は mt-static ですが、他の異なる名称に変更することもできます。
ブログディレクトリ
閲覧者が実際にブログにアクセスするディレクトリです。このディレクトリはインストール時に決定します。
データベースディレクトリ
データベースを格納するディレクトリです。データベースに SQLite を使用する場合に関連します。レンタルサーバのデータベース(MySQL)を利用する場合はデータベースディレクトリを意識する必要はありません。

2.Movable Type のアップロード

それでは、インストール作業に入ります。

まず、Movable Type のプログラムアーカイブを展開し、中にある全てのファイルとフォルダを FFFTP などのツールでアップロードします。

FFFTPの画面は、左側がローカルPCで、パッケージを解凍した最上位フォルダの中、右側がレンタルサーバで、これからアップロードするディレクトリにすでに移動している状態です。

FFFTP をご利用の場合、転送モードは「バイナリ転送モード」または「ファイル名で転送モード切替」を選択してください(「バイナリ転送モード」を推奨 *1)。「アスキー転送モード」では絶対に転送しないでください。

ここではさくらインターネットを想定し、全て同じディレクトリにアップロードしますが、レンタルサーバによっては CGI を実行するディレクトリとブログの HTMLファイルを配置するディレクトリが異なる場合があります。

(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
FFFTPの画面

左側に表示されたファイルまたはフォルダをクリックして、メニューバーの[表示]-[全選択]を選択するとすべてのファイル・フォルダが選択された状態になります。

(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
メニューバーの[表示]-[全選択]を選択

この状態でメニューバーの[コマンド]-[アップロード]を選択するとサーバ側へファイルの転送が開始します。転送中はスクリーンショットのような転送状態が表示されます。かなりのファイル数があり、数分かかりますのでゆっくり待ちましょう。

(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
メニューバーの[コマンド]-[アップロード]を選択

転送が完了するとウィンドウの右側にファイルやフォルダがずらずらと表示された状態になります。転送作業はこれで完了です。

(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
転送完了

続いて、実行ファイルのパーミッションを変更します。*2

転送したファイル(画面に見えている部分のみ)に、拡張子が「.cgi」となっているファイルがあります。これがいわゆる「CGI ファイル」です。この CGI ファイルに対し、プログラムとして実行できるよう、パーミッション(権限)を与える必要があります。

パーミッションを変更するファイルは14ファイルで、まずこれらのファイルを ctl キーを押しながらクリックして複数選択します。

(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
ファイルを複数選択

この状態でメニューバーの[コマンド]-[属性変更]を選択します。

(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
メニューバーの[コマンド]-[属性変更]を選択

表示されたダイアログ(左)の右下にある「現在の属性」に「705」や「755」あるいは「700」を設定して「OK」をクリックしてください。さくらインターネットの場合は「705」または「755」です。ここでは「705」に設定します。

設定値はレンタルサーバによって異なりますので、レンタルサーバのマニュアル等でご確認ください。

パーミッションの変更

これで CGI ファイルのパーミッションが変更されました。変更したファイルの属性欄がそれぞれ「rwx---r-x」となっていればOKです。

(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
パーミッションの変更完了

3.ウィザードによるインストール

プログラムのアップロードが完了したら、いよいよ Movable Type のインストールを行います。なお、サーバのアプリケーションディレクトリと、それに対応する URL は以下を想定して説明します。

アプリケーションディレクトリ
/home/hogehoge/www/mt
アクセスするURL
http://hogehoge.sakura.ne.jp/mt/

3.1 アプリケーションディレクトリにアクセス

ブラウザを起動し、アプリケーションディレクトリのURL(ここでは http://hogehoge.sakura.ne.jp/mt/)にアクセスします。正常にアクセスできれば次の画面が表示されるので「ログイン」をクリックします。この URL はインストール後の管理画面へのログインに利用しますが、URL の末尾に mt.cgi を付与してアクセスしてもかまいません。*3

ログイン画面
ログイン

3.2 インストールウィザード開始

インストールウィザードが開始します。右下の「開始」をクリックしてください。この画面が表示されたら、3.3項のシステムチェックに進んでください。

ウィザード開始
ウィザード開始

もし、スタティックディレクトリがアプリケーションディレクトリにない場合(またはスタティックディレクトリ名を別の名前に書き換えた場合)、上の画面が表示される前に、次のスタティックディレクトリを設定する画面に遷移します。これはスタティックディレクトリがウィザードの実行で必須なためです。
この画面が表示されたら、スタティックディレクトリの URL とパスをそれぞれ設定して「開始」をクリックしてください。設定が適切であれば次の画面に遷移します。

スタティックディレクトリ設定
スタティックディレクトリ設定画面

3.3 システムチェック

システムチェック(Movable Type は Perl で書かれており、Perl プログラムとして動作する環境が揃っているかのチェック)を実施します。「必要なPerlモジュールは揃っています」というメッセージが表示されればシステムチェックはOKなので、右下の「次へ」をクリックしてください。

システムチェック
システムチェック画面

動作環境が分からない場合は、公式サイトの次のページを参考にしてください。

Movable Type ドキュメント - 必要インストール環境、動作環境

3.4 データベース設定

使用するデータベースを選択します。選択可能なデータベースはサーバの環境によって異なります。データベースの設定がインストールで一番の肝となります。

以降に「MySQL」および「SQLite」の場合の設定内容を示します。サーバ環境によっては PostgreSQL や SQLite2 を選択することができますが、ここでは割愛しています。

データベース設定
データベースを選択

「MySQL」を選択した場合、「データベースサーバ」「データベース名」「ユーザー名」「パスワード」を設定します。それぞれレンタルサーバの契約で設定されていると思いますので、その内容をそのままここに反映させてください。設定完了後、「接続テスト」をクリックして、「データベース接続完了」に進んでください。

データベース設定(MySQLを選択した場合)
「MySQL」を選択

さくらインターネットの場合は、サーバコントロールパネルの「データベースの設定」画面に設定情報があります。

サーバコントロールパネルの「データベースの設定」画面

「SQLite」を選択した場合、「データベースへのパス」を設定します。デフォルトで「./db/mt.db」が設定されているので、この設定をこのまま利用する場合、アプリケーションディレクトリに db というディレクトリを予め作成しておく必要があります(作成しておかないとエラーになります)が、「データベースへのパス」を「./mt.db」に変更して「接続テスト」をクリックすればそのまま次へ進めます。mt.db は、SQLite 用のデータベースファイルです。

データベース設定(SQLiteを選択した場合)
「SQLite」を選択

選択したデータベースへの接続が成功すると次の画面に遷移します。ここでは設定する項目はありませんので「次へ」をクリックして、3.5項に進んでください。

データベース接続完了
データベースへの接続成功

接続に失敗した場合、次のようにエラーとなるので、設定項目に誤りがないか確認してください。

データベース接続失敗
データベースへの接続失敗

3.5 メールサーバ設定

次に送信用メールサーバの設定を行います。メールサーバの設定は、コメント/トラックバックの受信通知、エントリー投稿後の通知、パスワードの再設定等で使われますが、この設定を行わなくても Movable Type は正常に動作しますので、よく分からない場合は設定せずに「次へ」をスキップしてください(mt-config.cgi を直接編集すればインストール後でも設定できます)。

メールサーバ設定
送信用メールサーバの設定

「Sendmail」を選択した場合は「sendmailのパス」を入力します。さくらインターネットの場合「Sendmail」を選択し、「sendmailのパス」はそのままでOKです。テストメールを送信したい場合は、「テスト送信するメールアドレス」を設定して「テストメールを送信」をクリックして「テストメールの送信完了」に進んでください。送信しない場合は「次へ」をクリックして、3.6項へ進んでください。

メールサーバ設定(Sendmailを選択した場合)
「Sendmail」を選択

「SMTPサーバー」を選択した場合は「送信メールサーバー(SMTP)」を入力します。テストメールを送信したい場合は、「テスト送信するメールアドレス」を設定して「テストメールを送信」をクリックして「テストメールの送信完了」に進んでください。送信しない場合は「次へ」をクリックして、3.6項へ進んでください。

メールサーバ設定(SMTPサーバーを選択した場合)
「SMTPサーバー」を選択

「テストメールを送信」をクリックして、メールが正常に送信された場合、ご利用のメーラーに次のようなメールが届きます。

テストメール
テストメールを送信

「テストメールを送信」をクリックした場合、次の画面に遷移するので、「次へ」をクリックし、3.6項に進んでください。

テストメールの送信完了
テストメールの送信完了

3.6 設定ファイル生成

「Movable Type Proの設定を完了しました。」と表示されれば、アプリケーションディレクトリに mt-config.cgi という設定ファイルが生成されます。この設定ファイルの拡張子は .cgi ですが、CGI としての実行ファイルではありません。

これまで設定した内容を変更せず、先へ進む場合は「次へ」をクリックして、3.7項に進んでください。

設定ファイル生成
設定ファイルを生成

なお、設定ファイル mt-config.cgi を生成したあと、インストールウィザードの手順を戻して、再びこの画面まで作業を進めると、mt-config.cgi が正常に生成できないメッセージが表示されます。これはmt-config.cgi を自動で上書きしないための措置です。

設定ファイル生成(NGの場合1)
mt-config.cgi が正常に生成できないメッセージ

ウィザードの画面を戻して、データベースやメールサーバの設定を変更した場合、このメッセージ画面を表示する前に、FTPツールで mt-config.cgi を削除してください。削除しないと変更した設定が mt-config.cgi に反映されません。
設定を変更していない場合(試しに戻ってみただけなど)は、「mt-config.cgiを手動で作成しました。」をチェックして「次へ」をクリックすればOKです。

設定ファイル生成(NGの場合2)
「mt-config.cgiを手動で作成しました。」をチェック

3.7 アカウント情報設定

Movable Type の管理画面にログインするアカウント情報を設定します。必要な項目を設定して「次へ」をクリックしてください。

アカウント情報設定
アカウント情報の設定

3.8 ブログ情報設定

ブログ名と、ブログURL、そしてブログのURLに対応する「公開パス(ブログディレクトリ)」を設定します。また、ブログのデザインとなるテンプレートセットを選択します。

ブログ情報設定
ブログ情報の設定

Movable Type 4.2 では、「ブログURL」と「公開パス」のそれぞれの入力フィールドの末尾に「my_first_blog」が表示されています。これはブログ名「My First Blog」を反映させたもので、ブログ名に半角英数を設定すると、「ブログURL」と「公開パス」の「my_first_blog」の部分も自動的に書き換わりますが、URLやパスを強制するものではありません。したがって、先にブログ名を決めて、その後「ブログURL」と「公開パス」を希望の内容に書き換えると良いでしょう。

ブログのURLを http://hogehoge.sakura.ne.jp/ にしたい場合は、次のように、「ブログURL」から「my_first_blog/」という文字列を削除し、「公開パス」から「/my_first_blog」を削除すると良いでしょう。「ブログURL」の末尾にはスラッシュをつけ、「公開パス」の末尾にはスラッシュをつけないでください。

ブログ情報設定(ブログURL・公開パスの変更)
ブログURL・公開パスの変更

また、テンプレートセットの選択は、シンプルなブログを運営したいのであれば「既定のブログ」を選択すると良いでしょう。Movable Type Pro のインストール時にデフォルトで表示される「コミュニティブログ」は、文字通りコミュニティ機能を有しており、ブログに対し外部ユーザーの投稿を許可したりするものです。「コミュニティ掲示板」はフォーラムやトピックを作成・運営するためのものです。「プロフェッショナルウェブサイト」はブログを全面に出すのではなく、ウェブサイトの中にブログを組み込むような表示形式になっています。

ブログ情報設定(テンプレートセット選択)
テンプレートセット選択

3.8 インストール開始

「インストール」をクリックすると、インストールが開始します。

インストール開始
インストール開始

「インストールを完了しました!」が表示されればインストール完了です。「Movable Type にサインイン」をクリックしてください。

インストール完了
インストール完了

3.9 ブログ管理画面にログイン

ブログ管理画面が表示されればインストール成功です。

ブログ管理画面
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
ブログ管理画面

場合によっては上の画面の前に、次のサインイン画面が表示されますので、3.7項で設定したアカウントでログインしてください。

サインイン画面
設定したアカウントでログイン

4.おわりに

これでインストール作業はすべて完了です。おつかれさまでした。Movable Type を使いこなして楽しいブログライフを送ってください!


*1:「ファイル名で転送モード切り替え」は該当する拡張子のファイルの改行コードの変換(CR/LF→LF)が目的ですが、Movable Type のプログラムファイルの改行コードはすべて LF (Linux に対応)になっているので、ローカルPC上でMovable Type のプログラムファイルを編集したりしなければ、改行コードを変換する必要はありません。つまり「バイナリ転送モード」でアップロードしても問題ありません。

*2:サーバによってはパーミッションの変更が不要な場合もあります。

*3:過去のバージョンではこのようなログインページがなかったため、直接 mt.cgi にアクセスしていました。

Comments [7] | Trackbacks [0]
Now loading...
Introduction
List of "November 2008"
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site
loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.12