hatenadiary
time up.
models.register( { name: 'HatenaDiary', ICON: 'http://d.hatena.ne.jp/favicon.ico', POST_URL : 'http://d.hatena.ne.jp', check : function (ps) { return ps.type.match(/^(regular|photo|link|quote)$/); }, formatTagString: function (tags) { log("m"); return tags ? tags.map( function (t) { return "[" + t + "]"; } ) : "" ; }, converters: { 'regular': { regular: function (ps) { return ps; }, photo: function (ps) { }, link: function (ps) { }, quote: function (ps) { return { title: this.formatTagString(ps.tags) + ps.page, body: <><blockquote class="tombloo_quote" cite={ps.pageUrl} title={ps.page}>{ps.body}</blockquote>{ps.description}</>.toString() }; }, } }, post : function(params){ var content; var self = this; models.HatenaBookmark.getToken().addCallback( function (token) { content = self.converters.regular[params.type].call(self, params); content.rkm = token; return models.Hatena.getCurrentUser(); }).addCallback( function (id) { var endpoint = [self.POST_URL, id, "" ].join("/"); log(endpoint, content); return doXHR( endpoint, { method : 'POST', mimeType: "application/x-www-form-urlencoded", referrer : endpoint, sendContent : content } ); } ); } } );