Instrumentality

ささいな日常の記録

人力検索のプロフィールページをあれこれする Greasemonkey スクリプト

[2009年11月30日追記]
バージョンアップして、名前も少し変えました。
Hatena Question better profile ver 0.2
インストールも userscripts.org からできます。
ご参照下さい。
[追記終わり]


プロトタイプですのでお気をつけ下さい。


1. その人のはてダへのリンクを追加できます。


2. 支払い率と受け取り率を色分けできます。

http://www.bulkitem.com/archives/28 を参考にしました。ありがとうございます。


こんな機能イラネ、という場合は、
var addlink = true;
var colorize = true;
の true を false にしてください。


改善点、人柱ともに募集中です。

// ==UserScript==
// @name          Hatena Question better profile page
// @include       http://q.hatena.ne.jp/*
// @exclude       http://q.hatena.ne.jp/list*
// @namespace     http://d.hatena.ne.jp/meefla/
// @description   Improve Hatena Question profile page
// @version       0.1
// ==/UserScript==

(function() {
  // prefs
  var addlink = true; 
  var colorize = true;
	
  var currentUrl = window.location.href;
  var UrlNum = currentUrl.length;
  var userName = currentUrl.substring(22, UrlNum);
  var unLen = userName.length;
  var firstLetter = userName.charAt(0);
  var lastLetter = userName.charAt(unLen-1);
  
  if (firstLetter == "1" || lastLetter != "/") {
    // page is not profile page; todo - use RegExp
    return; 
  }
  else {
    if (addlink) {
      var userName = userName.replace("/", "")
      var diaryLink = document.createElement('div');
      var diaryAnchor = '<a href="http://d.hatena.ne.jp/' + userName + '/"> '
      diaryLink.innerHTML = diaryAnchor + userName  + 'さんのはてなダイアリー</a>' ;
      diaryLink = diaryLink.firstChild;
      var header = document.getElementsByTagName('h1'); 
      header[0].appendChild(diaryLink);
    }
	
    if (colorize) {
      var table = document.getElementById('usertable');
      var td = table.getElementsByTagName('td');
      var pay_rate = parseInt(td[3].textContent);
      var accept_rate = parseInt(td[7].textContent);
      if (pay_rate != NaN) {
        if (pay_rate < 80) { 
          td[3].style.backgroundColor = '#FFC0CB'; 
        }
        if (pay_rate >= 80 && pay_rate < 90) { 
          td[3].style.backgroundColor = '#FFF68F'; 
        }
        if (pay_rate >= 90) { 
          td[3].style.backgroundColor = '#C1FFC1'; 
        }
      }
      if (accept_rate != NaN) {
        if (accept_rate < 80) { 
          td[7].style.backgroundColor = '#FFC0CB'; 
        }
        if (accept_rate >= 80 && accept_rate < 90) { 
          td[7].style.backgroundColor = '#FFF68F'; 
        }
        if (accept_rate >= 90) { 
          td[7].style.backgroundColor = '#C1FFC1'; 
        }
      }
    }
  }
})();


[2009年10月12日追記]
スクリプトの中で「さんのはてなダイアリー」と日本語を使っていますので、ここからコピペする時は文字コードに注意が必要です。
はてダは charset=euc-jp なので、Greasemonkey にインストールする前に UTF-8 にしないと実行時に文字化けします。
手順としては、

  1. Firefox でこのページを開いておく。
  2. 文字コードUTF-8 に変更できるエディタ(秀丸など)を開く。
  3. スクリプトをエディタにコピー。
  4. 文字コードUTF-8 にして保存(ファイル名は何でも可)。
  5. 保存したテキストファイルを Firefox のブラウザ画面にドラッグアンドドロップ

これでインストールできる筈です。
[追記終わり]