四天王メーカー

.bbpBox{background:url(http://a3.twimg.com/profile_background_images/124251507/curesunshine.jpg) #9BE5E9;padding:20px;}

PETAZINE「GIGAZINEがやられたか…」まで書いてめんどくさくなってやめた。Mon Aug 02 02:30:24 via web


だめだだめだ、そこであきらめちゃダメだ!もっともっとがんばれよ!

でも、こんなの毎回つくるのはめんどくさそうなので、四天王メーカーをつくってみました。

四天王メーカー


↑自由に編集できるから、オチをつけてつぶやこう!
この結果をtwitterでつぶやく

google.load(“jquery”, “1.3.2”);
/* 汎用関数 */
//JavascriptInterpolator. Originaly from: http://blog.livedoor.jp/dankogai/archives/50665223.html
function Interpolator(open, close){
this.quotemeta = function(str){
return str.replace(/[^0-9A-Za-z_]/g, function(m){
return ‘\\’ + m;
});
};
this.regexp = new RegExp(this.quotemeta(open) + ‘((?:\n|.)+?)’ + this.quotemeta(close), ‘img’);
this.interpolate = function(str,item){
return str.replace(this.regexp, function(m0, m1){
var result = ”;
try{
var text = ‘item.’+m1;
result = eval(text);
}catch(e){
result = ‘[‘ + m1 + ‘:’ + e + ‘]’;
}
return result;
});
};
this.fill = this.interpolate;
}
if (typeof window.console != ‘object’){
window.console = {log:function(){},
debug:function(){},
info:function(){},
warn:function(){},
error:function(){}};
}

var Templater = function(template,output){
this.template = template;
this.output = output;
this.itp = new Interpolator(‘[‘, ‘]’);
};
Templater.prototype.update = function(value){
var str = this.itp.fill(this.template,value);
this.output.val(str);
};

var templater = null;
$(‘.value_input’).change(function(){
console.log(‘on_inputchange’);
var data = [];
data.hero = $(‘#hero’).val();
data.shitenno1 = $(‘#shitenno1’).val();
data.shitenno2 = $(‘#shitenno2’).val();
data.shitenno3 = $(‘#shitenno3’).val();
data.shitenno4 = $(‘#shitenno4’).val();
templater.update(data);
$(‘#output’).change();
});
$(‘#output’).change(function(){
console.log(‘on_outputchange’);
var link = ‘http://twitter.com/home?status=[status] [link]’;
var str = $(this).val();
link = link.replace(‘[status]’, encodeURIComponent(str.replace(/\t/g,”).replace(/\n/g,’ ‘)) );
link = link.replace(‘[link]’, encodeURIComponent(‘http://bit.ly/shitenno’) );
$(‘#tweet_link’).attr(‘href’,link);
});
$(document).ready(function(){
templater = new Templater( $(‘#template’).val().replace(/\t/g,”) , $(‘#output’) );
$(‘#output’).change();
});

2010-08-14 手で編集してオチをつけたのにtwitterのつぶやきに出てこないバグを修正しました。あと、せめて多少でも面白いようにオチをつけておきました。