読者です 読者をやめる 読者になる 読者になる

太陽がまぶしかったから

C'etait a cause du soleil.

はてなブログにトラックバック機能を拡張するブログパーツ

プログラミング プログラミング-はてなブログカスタマイズ

このスクリプトは利用不可となりました

トラックバックの復活

 はてなブログの醍醐味のひとつとして、ブログ同士の言及があります。誰かが問題提起をした記事について別の人が掘り下げたり、自分自身のケースを考えたり、唐突に手斧を投げたりしていくうちに議論が深まっていく感じ。他のブログからの言及を受けるとダッシュボードに通知が来たり、アクセス解析の画面には表示されるのですが、その記事を読んだ人に「こういう言及があった」と直接的に知らせる事ができません。

 このため、言及された側の記事に言及した記事の一覧を自動表示させると捗ります。これは、 はてなダイアリーにも「トラックバック」として実装されていた機能なのですが、はてなブログになってからは id:jkondo 氏の意向で削除されてしまったため、勝手に復活させるスクリプトを作りました。約1年前の出来事です。

バージョンアップ内容

 閑話休題。今回作ったのは、その時のプログラムのバージョンアップ版となります。主な変更点は以下の通りです。

  • はてなブログカード表示形式
  • 「この記事に言及する」機能の付与*1
  • 言及記事がない場合はその旨を表示
  • 関数化を行いグローバル変数を極力利用しない
  • ブログURLの変数変更などの個別カスタマイズを前提としない
  • 外部ライブラリ化により設置作業を簡略化
  • 高速化・安定化(多分)

スクリプト設置

f:id:bulldra:20140814125828p:plain

 デザイン画面における「記事下」の部分に設置します。

<span id="trackback_entry" class="hatena-module-foot"></span>

<script src="https://www.google.com/jsapi"></script>
<script src="http://bulldra.github.io/commons.js" charset="utf-8"></script>
<script src="http://bulldra.github.io/trackback.js" charset="utf-8"></script>

 『http://github.io』を利用しての外部ライブラリ化を行ったので設置作業の簡略化とサーバーサイドでのバージョン一元管理が行われるようになりました。『当ブログで配布していた「あわせて読みたいウィジット」がSEOスパムになっている可能性があるため差し替えをお願いします - 太陽がまぶしかったから』の問題も、外部ライブラリ化がされていれば簡単に対応できたのですが、当時はそこまで気が回りませんでした。既存のスクリプトについても外部ライブラリ化を行っていきます*2

 個別カスタマイズを行う場合には『bulldra.github.io/trackback.js at master · bulldra/bulldra.github.io · GitHub』から取得してカスタマイズしたものを設置して下さい。

スマートフォン表示対応

f:id:bulldra:20140814125843p:plain

 スマートフォン表示でも使う場合には「スマートフォンタブ」で「PCと同じHTMLを表示する」を選択するか、スマートフォン用の「記事下」にも設置します。

制限事項

 本スクリプトには以下の制限事項があります。また仮にSEOへの悪影響や誤動作などの問題があった場合については自己責任の原則でお願いします。

  • はてなブックマークの機能を利用するため、ブックマークがない記事への言及は表示されない
  • はてなブログ、はてなダイアリーからの言及のみ表示
  • はてなダイアリーのブログカードは綺麗じゃない
  • 言及した記事が削除されてもはてなブックマーク側が保持していると空白表示になる
  • 表示に反映されるまで数時間のタイムラグがある
  • はてな側の仕様変更に弱い

 スクリプトに関する個別の設置サポートやカスタマイズ等のご依頼については、原則『課金アイテム』をご利用頂いておりますが、bulldra@gmail.com までご相談下さい。

まとめ

 はてなブログの言及文化は、むしろ強まっているように感じているのですが、未だにトラックバック機能を実装してくれないのでDIYしました。公式対応してもらえるのが一番なのですが「無い物は無理やり作る」の精神を無駄に発揮。このブログについても、なにか言及したいことがありましたら、記事下の「>>言及する」をポチッとして言及してもらえると喜びます。なお、設置サポートや表示スタイル/アルゴリズムのカスタマイズ等のご依頼がありましたらサポートライセンスの購入をお願いいたします。

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

関連記事

*1:hitode909の日記』からのインスパイア

*2:下位互換の問題は悩ましい