Twitter のプロフィールページにおいて自己紹介欄のユーザー名の部分にリンクを貼る Greasemonkey スクリプト

機能

Twitterの自己紹介欄(プロフィールページの右側)でよく「@hogehogeもよろしくお願いします」というふうに、自分のサブ垢やBOTを紹介しているのを見かけるが、この@以下の「hogehoge」の部分に、タイムラインの表示と同じようにリンクを貼るスクリプト。これで一手間省けるかなあと。
※ただし「@」がないと反応しません

追加予定

ハッシュタグにも同じようにリンクを貼る。(2009.9.23 追記: 実装しました)

ソース

// @name           Twitter Username Link
// @namespace      http://d.hatena.ne.jp/Azr_pp/
// @include        http://twitter.com/*
// ==/UserScript==

(function () {
  var profile = document.getElementById('bio').childNodes;
  var sentence = profile[2].textContent;
  var username = sentence.match(/@\w*/g);

  var newSpan = profile[2].cloneNode(true);
  newSpan.textContent = "";

  var start = 0;
  var end = 0;
  for (var i = 0, l = username.length; i < l; i++) {
    var username2 = username[i].slice(1, username[i].length);
    var url = 'http://twitter.com/' + username2;
    var link = document.createElement('a');
    link.setAttribute('href', url);
    link.appendChild(document.createTextNode(username2));

    end = sentence.indexOf(username[i], start) + 1;
 
    newSpan.appendChild(document.createTextNode(sentence.slice(start, end)));
    newSpan.appendChild(link);

    start = end + username[i].length - 1;
  }
  newSpan.appendChild(document.createTextNode(sentence.slice(start)));

  profile[2].parentNode.replaceChild(newSpan, profile[2]);
})();