Tag Archives: hatena

OmniAuthをはてなのOAuthに対応させてみた

はてながOAuthに対応したのでOmniAuthを対応させてみた:a2ikm / omniauth

基本はtwitter用のストラテジをコピーしてはてな用にAPIのURL等を書き換えた程度。唯一面倒くさかったのは権限の範囲を指定するscopeオプションの指定方法。これはTripItのものを参考にした。ただハードコーディング気味なのでこれを開発者側で適当に指定する方法があればpull requestを出してみようかと(だれかがやってたらありがたく使わせてもらいたい)。

でもFacebookのものもハードコーディングだったしなぁ。

などなど。


はてなスターを設置

はてなスターを設置した。以前にも設置していたけど、Wordpressのテーマを切り替えたりで無くなっていた(ここらへんの運用はかなりテキトーなのでちょっと申し訳ない)。

基本的にははてなスターをブログに設置するにはを読めば良いんだけど、設置する際にちょっと手間取ったのでメモ。

WordPress対応と書いてあるけどそれは多分Wordpress.comの話で、自由にテーマを切り替えられる野良Wordpressでは「はてなスター非対応のページでスターを設置するには、」以下を参考にentryNodesを設定する必要がある。

entryNodesで何を設定するのかというと、ページを読み込んだときのHTMLのどこにそのエントリのURL(uri)、タイトル(title)、スターを配置する要素(container)の3つをCSSのセレクタで指定してやる。

WordPressのテーマはコードの整形が残念だったりすることがままあるので、そこはGoogle ChromeやSafari、Firefox(+Firebug)でInspect ElementしてDOMツリーを見た方が断然楽。

例えば次のようなツリー構造があったとする:

<div class="section">
  <h3 class="section_title">
    <a href="http://example.com/blog/20101205" class="permalink">エントリのタイトル</a>
  </h3>
  <div class="section_body">
    <p>本文</p>
  </div>
</div>

この場合、ヘッダ(header.php内のhead要素内)には次のような記述をする:

<script type="text/javascript" src="http://s.hatena.ne.jp/js/HatenaStar.js"></script>
<script type="text/javascript">
Hatena.Star.Token = "(ブログを登録したときに与えられるToken)";
Hatena.Star.SiteConfig = {
  entryNodes: {
    'div.section': {
      uri: 'h3 a.permalink',
      title: 'h3',
      container: 'h3'
    }
  }
};
</script>

これははてなのサンプルのuriの部分を'h3 a'から'h3 a.permalink'に変更したもの。はてなブックマークのブックマーク数とか表示している場合にh3内に複数のa要素が出来て微妙じゃないか?もうちょっとclassを指定したほうが安全なんじゃ?と思ったので。

ただこの辺の調整はテーマによりけりなので、DOMツリーとCSSセレクタとを見比べながらやるしかない。


2ch Star v0.2

2ch Starは、2ちゃんねるのレスにはてなスターを付けるためのGreasemonkeyスクリプトです。version 0.2を書きましたので公開してみます:2ch Star v0.2

version 0.1とは以下の点が異なります。

  • 通常の(専用ブラウザを介さない素の)2ちゃんねるに加えて、p2.2ch.netに対応しています。
  • URLにはPermalink for 2ちゃんねるを使わせてもらっています。
  • (bug fix) ページのタイトルが正しく取得できていない点を修正しました。

インストールする際は上記リンクからjsファイルをダウンロードし、’2chStar.user.js’という風にリネームしてからGreasemonkeyをインストール済みのFirefoxにD&Dしてください。

注意点としては、

  • 2ちゃんねる側のページからスターを削除できない(はてなのStartからは削除できる)

等があります(原因はよくわかりません。posが未定義ってなんだ?)。自己責任で使用してください。

追記

GitHubにも置いておきます。


2ちゃんねるではてなスター

Greasemonkeyで書いてみた:2ch Star

いくつか制限がある:

  • 削除ができない(なんかエラーが出る)
  • 現行スレしかできない(dat落ちした・HTML化された場合にURIが定まらない)

使用については自己責任で。

Twitter Starを参考にさせてもらいました。

version 0.2を公開しています。


はてなスターを導入してみた

はてなブックマークより使い方的に簡単で、気持ち的にも気軽にできるので、「WordPressに「はてなスター」を設置してみた」@massat.jpを参考に導入してみた。

自分だけなのかもしれないけど、はてなブックマークって登録する手順が面倒じゃないですか?もしかしたらGreasemonkeyあたりで使いやすくできるのかもしれないけど、素のままでコメントはほとんどせずにタグ付けして管理してる自分にはいくつかの点で煩わしく感じる。

例えば、 1. あの大量のタグ一覧から目的のタグを選び出すこととか、 2. それをクリックする際にコメント入力欄がスクロールされて隠れている場合に、勝手に入力欄を表示しようとスクロールしたり、 3. 登録画面が外部ウィンドウだったりもしくはページを遷移したりして全然シームレスじゃなかったり、 4. そもそも重かったり。

ひとまず4.は置いておいて。

1.に関しては「人物名は先頭に!を付ける」や「評価(これはすごい、など)は先頭に*を付ける」などとしてキーボードからそれらを入力した際に候補が表示されると同時に、一覧中で一カ所に固まって表示されるようにしているけど。 あと、iTunesでのアーティスト一覧表示を見る際なんかにもよく思うけど、漢字で登録しちゃうと頭の中での読み仮名ソートと文字コード(?)ソートとが一致しないので、ユーザビリティ的に低い。やっぱ英単語で登録するのがキーボードでも単純に入力できるし、読みの順に並ぶしで適当なのかなぁ。

2.については、タグを上から探して順次登録しているので、下の方まで読んだときに上にスクロールされると、あからさまに妨げられてると感じる。ブラウザの仕様なのかもしれないけど、もしそうではなくて入力欄に登録されたことをフィードバックしたいという意図であれをはてなが実装しているのであれば、クリックしたタグの背景色が灰色になるだけで十分じゃないのかなぁ。

3.はわがままなだけかもしれないけども。自分の理想的には、ブラウザのブックマーク機能並みにシームレスに動作してもらいたい。別にはてなブックマークじゃなくてもいいんだけど、GreasemonkeyやFirefoxの拡張を利用してそういう風にできないかなぁ。

というわけで、機能的にはタグやコメントがなくて貧弱ではあるけども、3.においてとても優れているはてなスターが好きです。

…コメントを付けない時点で、設計思想に反しているのかな?