2004年08月05日 (木)

エントリへのリンク付き最近の HaloScan コメント

FeedRoll など RSS を JavaScript に加工するサービスを利用して HaloScan によるコメントをページに埋め込む方法がありますが、コメントが付いたエントリを直接辿れないという欠点がありました。これを解消する JavaScript を作成したのでリリースします。

既にアイデアは前のエントリ「EntryUUID からエントリページを表示する」のときからあったのですが、熱い期待と意欲があったので作成しました。背中を押してくださった皆さんに感謝します。

特徴

メリットとしては次があります。
  • 複数のブログのコメントを一つの HaloScan ID で賄っていてもそれぞれのブログ毎に絞ったコメントリストが作成できる。
  • エントリを他のカテゴリやブログに移動しても追随できる。
  • 表示時の最新状態を常に反映できる。
デメリットとしては次があります。
  • 最近のコメントしか対応していない。
    これは HaloScan が出力するコメントの RSS が最近のコメントしか出力しないからです。昔のコメントからエントリを開くのには「EntryUUID からエントリページを表示する」を見てください。
  • RSS を HTML ページに表示するサービスが必須。
といったところです。

準備

次を準備して下さい。
iBlog 1.3.8 以上
iBlog 1.3.8 以降の機能を利用しています。それより古い iBlog ではできません。
RSS を HTML ページに表示するサービス

FeedRoll は現在一般の RSS の受け付けを停止しているので、新たに利用する場合は他のサービスを探す必要があります。
http://kamicup.at.infoseek.co.jp/how2insertrss.html
ここに色々紹介されているので適当なものを見繕って利用して下さい。要件としては a タグでコメントへのリンクを提供するということだけです。

CommentList.js
この JavaScript ファイルをダウンロードして、自分のサイトの適当なところにアップしてください。
コメントリストを囲むタグの ID 属性の値
コメントリストを表示する場所を例えば
<div id="CommentList"> </div>
で囲む必要があります。この CommentList に相当する部分を決めておいてください。この例では div タグを用いていますが必ずしも div タグである必要はありません。ブロック要素を作るタグであれば何でも構いません。よくわからなければ div にしておいてください。

埋め込むコード

エントリへのリンク付き最近の HaloScan コメントのリストを埋め込むためのコードは次のようになります。
<div id="{ID}">
	{サービスオリジナルの埋め込みコード}
</div>
<script type="text/javascript" src="{CommentList.jsのURL}" charset="Shift_JIS"></script>
<script type="text/javascript">
	ReplaceCommentLinks('{ID}', '{ブログのベースURL}');
</script>
例としてこのブログの場合を紹介します。
<div id="RecentComments">
	<script type="text/javascript" src="http://bbws.main.jp/RSS/jsRSS.cgi?url=http%3A%2F%2Fwww.haloscan.com%2Fmembers%2Frss.php%3Fuser%3Dyujiokamura&amp;enc=utf%2D8&amp;line=10&amp;ts=on" charset="EUC-JP"></script>
</div>
<script type="text/javascript" src="http://homepage.mac.com/yuji_okamura/iblog/CommentList.js" charset="Shift_JIS"></script>
<script type="text/javascript">
	ReplaceCommentLinks('RecentComments', 'http://homepage.mac.com/yuji_okamura/iblog/DotMac/Tips');
</script>

環境依存部分の説明

上の埋め込みコードの中で {...} の部分はあなたの環境によって変わる部分です。それぞれについて説明します。
{ID}
セクション「準備」で用意してもらった div タグなどに付ける ID 属性値です。
{サービスオリジナルの埋め込みコード}
セクション「準備」で用意してもらった RSS を HTML ページに表示するサービスで指示されたコードです。
{CommentList.jsのURL}
セクション「準備」でアップロードした CommentList.js の URL です。
{ブログのベースURL}
あなたのブログのベース URL です。トップページの URL から /index.html を取り去った文字列になります。

その他の手法

會澤さん が HaloScan のコメントページに埋め込む手法を開発中です。一つの HaloScan ID に一つのブログのコメントだけを受け持たせている方はこちらのほうが便利になると思います。

Posted: 07:53    | Comment | Trackback


以下、類似エントリです。