CPEntriesプラグイン

ダウンロード

インストール

/MTホーム/plugins 以下に cpentries0.9.3.txt を cpentries0.9.3.pl に名前を変更してコピーします。

用法

  • MTCPEntriesコンテナタグ
    • days属性
      • 日数の指定。指定した日数以内以降にコメント・トラックバックされたエントリを表示する。
    • lastn属性
      • 最新件数の指定。指定した個数最新のエントリを表示する。
    • offset属性(lastn属性かdays属性と一緒に指定する)
      • オフセットの指定。指定した位置からエントリを表示する。
    • sort_order属性
      • 表示順の指定。ascend か descend を指定する。
  • MTCPEntryコンテナタグ(MTCPEntriesコンテナの中で使用)
    • 属性は無し。

使用例

<mtcpentries lastn="5" sort_order="descend">
<mtcpentry>
<div class="side">
<b>
<a href="<$MTEntryPermalink$>">
< $MTEntryTitle$>
</a>
</b><br />
<div class="sidechild">
<mtsimplecomments lastn="4">
<mtsimplecommentifcomment>
(C)
<a href="<$MTEntryPermalink$>#C< $MTCommentID$>">
< $MTCommentDateformat="%m/%d"$>
by < $MTCommentAuthor$>
</a><br />
</mtsimplecommentifcomment>
<mtsimplecommentiftrackback>
(T)
<a href="<$MTEntryPermalink$>#T< $MTPingID$>">
< $MTPingDate format="%m/%d"$>
by < $MTPingBlogName$>
</a><br />
</mtsimplecommentiftrackback>
</mtsimplecomments>
</div>
</div>
</mtcpentry>
</mtcpentries>

Read More

サイドバーのリンク表示。

</pre>

// movabletype_templateの内容

<rnaitems lastn="5">
 < $RNAItemDate format="%m/%d"$>
 <a href="http://<$RNAItemLink$>"
    title="< $RNAItemTitle$>n(更新日時:< $RNAItemDate format="%Y/%m/%d %H:%M"$>)">
  < $RNAItemCreator$></a><br />
</rnaitems>
<br />
<b>Powered by <a href="http://www.semblog.org">Semblog/RNA</a> <a href="http:///yu-ji/rna">@</a></b>

MovableTypeのサイドバーに表示を行うために、MovableTypeのテンプレートの編集を行います。rna.cgi の ‘encoding’ はご自分の環境に合わせて設定してください。また、’template’ の指定を上記で設定したテンプレートファイルの名前にあわせます。ここでは ‘movabletype_template’ とします。

<div class="sidetitle">
 リンク
</div>
<div class="side">
 <script type="text/javascript"
         src="http://factage.com/yu-ji/rna/rna.cgi/javascript
         ?encoding=EUC-JP
         &target=RecentSiteList
         &template=http://factage.com/yu-ji/rna/template/movabletype_template"></script>
 <br /><br />
</div>

以上でMovableTypeのサイドバーに表示されるはずです。

アンテナの自動更新

ここまででサイドバーには表示はできますが、自動では更新は行われません。リンクへ登録したblogクリエータが RNA へ更新通知を行うことで更新はされます。ここでは自力で自動更新を行うための設定を行います。

自動更新を行う方法は2つあるかと思います。

  • cronによる自動更新
  • PHPによる更新(!)
    • (ブラウザからの要求をうけると毎回 RNA のアンテナ情報XMLの日付をチェックしてある一定の時間が経過していたらバックグラウンドで更新させるというもの)

1,cronによる自動更新

とりあえず cron による自動更新を行いましょう。うちのサーバは全部Webから設定できてしまうので、cron を使用するためのファイルやコマンドは割愛します。というか忘れてしまいました。。

まず、RNA の rna.cgi を実行するためのシェルスクリプトを準備します。わりに適当です。ここでは ‘rna-reload.sh’ というファイルにします。パーミッションは ‘755’ とします。

#!/bin/sh
cd ..../yu-ji/rna
./rna.cgi

つぎに cron に上記シェルスクリプトを実行するように設定します。

0 */6 * * * ..../rna-reload.sh > /dev/null

基本的には RNA を展開したディレクトリの下の ‘rna.cgi’ を実行するだけで自動更新は行われます。ここでは’6時間毎に‘実行するよう設定しています。随時書き換えてください。

2,PHPによる自動更新

PHPによる更新は実際設定は行っていませんが、論理的には可能だと思います。前提はPHPが使えるサーバであることと、MovableTypeの各ページの拡張子を php として出力していることです。

スクリプトは以下のようになると思います。実行していないので自身はないです。。。

< ?
$nowtime = time();
$recenttime = filemtime("..../yu-ji/rna/rss/recent_site.rdf");
$expire = 60 * 60 * 6; // 6時間に期限を設定

// 期限が切れているかチェック
if($nowtime - $recenttime > $expire){
  // http呼び出しを行う。
  file("http://factage.com/yu-ji/rna/rna.cgi");
}
?>

上記のスクリプトをサイドバーのPHP等に埋め込むことにより自動更新が行われるかと思います。更新自体はたぶんバックグラウンドで行われるのでサイトを見て回る待ち時間は発生しないかと思います。

とりあえずメモ程度に書きました。かなり適当な事書いてますので問題があればコメントください。お待ちしてます。

Read More

Copyright © yu-ji All Rights Reserved.