at posts/single.html

ソーシャルボタンプラグインをBlogKit対応に

たださんにカッコイイと言ってもらえたのが嬉しくて、JavaScript版のソーシャルボタンプラグインを tDiary の BlogKit でも動くように改造した。

通常の日記とBlogKitの違い

tDiary Blogkitは、tDiaryをweblogのように日単位でなく記事単位で管理するシステムに改造するキットです。Blogkitを全面的に適用したtDiaryは、 日記システムとしてのtDiaryに対して、以下のような違いを持ちます。

  • 日付が意味を持たなくなる(記事番号扱いになる)
  • 記事に「最終更新時刻(Last-Modified)」が付くようになる
  • リスト表示時には、記事の最初のセクションだけが表示される(似非サマリ)
  • 「更新」を選ぶと、自動的に空いている記事番号を割り当ててくれる
  • Recent EntoriesやWhat's Newで更新情報が公開される
  • なにやら英語っぽい表記になる(?)

ソーシャルボタンプラグインの対応方針は以下のとおり。

  • div.sectionの代わりにdiv.dayでループを回す
  • タイトル、URLをh3ではなくh2から取得する

両対応するには通常の日記とBlogKitのどちらで動いているかを検出しないといけない。 category_to_tagプラグインのソースを読むとcategorized_title_of_dayメソッドの有無で判定していたので、そのまま流用してPlugin::blogkit?メソッドを追加。 JavaScript側に渡すために$tDiary.styleを使うようにしてみた。

この辺の処理はcore側にあると助かるけど、続きは GitHubのissues で。

関連する日記