cxxの日記

2009-01-20

[]Dashboardのpost type指定のURIのページングを修正するuser script 03:25 はてなブックマーク - Dashboardのpost type指定のURIのページングを修正するuser script - cxxの日記

http://www.tumblr.com/show/photos とか。

no title

2008-12-04

[]TwitterHTML変更の影響でTomblooでのquote postに失敗する 11:01 はてなブックマーク - TwitterのHTML変更の影響でTomblooでのquote postに失敗する - cxxの日記

間に合わせ

Tombloo.Service.extractors['Quote - Twitter'].extract = function(ctx){
	var body = ctx.selection;
	if(!body){
		var content = $x('(//span[@class="entry-content"])[1]');
		$x('.//a', content, true).forEach(function(l){l.href = l.href;});
		body = content.innerHTML.replace(/ (rel|target)=".+?"/g, '').
			replace('<a href="' + ctx.href.replace('/statuses/','/status/') + '">...</a>', '');
//		body = replace(/<a href="([^"]*)">[^<]*\.{3}<\/a>/g, '<a href="$1">$1</a>');
	}

	return {
		type     : 'quote',
		item     : ctx.title.substring(0, ctx.title.indexOf(': ')),
		itemUrl  : ctx.href,
		body     : body.trim(),
		favorite : {
			name : 'Twitter',
			id   : ctx.href.match(/(status|statuses)\/(\d+)/)[2],
		},
	}
};
replace('<a href="' + ctx.href.replace('/statuses/','/status/') + '">...</a>', '')
は長い発言がtimelineで表示されるときの省略の記号が何故かpermalinkでも表示されてる(!)ことへの対策。

brazilbrazil2008/12/08 13:24頂きました。ありがとうございました。僕もよく使ってます。サイト依存系の機能が多いのでHTML変更ぐらいで動かなくなっちゃいますねぇ...。

2008-12-03

[]Tomblooでphotoをpostするとき、引用元ページのlinkをクロスポストする 01:48 はてなブックマーク - Tomblooでphotoをpostするとき、引用元ページのlinkをクロスポストする - cxxの日記

仕組み上、Tumblrreblogを他にpostするときにはたまに間違ったURLを送ってしまいます。

Photoをpostするときに、linkのデフォルトのpost先で、photoのデフォルトのpost先ではないサービスに引用元のlinkをpostします。ファイルをダウンロードしてFirefoxのプロファイルフォルダ内のtombloo/scriptフォルダに置き、Firefoxを再起動してください。

誤マッチを減らすために少し変更しました。(2008-12-03 20:20)

URLのunescape(2008-12-05)

誤マッチを減らすために安全寄りにしました。(2008-12-07)

addBefore(Tombloo.Service, 'post', function(ps) {
	if (ps.type == 'photo') {
		var psLink = {
			type:    'link',
			item:    ps.page,
			itemUrl: ps.pageUrl,
			page:    ps.page,
			pageUrl: ps.pageUrl
		};
		if (ps.favorite && ps.favorite.name == 'Tumblr') {
			var reVia = /<p><a [^>]*>[^<]*<\/a>:<\/p>\s*<blockquote>\s*/g;
			var reA = /^(?:<p>)?<a href="([^"]+)">([^<]*)<\/a>/;
			var caption = ps.body.replace(reVia, '');
			if (caption.match(reA)) {
				psLink.itemUrl = unescapeHTML(RegExp.$1);
				psLink.item = unescapeHTML(RegExp.$2);
			}
		}
		var postersOrigin = models.getDefaults(ps);
		var posters = models.getDefaults(psLink).filter(function(p) {
			return !postersOrigin.some(function(p_) {
				return p_ == p;
			});
		});
		Tombloo.Service.post(psLink, posters);
	}
});

2008-12-02

[]TomblooTumblrのquote/videoをreblogするとき、クロスポスト先には引用元のURLをpostする 11:09 はてなブックマーク - TomblooでTumblrのquote/videoをreblogするとき、クロスポスト先には引用元のURLをpostする - cxxの日記

仕組み上、たまに間違ったURLを送ってしまいます。

ファイルをダウンロードしてFirefoxのプロファイルフォルダ内のtombloo/scriptフォルダに置き、Firefoxを再起動してください。Tomblooでquoteをpostするときにダブルクオートでくくるは意味もなくreblogを除外していたので、あわせて更新しました。

LDR + TomblooDashboard + Tomblooとも併用できます。

誤マッチを減らすために少し変更しました。(2008-12-03 20:21)

URLのunescape(2008-12-05)

誤マッチを減らすため安全寄りにしました。(2008-12-07)

addAround(
	Tombloo.Service.extractors.ReBlog, 'convertToParams',
	function(proceed, args) {
		var ps = proceed(args);
		var form = args[0];
		var reVia = /<p><a [^>]*>[^<]*<\/a>:<\/p>\s*<blockquote>\s*/g;
		var reA = /^(?:<p>)?<a href="([^"]+)">([^<]*)<\/a>/;
		
		switch (form['post[type]']) {
		case 'quote':
			var source = form['post[two]'];
			if (source.match(reA)) {
				ps.itemUrl = unescapeHTML(RegExp.$1);
				ps.item = unescapeHTML(RegExp.$2);
			}
			break;
		case 'video':
			var embed = form['post[one]'];
			var caption = form['post[two]'].replace(reVia, '');
			if (embed.match(/<a href="([^"]+)">([^<]*)<\/a>/)) {
				ps.itemUrl = unescapeHTML(RegExp.$1);
				ps.item = unescapeHTML(RegExp.$2);
			}
			else if (caption.match(reA)) {
				ps.itemUrl = unescapeHTML(RegExp.$1);
				ps.item = unescapeHTML(RegExp.$2);
			}
			if (embed.indexOf('http') == 0) {
				ps.itemUrl = unescapeHTML(embed);
				if (!ps.item)
					ps.item = unescapeHTML(
						caption.replace(/<[^>]*>/g, '').replace(/[\n\r]{2,}/g, '\n').trim()
					);
			}
			break;
		}
		return ps;
	}
);

2008-11-17

[]たんぶらうざのキーボードショートカットを無効化するuser script 07:59 はてなブックマーク - たんぶらうざのキーボードショートカットを無効化するuser script - cxxの日記

no title

たんぶらうざのキーボードショートカットがReblogCommandと衝突するので無効化する。