概要
Minibuffer,LDRizeと連携してTwitterの発言をTumblrにChatとして投稿出来るGreasemonkeyスクリプトです.デモはuserscripts.orgにあります.
コレを使うと何がうれしいのか
- Twitter上のちょっとした議論(最近結構見かける)とか,この流れスゲーと思ったのをTumblrに投稿しておける.
- 誰かにその議論やスゲー流れがあったことを教えたい時に,URLをいくつも教えるのは教える側も教えられる側も大変.
- とは言え,発言自体の羅列を送るのも長ったらしい.
- TumblrにChatとして投稿しておけば,1つのURLを教えるだけで良くなる.
- 他の誰かに教えるためだけでなく,備忘録として使っても良い.
- こんな感じ→ http://snj.tumblr.com/post/27707495 http://snj.tumblr.com/post/27720910 (こんなの人力でやる気しない)
インストール
ShareTwitterOnTumblr (403って言われる人は CodeReposからどうぞ)
- Minibufferが必要です
- LDRizeが必要です(なくても良いけどまともに使えない)
- MinibufferやLDRizeより下に配置してください
使い方
- TwitterやTwitter検索, terramindsを開いてください.
- LDRizeを使って,投稿したい発言にpinを立ててください(j/kで移動してp)
- 一通りpinを立て終えたら M-x (Alt+x) を押してMinibufferを表示させてください
- Minibufferに以下の例のように入力してください
- 右下の Share ... が Share ... done に変わったら投稿完了です.
- ちょっと長いので履歴を辿る(C-r)かエイリアスを設定(C-c)したほうが良いです.
// 現在開いているページを投稿(1つの発言しかないChatになります) location | share-twitter-on-tumblr // ピンを立てたもの(なければ現在の)を全て投稿 pinned-or-current-link | share-twitter-on-tumblr | clear-pin
仕様とか
- CodeReposにあげているので,気に入らない動作があれば弄ってください.
- LDRize用SITEINFOのlink先(LDRizeのoで開くページ)が ^http://twitter.com/id/statuses/\d+$ であれば他のページでも動きます.
- @includeにURLを入れる必要はあります.( CodeReposのソースを編集してください.)
- ピンを立てたlinkに1つでもtwitter以外のページが混じっていると動作しません.
- ピンを立てた順番は関係ありません.twitter.com/statuses/の直後の番号でソートしているので,時系列に並びます.
- ふぁぼったーは一覧のページにtwitterへのパーマリンクがなかったので保留にしました.
- twitter,Twitter検索,terraminds でフォーマットが異なるので,twitterのパーマリンクを取得して,GM_XHRで本文を取得しています.
愚痴
microformatsとか使って構造を合わせてくれないと,こういうスクリプトを作りづらい.というか今のままでは素のHTMLから本文を取得するのは不可能.無理矢理やろうと思えばできるけど,スケーラブルでないしサステナブルでないのでやるべきでないと思う.仕方なくGM_XHRでtwitterにリクエスト発行して本文を取得してるから,10個の発言にpin立てて実行すると10回アクセスが発生する.それプラスTumblrのパラメータ取得に1回と投稿に1回.構造が統一されていれば,こんなことしなくても済む.twitterも一覧ページはhAtomのくせに個別のページは独自構造だし,かといって一覧ページの本文は末尾に...が入ってたりして良く分からない.今までみたいにSITEINFOを作ればとりあえずは解決するけど,あれは拡大しないし持続しない.拡大・持続しないと分かっているものに依存したスクリプトを何個も書きたくない.
話しが飛ぶけど2chコピペブログのHTMLは本当にひどい.構造も糞もあったもんじゃない.誰かhAtomとかで出力するコピペブログ作成専用のソフトウェアかブログサービスを作ってくれればいいのに.もし仮に構造化された2chコピペブログがあったら,ShareTwitterOnTumblrをTwitter専用じゃなくて,2chの書き込みにも適用できたりするんだわ.機械可読になるから,ShareTwitterOnTumblrだけでなくこれから誰かが作るであろう便利なスクリプトにも使えるようになるんだ.
で,2chに適用できるということは,はてブのコメントとかブログのコメントとかにも適用できたりするハズなんだけど,はてブははてブで独自のキーバインドをつけてるからLDRizeが動かないっていう問題がある.「非LDRizeユーザ」や「重くなるからGreasemonkeyを入れたくない」という人のことを考えたら,サイト独自のキーバインドをJavaScriptで設定するのは間違ってないかもしれない.作ってる人もユーザのためを思ってやってるんだと思う.でも,それサステナブル?そしてスケールラブル?
はてブだけじゃなくて,自分のブログにj/kスクロールを入れてる人もいるけど,Shift,Ctrl,Alt,Metaキーの判定もちゃんとやってる?j/kじゃなくてn/p使いたい人はどうすればいい?AutoPagerizeが継ぎ足したページに対応できてる?AutoPagerizeみたいなUIをどうにかするスクリプトがこれから出てきたときに,対応できる?仮に全部できたとしても,1つ1つのサイトが別々に実装してたら,これらの対応状況は全部違うんだよ?使い勝手は本当に良い?本当にユーザのためになる?