
数あるソーシャルブックマークサービスの中で僕はdel.icio.usにこだわり続けているのですが、その理由は単純で、実はLinksページに設置している「最近のブックマーク」を表示したいがため、というだけのことなんです。
ご覧になって頂くとわかるとおり、状態を「公開」にしてブックマークしたサイトがコメント付きで自動的にリストに反映される仕組みになってます。
このリストは以前のテンプレートではJavaScriptを使って表示してきたものなんですが、今回のテンプレートでも同様に表示するにあたって色々と調べていたら、偶然にも同じ動作をするプラグインを発見。MTのプラグインディレクトリで公開されている「DeliciousJSON プラグイン」を用いることで簡単に設置できました。ただし、そのままの状態ではなぜかエラーを吐いてしまってうまく動かなかったので、ちょいと手を加える必要がありましたけど。
一応、方法を書いておきます。
プラグインのダウンロード
これが無ければ始りません。まずはプラグインをダウンロードして、解凍して展開されたフォルダをMTのPluginsディレクトリにアップロードします。
本当はこれだけで動作するハズなのですが、なぜかうまくいかないため次の手順のとおり手を加えます。
JSONモジュールのダウンロード
JSONモジュールを更新するため、以下のページからJSON-2.12をダウンロードします。
解凍したJSON-2.12フォルダの中にあるlibフォルダを MT>plugins>DeliciousJSON の中にアップロードし、ディレクトリの名前をextlibに変更します。
phpファイルを作成
このあと、表示したい箇所にコードを書いて再構築すれば見事リストが作成されている予定だったのですが、なぜかページ内に直接埋め込むとリスト以外の箇所が全て文字化けしてしまったため、急遽phpのインクルードとして動かすことにしました。
MTのテンプレートからインデックステンプレートを作成、内容を次の通り記載してテンプレート名は任意、出力ファイル名をdelicious.phpとして再構築しました。
<MTDeliciousInfo count="5" user="your-acount"> <MTIfNonZero tag="MTDeliciousCount"> <MTDeliciousInfoHeader> <dl> </MTDeliciousInfoHeader> <dt><a href="<$MTDeliciousURL$>"><img src="<$MTDeliciousURL cut="1"$>favicon.ico" alt="" width="16" height="16" onerror="this.src='images/default.gif'" /><$MTDeliciousDescription$></a></dt> <dd><$MTDeliciousNotes$></dd> <MTDeliciousInfoFooter> </dl> </MTDeliciousInfoFooter> </MTIfNonZero> </MTDeliciousInfo>
後は表示させたい個所に次のとおりインクルードします。
<? include("<$MTBlogURL$>delicious.php"); ?>
これで文字化けの問題は回避できました。前にも同じようなことがあって、phpのインクルードで逃げたことをとっさに思い出しました。原因は不明ですが、結果的にこれでよさそうです。
後はスタイルシートでddとかdtのスタイルを整えれば完成です。基本的に、一度設定してしまえばあとはほったらかしでもちゃんと更新されていきますので楽ちんです。エントリーを書くのが面倒な日は、とりあえずブックマークをしておいてお茶を濁すというのが僕の最近の常套手段になりつつあります。
そんなわけで長文になりましたがこれが僕のdel.icio.usを使い続けるたった一つの理由でした。ではでは。