2010/02/15

Tombloo から Pinbord.in に投稿する

最初に Pinbord.in に登録しようとした時はちょうど TechCrunch だったかな?紹介されてユーザが増えたおかげで登録に $3 くらい支払いが発生するようになった時でした。 ちょっと待ってれば落ち着いてフリーになるかなと思ってアカウントだけ押さえて支払いはしないでいたんだけれど、とうとう数日前に PayPal で支払ってアクティベーションしました。 $6 だし iPhone アプリ買ったと思えば別になんとも思いませんが、倍支払ったと考えるとちょっと萎える。

Pinbord はとてもよく出来てるし、なにより速い。いいサービスなんだけれど、日本の人で使ってる人そんなにいないみたいだし Tombloo + Pinboard で検索してみても無いみたいだったからコピペして自分で用意してみた。

if(typeof(models)=='undefined')
this.models = models = new Repository();
var Pinboard = {
name : 'Pinboard',
ICON : 'http://pinboard.in/favicon.ico',
getCurrentUser : function() {
if(decodeURIComponent(getCookieString('pinboard.in', 'login')).match(/login=(.*?) /))
return RegExp.$1;
throw new Error(getMessage('error.notLoggedin'));
},
check : function(ps) {
return (/(photo|quote|link|video)/).test(ps.type) && !ps.file;
},
post : function(ps) {
return request('http://pinboard.in/add', {
queryString : {
url : ps.itemUrl,
title : ps.item,
description : null,
},
}).addCallback(function(res){
var doc = convertToHTMLDocument(res.responseText);
var elmForm = doc.getElementsByTagName('form')[0];
if (!elmForm)
throw new Error(getMessage('error.notLoggedin'));
return request('http://pinboard.in/add', {
redirectionLimit : 0,
sendContent : update(formContents(elmForm), {
title : ps.item,
description : joinText([ps.body, ps.description], ' ', true),
tags : joinText(ps.tags, ' '),
}),
});
});
},
};
models.register(Pinboard);
view raw 21_Pinboard.js hosted with ❤ by GitHub

もうぜんぜんよくわかんないんだけど、Ack で適当に検索してちょこちょこいじったら問題なく動いたからとりあえずこれでいいけど、せっかくだし toread をフォームに出すところまではやりたいな。