タグ「テンプレート」が付けられているもの

2010-03-23のブックマーク(BlogPet)

きのう(2010-03-23)のtoshiのブックマーク。

Websliceを購読できるようにしてみました

IE8からWebsliceという機能が使えるようになっています。

IE8_Webslice.png

RSS Feedの公開よりも手軽に出来るので、今後広く普及しそうな予感がします。

試しにMovable Typeのテンプレートを編集して、自分のブログでWebsliceを使えるか試してみました。

Trackback Auto-Discoveryを無効に

トラックバックのスクリプト名を変更してもBotでアクセスされてトラックバックのアドレスが収集されてしまいます。そういうBotからのアクセスを拒否すれば良いのでしょうが、ユーザーエージェントが巧妙に偽装されている場合があり、アクセスログから調べるのはとても大変です(・_・;。

きちんとトラックバックを送っていただける方には申し訳ないのですが、Trackback Auto-Discoveryの機能を使わないようにテンプレートを修正しました。

MTOS 4.2 RC4でEntryTrackbackDataをキーワードに全テンプレートを検索すると、「ブログ記事の概要」「ウェブページ」「ブログ記事」がヒットしますので、それぞれのテンプレート内にある<$mt:EntryTrackbackData$>を削除してしまうか、mt:Ignoreタグを使って処理を無効化してしまいます。

これでもトラックバックのURLを拾われるようならば、別の対策を考えることにします・・・。

フォトギャラリー

MTOS 4.2 RC4でプラグインを使わずに、デフォルトのタグや機能でフォトギャラリーみたいなものを作成してみました。

ウェブページのテンプレートを下記のように修正します。

                                <div class="asset-content">
<mt:If tag="PageBody">
                                    <div class="asset-body">
                                        <$mt:PageBody mteval="1"$>
                                    </div>
</mt:If>
<mt:If tag="PageMore">
                                    <div id="more" class="asset-more">
                                        <$mt:PageMore mteval="1"$>
                                    </div>
</mt:If>
                                </div>

mtevalモディファイアを追加することで、ウェブページ内でMovable Typeタグが展開されるようになります。

ウェブページを新規作成し、本文もしくは追記に下記のようなタグを入力します。

<MTAssets type="image" lastn="20">
<a class="asset-image thickbox" rel="photo_gallery" title="<$MTAssetDescription$>" href="<$MTAssetURL$>"><img src="<$MTAssetThumbnailURL height="120"$>" class="asset-img-thumb" alt="<$MTAssetLabel$>" title="<$MTAssetDescription$>" /></a>
</MTAssets>

MTAssetsタグにtagモディファイアを追加すれば、画像に設定されいるタグで表示する画像を絞り込むことが可能です。ダイナミックではtagモディファイアは使えません。

オリジナル画像の表示にThickboxを使わない場合は、<a></a>内にあるclass="asset-image thickbox" rel="photo_gallery"を削除します。ThickboxではなくLiteboxを使いたい場合は、rel="lightbox[photo_gallery]"に修正すれば良いと思います。

ウェブページの公開方法をスタティックにしていると、画像を追加してもフォトギャラリーは更新されませんので、随時保存し直して再構築する必要があります。公開方法をダイナミックに変更すれば、画像を追加すれば自動的に更新されますので、手間を考えればダイナミックをお勧めします。

OpenSearchへの対応

2008-07-10_1.png

OpenSearchに対応しているInternet Explorer 7でサイトを見ていると、画像のように検索オプションボタンの色がオレンジ色に変わることがあります。Firefox 2.0以上のバージョンでも同様に、検索オプションのボタンが変わることがあります。

参照:OpenSearch とは

Movable Type 3.3以降で検索結果のテンプレートがOpenSearchに対応しているようですが、完全に対応しているとは言えないようですので、調べたり試行錯誤したりして対応させてみました。

コメントを見やすく表示する

MTOS 4.2 RC2をインストールしてお試し中です。

MTOS 4.2では、コメントの返信機能が使えるようになっているのですが、テンプレートの表示では返信機能が生かされていないようです・・・。

コメントの返信も簡単に表示も解りやすく | MovableType.jpを参考にして、コメントのテンプレートを修正して入れ子に表示できるようにしてみました。

ブログ記事の詳細テンプレート(Movable Type 4.1)

Movable Type 4.1でダイナミックパブリッシングを使用するにしたら、ブログ記事の続き部分が変な表示なってしまいました。

<div id="more" class="asset-more"><br />
<p>追記</p><br />

という感じで、余計な<br />が出力されています。

ブログ記事の詳細テンプレートを見ると、

<MTIfNonEmpty tag="EntryMore" convert_breaks="0">
        <div id="more" class="asset-more">
            <$MTEntryMore$>
        </div>
</MTIfNonEmpty>

となっており、convert_breaks="0"が悪さをしているんじゃないと思います。

素人考えですが、MTIfNonEmptyでconvert_breaks="0"は使えないんじゃないでしょうか?。

convert_breaks="0"を削除して、余計な<br />が出力されず、きちんと表示されることを確認しましたし、削除したことで不具合も無さそうです。

タグクラウドのテンプレートを修正

Movable Type 4.1のウィジェットテンプレートにタグクラウドというのがあります。

mt:Tagsというタグのモディファイアの設定が間違っている部分があり、修正しないと期待した通りの結果が得られません。

<div class="widget-tag-cloud widget">
    <h3 class="widget-header">タグクラウド</h3>
    <div class="widget-content">
        <ul class="widget-list">
    <mt:Tags limit="20" sort_by="rank">
            <li class="rank-<$mt:TagRank max="10"$> widget-list-item"><a href=""><a href="<$mt:TagSearchLink$></a>"><$mt:TagName$><a href=""></a></a></li>
    </mt:Tags>
        </ul>
    </div>
</div>

赤く表示しているrankという部分を下記のようにcountと修正します。

<div class="widget-tag-cloud widget">
    <h3 class="widget-header">タグクラウド</h3>
    <div class="widget-content">
        <ul class="widget-list">
    <mt:Tags limit="20" sort_by="count">
            <li class="rank-<$mt:TagRank max="10"$> widget-list-item"><a href=""><a href="<$mt:TagSearchLink$></a>"><$mt:TagName$><a href=""></a></a></li>
    </mt:Tags>
        </ul>
    </div>
</div>

mt:Tagsについては、MTTags | テンプレートタグリファレンスを参照してください。

テンプレート「ブログ記事のメタデータ」を修正

Movable Type 4.01 のテンプレートに「ブログ記事のメタデータ」というものがあります。

このテンプレート内で

<MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackback">トラックバック(<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>

となっている部分があります。#trackbackとname属性を指定していますが、 これだとリンクをクリックしてもトラックバックの部分へジャンプできませんので、下記のように修正しました。

<MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackbacks">トラックバック(<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>

バックグラウンドのキューを使って再構築を行う

Movable Type 4の公開設定に

バックグラウンドのキューを使って再構築を行う

というのがあります。

どうやって使うのかよくわからなかったのですが、色々と実験してみてどんなものなのかわかってきました・・・。

エントリーを作成したり修正した後に保存した時や、テンプレートを修正して保存した時に、データベースへデータが保存されます。そして、cronを使ってrun-periodic-tasksを実行させるようにしていると、再構築作業が実行されてhtmlやcssなどのファイルが書き換えられます。

Movable Type 4 にアップデートしてみて・・・

Movable Type 3.35からMovavle Type 4.01にアップデートして感じたこと・・・。

テンプレートの構成がガラリと変わったので、テンプレートの修正や変更をする時に手間取りました(^^;;。
作業しているうちに徐々に慣れてきましたが、Movable Type 3.35を使っていた頃のようにサクサクと修正できるようになるまでは、まだしばらく時間がかかりそうな気がします・・・。

コメントスパム対策として、CAPTCHA機能が使えるようになっていますが、画像が表示されない状態です(T_T)。
画像のプロパティにあるURLをコピーして、ブラウザのアドレス欄に貼り付けてアクセスしてみるとエラーの内容がわかります。
そのエラーメッセージを頼りに調べてみましたが、サーバの環境によって使えたり使えなかったりするようです。

サンプルとしてあるreCaptchaプラグイン(/extras/examples/plugins/reCaptcha/)を使ってみようと、/extras/examples/plugins/reCaptcha/README、コメントにCAPTCHA認証を利用するMovable Type 4 で reCAPTCHA を利用するを参照して作業しました。
でも、これも画像が表示されません・・・(T_T)。
こちらは、エラーメッセージが確認できないので、原因を特定する方法がさっぱりわかりません(‥;)。

自動保存の機能があり、デフォルトの設定は5秒間何も作業しないと保存するようです。
頻繁に自動保存されても鬱陶しいので、mt-config.cgiに
AutoSaveFrequency 30
を追加しました。
AutoSaveFrequency(Movable Type 環境変数リファレンス)

MySQL 4.1でXOOPS 2.0を使う場合の注意点

・MySQL4.1系列はエンコード自動変換対策が必要

(下の1行をclass/database/mysqldatabase.php の88行目、return true;の直前に挿入する)

mysql_query( "SET NAMES binary" , $this->conn ) ;

※4.1.7はバグでテンプレートが読み込めません(=事実上XOOPSは使えない。同じ4.1系列でも最新版ならこのバグは修正されている)

Xoops Users Group Japan - 1. インストール

サーバを変更するのにあたって検証中なのですが、この修正を加えることで文字化けの呪縛から開放されました(^^;;。

データベースのエクスポート&インポートでも文字化けが発生しています。

文字化けしないでデータの移行をする方法は見つかりましたが、ちょっと手間が掛かるのでもう少し楽に出来る方法はないか模索中です(^^;;。

Movable Type 4 ベータ2

Microsoft Virtual PC 2007上にインストールしたCentOS 4に、Movable Type 4 ベータ2をインストールしてみました。

CentOSの環境は、
Perl 5.8.5
Mysql 4.1.20
となっています。

インストール作業中、不具合とかエラーは発生しませんでしたのですんなりと終わりました。

MT4Beta2.png

とりあえず、テスト用のエントリーを作成してみました。

テンプレートやプラグインの仕様が大きく変わりましたので、慣れるまでだいぶ時間が掛かるような感じですね(^^;;。

Liteboxを使えるようにしてみました

画像をカッコ良く(?)表示させるツールLiteboxを使えるようにセットアップしました。

小粋空間: Litebox 1.0 をブログに適用するを参考にして、Movable Typeのテンプレートを使用する方法でセットアップしました。詳しい解説のおかげで、苦労する事無く簡単に出来ました(^^)

一部の画像はポップアップで表示するようになっているので、それらは追々変更していきたいと思います。

最近のコメントのテンプレートを変更

Movable Typeに標準でインストールされるようになった、Widgetを使用して最近のコメントを表示するようにしていました。

デフォルトのテンプレートだと、コメントを新しい順に並べるだけですので、ちょっと見にくい感じがしていました。

エントリー毎にコメントをまとめて表示すれば、少しは見やすくなると思いましたので、そのようにテンプレートを変更してみました。

Widget: 最近のコメント(デフォルトテンプレート)。

<div class="module-recent-comments module">
  <h2 class="module-header"><MT_TRANS phrase="Recent Comments"></h2>
  <div class="module-content">
<MTComments lastn="10" sort_order="descend">
    <a href="<MTCommentEntry><$MTEntryPermalink$></MTCommentEntry>#comment-<$MTCommentID$>"><$MTCommentAuthor$> on <MTCommentEntry><$MTEntryTitle$></MTCommentEntry></a>: <$MTCommentBody remove_html="1" trim_to="10"$><br />
</MTComments>
  </div>
</div>

緑色で表示されている部分を削除して、赤色で表示されている部分を追加します。

Widget: 最近のコメント(変更後のテンプレート)。

<div class="module-recent-comments module">
   <h2 class="module-header">最近のコメント</h2>
   <div class="module-content">
      <MTEntries recently_commented_on="10">
         <p><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
         <MTComments lastn="5">
          └ <$MTCommentAuthor$> <a href="<$MTEntryPermalink$>#comment-<$MTCommentID$>">at <$MTCommentDate format="%Y.%m.%d"$></a><br />
         </MTComments></p>
      </MTEntries>
   </div>
</div>

Movable Type 3.35へバージョンアップ

Six Apart - Movable Type News: Movable Type 3.35 日本語版の提供を開始

コメント・プレビュー画面でスクリプト実行を許す脆弱性がありました。この不具合を修正しました。

クロスサイトスクリプティングを許す脆弱性があるということなので、バージョンアップしておきました。

ファイルを転送した後、mt.cgiにアクセスするとデータベースのアップデートが自動的に始まりました。

でも、あっという間に終わりました。

コメントプレビューのテンプレートを修正する必要があるようですが、テンプレートをカスタマイズして使用しないのであれば、Template Backup and Refresh(プラグイン)の機能を使って初期化してしまっても良いと思います。

Movable Type 3.34にバージョンアップ

Six Apart - Movable Type News: Movable Type 3.34日本語版の提供を開始ということで、Movable Type 3.33からアップデートをしました。

不正なHTMLタグによるスクリプト実行の可能性、MTCommentPreviewIsStaticテンプレートタグの機能を利用したスクリプト実行の可能性があるということなので、出来るだけ早くアップデート作業をした方が良いと思われます。

Widget: 最近のコメント

Movable Type 3.3に同梱されるようになったプラグインに、Widget Managerというのがあります。

デフォルトでインストールされるWidgetに、Widget: 最近のコメントというものがあります。

Widget: 最近のコメントのテンプレートで、HTMLのルール上おかしなところがありますので、修正しておいた方が良いと思います。

<a href="<MTCommentEntry><$MTEntryPermalink$></MTCommentEntry>#comment-<$MTCommentID$>"><$MTCommentAuthor$> on <MTCommentEntry><$MTEntryTitle$></MTCommentEntry></a>: <$MTCommentBody remove_html="1" trim_to="10"$></a><br />

赤く表示した</a>が余計なので、これを削除します。

単純に改行されるだけで、ズラズラとコメントが表示されるので、<p>や<li>のタグを使用すると読みやすくなると思います。

Movable Type 3.3のエントリーアーカイブ

Movable Type 3.3でエントリー・アーカイブを表示するデフォルトテンプレートでは、エントリーのタイトルを表示する部分は、

<h2 id="archive-title"><$MTEntryTitle$></h2>

となっています。

StyleCatcherを使用して、スタイルを変更すると、スタイルシートでarchive-titleの記述がなくなるので、素っ気無い表示になってしまいます。

StyleCatcherを使用するなら、Movable Type 3.2以前のデフォルトテンプレートと同じように修正すれば良いと思います。Movable Type 3.2では、

<h3 class="entry-header"><$MTEntryTitle$></h3>

となっています。