もごもごブックマークレット第二弾

ちょっとブックマークレットがマイブームになってる。全然関係ない研究室なのにね。(DB,XML研究室)

んで第二弾。


今回は、はまちちゃんブログの発想をいただきました。


2007/5/18追記printf(" Hell %d World \n", 0)に使いやすいようにブックマークレットしておいてあります。

function(){
 var msg = 'もご';
 var res=msg.length;
 var x=res-1;
 document.body.innerHTML=document.body.innerHTML.replace(
  /[あ-んア-ンア-ン]/g,
  function(){
   x++;
   if(x>=res){
    x=0;
    return msg.charAt(0);
   }else{
    return msg.charAt(x);
   }
  }
 );
}


ブックマークレット用圧縮コード(要らないけど)

javascript:(function(){var msg='もご';var res=msg.length;var x=res-1;document.body.innerHTML=document.body.innerHTML.replace(/[あ-んア-ンア-ン]/g,function(){x++;if(x>=res){x=0;return msg.charAt(0);}else{return msg.charAt(x);}});})()


使い方は同じ。
モゴモゴのページで、上のナガーイ呪文(どっちでも大丈夫だと思う)みたいなのをアドレスバーに貼り付け「実行」!!

すると・・・・

var msg='もご'

の文字列を他のモノに変えても使える。

例えば

var msg='もぐもご'

とすると、食べるか食うかどっちかにしろ!!と言う感じになります。



しっかしかっこ悪いコードだなぁ。


あ、ちなみにブックマークレットなのでブックマークできます。もごもごに限らずドコでも使えます。

いや・・・要らないか?

もごもごRSS作成スクリプト

うん。タイトルで全部言った。

とは言うものの、実は最新のコメントしか手に入れられない。
もう少し頑張れば

  • みんなのひろばのRSS
  • 自分のコメント最新数件のRSS

ぐらいはできるかも。
自分は要らないから作らないけど。


せっかく作ったのでrubyが動くサーバーから、RSSとってきて、
←のサイドバーの、「極近況報告(by もごもご)」に追加。


コードはこんな感じ。

#!/usr/bin/ruby -Ku

require 'open-uri'

userNum = '99' #ユーザー番号(僕の場合は99)

res = String.new
open('http://mogo2.jp/member/show/'+userNum){ | f |
	res = f.read
}

recent = res.match(%r!<div class="mog_recentcomment">((.|\n)+?)<\/div>!)
recent = recent.to_a[1].gsub(%r!<a href="(.+?)">!, "<a href=\"http://mogo2.jp\\1\">")
recent = recent.match(%r!<h2><b>((.|\n)+?)</b></h2>!).to_a[1]

rss = '<?xml version="1.0" encoding="UTF-8"?>'+"\n"
rss += '<rss version="2.0">'
rss += ' <channel>'
rss += res.match(%r!<title>((.|\n)+?)</title>!).to_a[0]
rss += '  <link>http://mogo2.jp/member/show/'+userNum+'</link>'
rss += '  <description>' + $1 + '</description>'
rss += '  <langage>ja</langage>'
rss += '  <item>'
rss += '   <title>' + recent + '</title>'
rss += '   <descrption>' + recent + '</description>'
rss += '  </item>'
rss += ' </channel>'
rss += '</rss>'

print "Content-type: text/html\n\n"
print rss

ご自由に使用ください。
ただし、

userNum = '99' 

のところ書き換えてくださいね。


僕の環境にrss/makerモジュールが無いために、このようなコードに。
ブックマークレット作りすぎると何でも一行で収めようとしてしまう癖が付く。何度書き直したことか。
癖といえば、実行速度ケチって「''」で文字列作る癖直さないと、上のrss代入一発目のように「+"\n"」なんてモノを付ける羽目になるんだ。


はてなでこういったコードを表示するのが好き。
シンタックスハイライトって綺麗じゃないですか?

レッドチェダーチーズでリゾット

は、イマイチだった。

レッドチェダーの酸味が目立ってしまって好みではなかった。
しかも、少し置くとスープの表面に膜ができて、不気味なことに・・・


もう次はレッドチェダーとは、やらない。

次はエダムで行ってみるか?ちょっと高いよなぁ。