ミニレッキスと白黒ハチワレ猫

ぶるるんANDY Part2

Twitterのblogger.jsをカスタマイズ


ANDY to HALU

1.リプライツイートのとき、@もリンクに含める
  --- こーすると、アカウントだけ文字装飾を変更してもおかしくない

2.投稿時間の日本語表記
  --- なんとなくやってみたくてやってみた

3.リプライ相手の名前・ツイート内のURLクリックで別窓を開く
  --- 同じに開くと何かと不便よね?

4.投稿時間のリンク削除
  --- 何のために存在してるのかわからない

以下、覚書。 元ファイル:http://twitter.com/javascripts/blogger.js

java script

function twitterCallback2(twitters) {
  var statusHTML = [];
  for (var i=0; i]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return ''+url+'';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+''+reply.substring(1)+'';
    });
    statusHTML.push('
  • '+status+' '+relative_time(twitters[i].created_at)+'
  • '); } document.getElementById('twitter_update_list').innerHTML = statusHTML.join(''); } function relative_time(time_value) { var values = time_value.split(" "); time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; var parsed_date = Date.parse(time_value); var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); delta = delta + (relative_to.getTimezoneOffset() * 60); if (delta < 60) { return 'less than a minute ago'; } else if(delta < 120) { return 'about a minute ago'; } else if(delta < (60*60)) { return (parseInt(delta / 60)).toString() + ' minutes ago'; } else if(delta < (120*60)) { return 'about an hour ago'; } else if(delta < (24*60*60)) { return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago'; } else if(delta < (48*60*60)) { return '1 day ago'; } else { return (parseInt(delta / 86400)).toString() + ' days ago'; } }

    コレを↓↓のように変えてみました。

    java script

    function twitterCallback2(twitters) {
      var statusHTML = [];
      for (var i=0; i]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
          return 'target="_blank" class="twt_url">'+url+'';
        }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
          return  'target="_blank" class="twt_name"'+reply.charAt(0)+reply.substring(1)+'';
        });
        statusHTML.push('
  • '+status+'
  • '+'
  • '+relative_time(twitters[i].created_at)+'
  • '); } document.getElementById('twitter_update_list').innerHTML = statusHTML.join(''); } function relative_time(time_value) { var values = time_value.split(" "); time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; var parsed_date = Date.parse(time_value); var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); delta = delta + (relative_to.getTimezoneOffset() * 60); if (delta < 60) { return 'たった今'; } else if(delta < 120) { return '1分前ぐらい'; } else if(delta < (60*60)) { return (parseInt(delta / 60)).toString() + '分前かな'; } else if(delta < (120*60)) { return 'だいたい1時間前'; } else if(delta < (24*60*60)) { return 'たぶん' + (parseInt(delta / 3600)).toString() + '時間前'; } else if(delta < (48*60*60)) { return '1日前だよ'; } else { return (parseInt(delta / 86400)).toString() + '日前でしょ'; } }

    spanタグを無くしてliタグに変更。aタグやliタグにクラス指定をして、更にaタグにはtarget="_blank"を指定。W3Cでは非推奨ですが、そんなの構わずw こうやってそれぞれにクラス指定をしておけば、cssで細かく設定できます。
    問題の「@」は、「.charAt(0)」と記述されてました。Atという文字で、なんとかなったヽ(*・ω・)ノ

    あとは表示したい場所に

    html

    • Now Loading

    と記述すればd(ゝc_,・。)OK♪

    • にほんブログ村ミニレッキス
    • にほんブログ村 猫 mixハチワレ
    • fc2うさぎ
    • 人気ブログランキング
    • twitter
    • facebook