Home > タグ > MovableType

Tag : MovableType

Movable Type で Wiki 文法を使う mt-sukeroku2 β3 を入れてみた

以前に試してた んだが、再び Movable Type 3.33-ja のエントリを PukiWiki 文法で書けると良いなぁと思い、mt-sukeroku2 β3 をインストールしてみた。

Continue reading

トップページの記事を更新日時順で並べたい / Movable Type

Movable Type 3.33-ja で運用中のブログですが、トップページの記事を更新日時順で並べたいと思っています。

古いエントリに追記した場合でも、トップページに表示すべく、メインページのテンプレートを、

<MTEntries sort_by="modified_on" lastn="10">

と書き換えてみたんだけど、うまくいかない。

上の設定では、投稿日時が新しい 10 件のエントリを抽出し、それを更新日時でソートする動きになるみたいだ。

これでは古いエントリに追記した場合、トップページに表示されない。

うーん、どうしようか…。

今度は、トップページに表示すべく、エントリに追記して投稿日時を変更すると、元記事をいつ書いたのかわからなくなる。

うーん、困った…。

ちなみに環境は、Movable Type 3.33-ja です。

Movable Type 3.33-ja に Captcha プラグインを導入

コメントスパム対策として、Ogawa::Memoranda さんの Captcha プラグイン を導入してみました。

私が使っている「さくらインターネット」の「スタンダードプラン」で、このプラグインを動かす場合、Authen::Captcha モジュールを追加しなければいけないらしいので、

と言うページを参考にして、Authen::Captcha モジュールをインストールしたのですが、Captcha プラグインがうまく動かなかった( captcha_js.cgi に直接アクセスすると 500 番のエラーが出る )ので、

を参考にしてインストールするとうまく動く様になりました。ありがとうございます。

Captcha プラグイン設置から五時間が経過しましたが、まだ、コメントスパムはありませんね。

Captcha コードの入力作業が、コメントしてくれる人の負担にならないかが心配。

—- 追記 @ 2006/12/13 —-

Captcha コードを表示する JavaScript を、忘れずに「コメント・プレビュー」のシステム・テンプレートにも追加しておく事。

そうしないと、一度コメント・プレビューしたコメントが投稿できなくなる。

Movable Type の「概要にいれる文字数」は、単語数なんじゃないか?

今までは、カテゴリー・アーカイブに記事全文を表示させていたのですが、さすがにページが長くなってきたので、記事の概要のみを表示しようとカスタマイズ中。

ちなみに、Movable Type のバージョンは 3.33-ja です。

検索エンジンでアンド検索した時、カテゴリー・アーカイブの最初の記事の単語と最後の記事の単語がヒットして、まったく使えない検索結果にならないように。

それから、同じ内容のテキストが、エントリー・アーカイブとカテゴリー・アーカイブの両方に存在するのもなんか嫌。

と言う事で、<$MTEntryBody$> を <$MTEntryExcerpt$> に書き換え。

それから「環境設定」の「概要にいれる文字数」を「10」とかにして再構築しても全然 10 文字にならない!

とか思ってたんですが、使用言語を「日本語」にすると、ちゃんと 10 文字になりました。

使用言語を英語にしておくと、文字数じゃなく単語数になるみたい。

愚痴るつもりが、なるほど系エントリ。

Movable Type 3.x における Atom フィードの不具合を修正

Movable Type 3.x の Atom フィード(デフォルト・テンプレートの場合)に不具合があるらしい。

不具合の内容は下記のページを参照してください。

私は複数のブログを作っていて、ひとつひとつのテンプレートを修正するのが面倒くさかったので、システム全体の検索・置換機能でやりました。

「管理画面」→「検索・置換」→「テンプレート」で、以下のコードを検索。

<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTDate format="%Y"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>

検索結果の出力ファイル名が「atom.xml」である事を確認し、以下のコードで置換。

<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,2006:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>

全てのブログを再構築。

以上、ご利用は自己責任で…。

Movable Type のサイドバーを JavaScript で書き出す

以前から「個別エントリーアーカイブ」に「カテゴリー」を表示させいと思っていたのですが、再構築時間が長くなるので敬遠していました。

ですが、サイドバーを JavaScript で書き出す方法を解説しているページを発見し、早速やってみました。

参考にさせていただいたページは、

です。ありがとうございます。

設定方法

まず、新しいインデックス・テンプレートを作ります。

テンプレート名

カテゴリー

出力ファイル名

categories.js

テンプレートの内容

function Categories(){
var h = "<MTIfArchiveTypeEnabled archive_type='Category'>";
h += "<div class='module-categories module'>";
h += "<h2 class='module-header'>カテゴリー</h2>";
h += "<div class='module-content'>";
h += "<MTTopLevelCategories>";
h += "<MTSubCatIsFirst><ul class='module-list'></MTSubCatIsFirst>";
h += "<MTIfNonZero tag='MTCategoryCount'>";
h += "<li class='module-list-item'><a href='<$MTCategoryArchiveLink$>'><$MTCategoryDescription$></a> (<$MTCategoryCount$>)";
h += "<MTElse>";
h += "<li class='module-list-item'><$MTCategoryDescription$>";
h += "</MTElse>";
h += "</MTIfNonZero>";
h += "<MTSubCatsRecurse>";
h += "</li>";
h += "<MTSubCatIsLast></ul></MTSubCatIsLast>";
h += "</MTTopLevelCategories>";
h += "</div>";
h += "</div>";
h += "</MTIfArchiveTypeEnabled>";
return h;
}
document.write(Categories());

※あらかじめテキストエディタでソース中のダブルコーテーションをシングルコーテーションに置換しておくと簡単です。

再構築オプション

チェックを入れておく

次に、カテゴリーを表示させたいページの好きな所に、以下のソースを追加。

<script language="javascript" type="text/javascript" src="<$MTBlogURL$>categories.js"></script>

該当するテンプレートを再構築する

以上です。

試しに再構築時間してみましたが「カテゴリー」を追加する前と変化なし(体感値)。

調子に乗って「最近のエントリー」なんかも外部 JavaScript ファイルにしました。

この改造によって、心配なのは、

  • 属性値をシングルコーテーションで書いているが問題ないのか?
  • 検索エンジンはリンクとして認識してくれるのか?

と言った所です。

検索エンジン対策に関しては、個別エントリーアーカイブに元々存在しなかった「カテゴリー」リンクを追加しただけなので、問題ないのではないかと思います。

とりあえず「カテゴリ追加の度に再構築の刑」が無くなっただけでも良しとする。

トラックバックスパム対策として、Trackback Auto Discovery の記述を削除

Movable Type で運用中のブログは、BanNoReferTD + mt-tb.cgi のリネームで、トラックバックスパム対策していたのですが、[を] トラックバックスパムを劇的に減らす方法 と言う記事を見つけたので、試してみる事にしました。

設定前は、一分間に五?六件程度のトラックバックスパムがログに記録されてる。

設定方法

エントリー・アーカイブテンプレートのヘッダー部分にある

<$MTEntryTrackbackData$>

と言う行を削除する。それからブログを再構築。以上。

しばらく様子見。

何だけれども、この <$MTEntryTrackbackData$> と言う奴を削除すると、自サイトのトラックバック自動検知機能が無効になる諸刃の剣。

例えば、太郎さんがこのエントリにトラックバックしたいと思った時、このエントリにリンクするだけでなく、このエントリの Trackback URL をコピーし、太郎さんのエントリ編集画面にペーストするひと手間を負わせる事になる。

どうしようかな…。

—- 追記 @ 2006/10/20 —-

落ち着いて探してみた所、この <$MTEntryTrackbackData$> と言うタグは、

  • メインページ
  • カテゴリー・アーカイブ
  • 日付アーカイブ

の各テンプレート内にあったので削除した。

エントリー・アーカイブにカテゴリーを表示した時の再構築時間

Movable Type のエントリー・アーカイブにカテゴリーリストを表示した時の再構築時間がどのぐらい長くなるのか気になって調べてみました。

以下、計測時の環境。

  • Movable Type 3.33-ja + SQLite
  • さくらインターネット(スタンダードプラン)
  • エントリー数:766
  • カテゴリー数:23

気になる結果は…

エントリー・アーカイブにカテゴリーを表示しない時の再構築時間

  • 一回目の計測 - 00:01:45(105秒)
  • 二回目の計測 - 00:02:10(130秒)
  • 三回目の計測 - 00:02:24(144秒)

平均再構築時間は、126 秒。

エントリー・アーカイブにカテゴリーを表示した時の再構築時間

  • 一回目の計測 - 00:06:13(373秒)
  • 二回目の計測 - 00:03:20(200秒)
  • 三回目の計測 - 00:09:02(542秒)

平均再構築時間は、371 秒。

再構築時間計測の結果

単純に三倍か?

カテゴリーリストを表示した時の再構築時間に結構ばらつきがあります。サーバの状態に左右されるんでしょうか?

本当はエントリー・アーカイブにカテゴリリストを追加したいのだが、ちょっと尻込み…。

[ MovableType ] MTBanASCII 0.91 を通過するコメントスパム

Movable Type を使っているブログのコメントスパム対策には、ASCII or Latin-1 のコメントを拒否する MTBanASCII 0.91 と言うプラグインを使わせていただいています。

Continue reading

MultiBlog を使い複数ブログ間でテンプレート・モジュールを共有

Movable Type 3.33-ja で運営している複数のブログでテンプレート・モジュールを共有しようと思い、MultiBlog 1.99.7b をインストールしてみました。

設置方法は、ダウンロードしたファイルを解凍して、Movable Type をインストールしたフォルダに階層を合わせてアップロードするだけ。

それから、テンプレートを編集し、別ブログのテンプレート・モジュールを読み込みたい所に

<MTMultiBlog include_blogs="1">
  <MTInclude module="Test">
</MTMultiBlog>

と記述します。上の例では、Blog ID = 1 の Test と言うテンプレート・モジュールを読み込みます。

Blog ID がわからない時は、Movable Type 管理画面のトップでブログ名の所にマウスカーソルを乗せると、ウェブブラウザのステータスバーにリンク先が表示されますので、そこから読み取ります。

で、再構築。

うーん、便利だ。プラグインの作者さんありがとー。

それから、プラグインの設置とテンプレートの編集には、MT プラグイン MultiBlog:他のブログ記事の表示方法 [ItsMemo::IT] と言う記事を参考にさせてもらいました。ありがとうございます。

Home > Tags > MovableType

関連するタグ ( テスト中 )
タグクラウド

Return to page top