閲覧している Tumblr のエントリーを編集ページで開くブックマークレット
ことわり
未だに Tumblr の使い方が十分に分かっておらず、何か勘違いをしているかもしれません。掲載内容を参考になさる場合は十分に注意してください。
間違い・アドバイス等、御座いましたらお手数ですが指摘していただけると幸いです。
いきさつ
Tumblr は1つのアカウントで複数の tumblelog を作成出来るのですが、メインの tumblelog*1 とサブの tumblelog*2 では扱いが少々異なるようで何かと不自由します。
特に、サブの tumblelog を閲覧している際に表示される右上のナビゲーションには Edit ボタンがないので、思い立ったが吉日という具合に再編集が出来ずストレスを感じていました。
巷には様々な Tumblr 用ツールが溢れているので、探せば再編集を容易にする有益なツールの類が見つかるかと思いますが、それすらも億劫だったのでブックマークレットを書いてみました。
Tumblr のエントリーを開いた状態でブックマークレットを実行すると、新規タブ(あるいはウィンドウ)でそのエントリーの編集ページを開きます。
※もちろん、ログインしていなかったり、その tumblelog が自身の所有でなかった場合には編集ページを開くことはできません。
ブックマークレット
下記のスクリプトをコピーし、Edit Tumblr Entry とでも名付けてブックマークに登録してください。
javascript:(function(){var w=window,l=w.location,h=l.hostname,p=l.pathname.split("/"),t="tumblr.com";((h.slice(-10)==t)&&(p[1]=="post"))?w.open("http://www."+t+"/edit/"+p[2]+"?redirect_to=%252Ftumblelog%252F"+h.slice(0,h.indexOf(t)-1),"_blank"):alert("error")})();
保守用
// @name Edit Tumblr Entry // @description Tumblr の記事を編集 // @uuid 4f09db0c-d285-4e9d-a0d8-9ddd723c57d1 // @version 2009-12-19T22:50:56+09:00 作成 javascript:( function(){ // 変数 var w=window, l=w.location, h=l.hostname, p=l.pathname.split("/"), t="tumblr.com"; // 三項演算子 // 閲覧中のサイトが Tumblelogs か確認 (チェックゆるめ) ( // ドメインが tumblr.com であり (h.slice(-10)==t) && // 第1階層のディレクトリが post である (p[1]=="post") )? // 閲覧中のサイトが Tumblelogs だった場合 // UserID と EntryID から編集ページの URL を作成し、移動する w.open( "http://www." + t + "/edit/" + // EntryID p[2] + // 図らずも二重エンコードになってしまった。エンコードは必要ないかも。 "?redirect_to=%252Ftumblelog%252F" + // UserID h.slice(0,h.indexOf(t)-1) ,"_blank"): // 閲覧中のサイトが Tumblelogs ではなかった場合 alert("error"); } )();