Movable Type で記事を投稿した際に、エントリーのタイトルとパーマリンクのTinyURLをTwitterへ自動的に投稿するプラグイン「PostToTwitter」を使っていましたが、

「Open MagicVox.net」 で、「エントリーのタイトルとURLをTwitterへポストするのを支援するMovableTypeプラグイン:TwitterSupport」という記事が公開されていたので、試してみました。

エントリーを投稿してから間違(複数ブログで運用しているサイトなので、本来投稿したいブログとは異なるブログに投稿したり)いに気づいたりして、慌てることが少なくないので、ワンクリック動作が増えますが、現在はこのプラグインを利用しています。

MovableType の検索結果テンプレートはわりあいあっさりしていて、Google のような検索結果のハイライト表示ができません。そこで、プラグインの登場です。

「Open MagicVox.net」で公開された、「検索キーワード付近を抜き出して表示するMovableTypeプラグイン:SearchStringHighlight」の出番です。

MovableType の可能性って本当にすごい。もちろんプラグイン作者の皆さんのおかげです。感謝、感謝。

検索結果テンプレートもしくは代替の検索結果テンプレート(MT/search_templates/altsearch.tmpl)からインクルードしている、ブログ記事の概要テンプレート20行目あたり、

<div class="asset-body">
        <$mt:EntryBody$>
</div>

を、

<div class="asset-body">
        <$mt:SearchStringHighlight$>
</div>
<$mt:SearchStringHighlight length="20" words="40" tag="strong"$>

というように、オプション指定もできます。

とすればよいのですが、ブログ記事の概要テンプレートには手を加えず、書き換えたものを、検索結果テンプレートからインクルードしている部分に丸ごと上書きしたほうが吉でしょう。

MovableType4からは、年別アーカイブがプラグイン無しで作成できますが、月毎にヘッダーをつけるにはどうすればよいか?

デザインユニット「linker」のwebsiteにピッタリの記事が出ていましたので早速採用しました。

実際のコードは次の通りです。

<mt:IfArchiveType archive_type="Yearly">
<div class="section">
<mt:SetVar name="match" value="1">
<mt:Entries sort_order="ascend">
<mt:SetVarBlock name="thisMonth"><mt:EntryDate format="%b"></mt:SetVarBlock>
<mt:If name="match" eq="1">
<h3><mt:GetVar name="thisMonth">月</h3>
<div class="asset-content">
</mt:If>
<dl class="archive_list">
<$mt:Include module="ブログ記事の概要"$>
</dl>
<mt:EntryNext><mt:SetVarBlock name="entryMonth"><mt:EntryDate format="%m"></mt:SetVarBlock></mtEntryNext>
<mt:If name="entryMonth" ne="$thisMonth">
</div>
<mt:SetVar name="match" value="1">
<mt:Else>
<mt:SetVar name="match" value="0">
</mt:If>  
<mt:EntriesFooter>
<mt:If name="match" eq="0">
</div>
</mt:If>
</mt:EntriesFooter>
</mt:Entries>
</div>
</mt:IfArchiveType>

MT4i version 3.1 alpha3 公開

| コメント(0) | トラックバック(0)

このサイトでも利用させてもらってる、Movaable Type をモバイル対応にするCGIのMT5に暫定対応版のalpha3が公開されました。

ロリポップ、チカッパでEncode.pmがらみのエラーがでる問題が修正されています。これで安心してMT5へ移行できます。

MovavleType のプラグイン開発をされているアークウェブさんから、面白そうなプラグインが出ていたので紹介します。

範囲内のMTタグを解釈させずにそのまま出力させるプラグイン - NoProcess

用途としては、当該ページに書いてあるように、

MT::BootstrapなどMTタグを解釈して動作するCGIアプリケーション等が利用するテンプレートファイルをMTを使って生成したい場合に便利に使えます。

ということですが、このサイトでは、検索結果に代替テンプレートを使っているので、そのテンプレートファイル(MT/search_templates/altsearch.tmpl)を出力させるために使っています。

「わざわざそんなことしなくてもFTPでアップロードすればいいじゃyないか!」というご意見もあるでしょうが、MovavleType のアップグレード時にファイルのアップロードを忘れてしまったり、あるいは、テンプレートを修正するときに、わざわざFTPを立ち上げなくても、他のテンプレート同様に管理画面で修正できるという利点もあるのです。

関連エントリー

このサイトは、Movable Type 4.27 ですが、他に運営しているサイトを、Movable Type 5.01 へアップグレードしました。その際の注意点を備忘録として書き記します。

アップグレードの注意点

具体的な方法は、Movable Type 5 ドキュメンを読んでいただくとして、基本的な手順はこれまでのアップグレードと同じです。ただし、いくつかの注意点があります。

  1. Movable Type 5.0 の変更点、注意事項、および既知の問題 | Movable Type 5 ドキュメントに記載の通り、mt-config.cgi に DefaultLanguage の記述がない場合は、"DefaultLanguage ja" を追記しないと、インストール画面が英語になったり、ダッシュボードでのテンプレート名が英語表記になったりします。
  2. 同じく、Movable Type 5.0の内部処理は、PublishCharsetによらず必ずUTF-8でおこなわれます。外部のサイトからフィードを取得するプラグインなどは、UTF-8へのエンコード、デコード処理が必要になります。このため、Feeds.App Liteで外部のフィードを取得するときに、文字化けすることがあります。

前述の2については、Feeds.App Liteを使ってBBSのFeedを表示させていたので、見事に文字化けしました。これを回避するため、jsRSS.cgiを利用した方法に変更しました。

プラグインの対応状況

前述の光陽マーリンズ Websiteではほとんどのプラグインが問題なくつかえましたが、対応バージョンが出ていないものでも、利用者による暫定対応版やTipsが紹介されていたので掲載します。

  1. Google Sitemapsへの更新通知を自動化するMovableTypeプラグイン:MTGoogleSitemapsPingは、Vicuna :: トピックを表示 - mt.Vicuna Simple 2.3を公開しましたに修正版についての情報があります。

    Vicuna :: トピックを表示 - mt.Vicuna Simple 2.3を公開しました

    Sitemap XMLテンプレートの追加
    GoogleやYahooにクロールされる為の、SiteMap 0.9(XML)ファイルのテンプレートを追加しました。
    一般的に見かける sitemap.xml では、カテゴリーアーカイブや月別アーカイブも記述されている為、検索された時に同じ情報が複数URlに表示され、LandingPageがバラけてしまう事になると考えます。その為この中に記述されるファイルは、メインインデックス・ブログ記事・ウェブページ・アーカイブインデックス(アーカイブインデックスは削除した方が良いのかもしれません)のみとし、ブログ記事とウェブページの重みを大きく設定しています。
    MTGoogleSitemapsPingを併用する事により、作成されたサイトマップファイルをクロールしてもらうよう、Googleに更新Pingを打つ事が可能になります。
    私が試した範囲では、MTGoogleSitemapsPingはMT5環境では動作しませんでした。
    GoogleSitemapsPing - oscar's CODEに、私のMT5環境で動作するMTGoogleSitemapsPingプラグインを公開しています。
    修正済みプラグインダウンロード
    MTGoogleSitemapsPingプラグインをインストールする事により、自動的にGoogleへの更新Ping機能が有効になります。

    /HA oscar WolaWola

  2. Custom Editor Button 2のMT5でポケットボタンが表示されない対処法は、MT:Custom Editor Button 2の小技をいくつかに対処方法が掲載されていました。

    MT:Custom Editor Button 2の小技をいくつか « maRkのMyOwn

    その5.MT5でポケットボタンが表示されない対処

    MT5(b1)で四次元ポケットが表示されていないのを確認しました。実際は表示されているのですが、スタイルの位置が原因で表示されていないように見えるというものです。

    具体的にはCustomEditorButton2.pmファイルの最後のほうのスタイルシートの箇所で、div#ceb-containerと、div#ceb-boxに対するwidthプロパティの指定をコメントアウトすれば表示されるようになりました。

このサイトでも、Movable Type 5.01 へのアップグレードを検討していますが、プラグインのいくつかが未対応なので、状況を見守っています。今のところ懸案は、

  1. リアルタイム再構築を利用してページ分割で利用する、ページ分割プラグイン(DivPages_1_10
  2. MT4iと連携した携帯サイトの構築で利用する、I18N Helper Plugin

です。

ページ分割は他の手段もありますが、2のI18N Helper Pluginは他に代替手段がないので困っています。MT5・プラグインの皆さん動いてますか - WolaWolaにヒントがあったので、時間があれば取り組んでみたいと思います。

【2010-01-15 追記】
MT5・プラグインの皆さん動いてますか - WolaWola では、I18N Helper 0.10については、「MT::I18N::encode_text」とかが、無くなってるみたいです。名前が変わったのかな?「encode_text_encode」とかにすればいいのかも。となっていましたが、5.01で動作確認できました。
【2010-01-28 追記】
MT4i3.1 alpha2 は、ロリポップ・チカッパでは、Movaable Type 5.01でEncode.pmがらみでエラーがでるようですが、SAKURAでは動作確認できました。
【2010-02-08 追記】
ページ分割プラグインについては、MT5対応版が公開されました。Perl版ダイナミックパブリッシング用ページ分割プラグイン(MT5対応版)
【2010-03-20 追記】
MT4i3.1 alpha3 は、ロリポップ・チカッパででのEncode.pmがらみでエラーがでる問題が修正されています。これで一安心。

1月6日付で、シックス・アパート社から、セキュリティアップデートとして Movable Type 5.01 と 4.27の提供が開始されました。

このサイトは、Movable Type 4.261 で構築しています。Movable Type 5.01 への移行も検討していますが、プラグインのいくつかが対応していないのでもうしばらく様子を見守ろうと思いますが、セキュリティアップデートとのことですので、どのバージョンにせよ、早めのアップデートをお勧めします。

このサイトでも利用させてもらってる、Movaable Type をモバイル対応にするCGIが、MT5に暫定ながら対応して公開されました。

検索機能などもついてパワーアップしています。

【2009-12-28 追記】
現在は、MT4i version 3.1 alpha2 が公開されています。
【2010-01-28 追記】
ロリポップ・チカッパでは、Movaable Type 5.01でEncode.pmがらみでエラーがでるようですが、SAKURAでは動作確認できました。
【2010-03-20 追記】
MT4i3.1 alpha3 は、ロリポップ・チカッパででのEncode.pmがらみでエラーがでる問題が修正されています。これで一安心。

Movable Type 4.1からテンプレートセット機能が搭載されましたが、これを作成するのは若干のスキルが必要になります。

そこで、ブログごとのテンプレートをテンプレートセットとして作成できる、TemplateSetExporter Plugin を導入してあります。

MovableType用TemplateSetExporter Plugin Ver.0.50 (エムロジック放課後プロジェクト)

また、次のサイトでは、さらに使いやすくするTipsが掲載されています。

Movable Type のテンプレートをカスタマイズするときのバージョン管理 - かたつむりくんのWWW

なお、Movable Type 5 には対応していません。

複数ブログで構成されたサイトで、検索結果のテンプレートを共通化したい場合は、mt-config.cgiに環境変数

SearchAltTemplate altsearch altsearch.tmpl

と記述し、代替の検索結果のテンプレートを指定(MT/search_templates/altsearch.tmpl)しますが、ここで落とし穴。

このままだと、検索結果のFeedが出力されません。

検索結果のFeedをクリック
検索結果のFeedをクリック

検索結果Feedテンプレートが無いエラー
検索結果のFeedテンプレートが無いエラー

そこで、検索結果のFeedテンプレートも次のように環境変数に記述します。

SearchAltTemplate altsearch altsearch.tmpl
SearchAltTemplate feed results_feed.tmpl

MT4iの作者、太鉄さんにご指摘頂き気付きました。ありがとうございます。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アイテム

  • 検索結果Feedテンプレートが無いエラー
  • 検索結果のFeedをクリック
  • ブログ記事の編集画面(EasyTagSelector)
  • 遷移後の画面
  • ReTweet 0.3 プラグイン設定画面

Twitter Updates

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja