編集可能
2010年9月5日

Nested Twitter Replies 改造してみたよ

非公式RTの問題点とその解決 http://togetter.com/li/15115 関連。 Fx+グリモン+Nested Twitter Repliesを用いて、RepostLinkを使いやすくしようという試みのため、Nested Twitter Repliesの改造に挑みました。 環境構築には、 Nested Twitter Replies 使ってみたよ http://togetter.com/li/44944 を前提としています。
1
ステレ(菅野たくみ/ステージレフトP) @elderalliance

nested_twitter_repliesをRepostLink対応に改造。これで、webクライアントでのURL展開が実質不要に。 QT @elderalliance: https://twitter.com/elderalliance/status/23019270358

2010-09-05 11:48:54
ステレ(菅野たくみ/ステージレフトP) @elderalliance

RepostLinkによる参照は、ステータスのURLをつぶやくため参照元ステータスとの関連がわかりづらいことがあった。

2010-09-05 11:59:08
ステレ(菅野たくみ/ステージレフトP) @elderalliance

ここで、Nested Twitter Repliesのユーザースクリプトを改造する、という解決方法を提案する。

2010-09-05 12:00:06
ステレ(菅野たくみ/ステージレフトP) @elderalliance

元のスクリプトでは、l.20-32にて、TLのツイートからReply元を探してツリーを作る、という作業をしています。

2010-09-05 12:03:56
ステレ(菅野たくみ/ステージレフトP) @elderalliance

んで、作業(1)このl20-32をまるまる、直後にコピー。

2010-09-05 12:04:22
ステレ(菅野たくみ/ステージレフトP) @elderalliance

作業(2)if条件 a [i].innerHTML.substr (0, 11) == 'in reply to' を...

2010-09-05 12:06:17
ステレ(菅野たくみ/ステージレフトP) @elderalliance

(a [i].innerHTML.substr (0, 20) == 'https://twitter.com/') && (a [i].innerHTML.indexOf("status") != -1) に書き換えます。

2010-09-05 12:06:23
ステレ(菅野たくみ/ステージレフトP) @elderalliance

作業(3)ID取得 var id = a [i].parentNode.parentNode.parentNode.id; のところ。

2010-09-05 12:07:14
ステレ(菅野たくみ/ステージレフトP) @elderalliance

parentNodeを1個足して、 var id = a [i].parentNode.parentNode.parentNode.parentNode.id; とします。

2010-09-05 12:07:41
ステレ(菅野たくみ/ステージレフトP) @elderalliance

この作業(1)~(3)までで、「1段の」RepostLinkがReplyとして解決します。複数のステータスを同時にLinkした場合は未検証(検証する気なし)。

2010-09-05 12:08:48
ステレ(菅野たくみ/ステージレフトP) @elderalliance

んで、次は多段のRepostLinkを解決する方法。作業(1)~(3)は完了してると思いねぇ。(説明する行がずれるので)

2010-09-05 12:09:47
ステレ(菅野たくみ/ステージレフトP) @elderalliance

元のスクリプトでは、l.160-161にて、多段Replyを処理しています。l.20-31で実施した準備がいい感じなので、リストに1個足すだけで良くなってる。素敵。見習いたい。

2010-09-05 12:11:56
ステレ(菅野たくみ/ステージレフトP) @elderalliance

んで、作業(4) l.160-161を直後にコピペし、コピペ先のl160を、作業(2)と同様に書き換える。

2010-09-05 12:13:44
ステレ(菅野たくみ/ステージレフトP) @elderalliance

作業は以上。作業(3)と異なり、コピペ先l161は書き換えないのがポイント。

2010-09-05 12:14:24
ステレ(菅野たくみ/ステージレフトP) @elderalliance

改造は大変ですが、実際使ってみて、RepostLinkの威力を体感してください。

2010-09-05 12:15:33
ステレ(菅野たくみ/ステージレフトP) @elderalliance

……うん、RiTsutterのPC版、開発継続する気力なくしたわ……orz

2010-09-05 12:15:38
ステレ(菅野たくみ/ステージレフトP) @elderalliance

とりあえず、httpの場合に対応できない対処はできた。 innerHTML.substr(0, 20) == 'https://www.twitter.com/' を、 innerHTML.indexOf("://www.twitter.com/") に書き換えればおk。

2010-09-06 19:30:01
ステレ(菅野たくみ/ステージレフトP) @elderalliance

NTR改造: 単発のステータスからReplyをつなぐ。最後の方、twitter_replies.locate (); とあるコードを、if (document.location.href.indexOf ('/status') == -1) {} ブロックからくくり出せばおk。

2010-09-06 23:27:41
残りを読む(2)

コメント

ステレ(菅野たくみ/ステージレフトP) @elderalliance 2010年9月5日
補足: 作業(2)および(3)で書き換えるのは、(作業(4)と同じく)コピペ先のほうです。さもないと、Reply+参照ツイートURLからなるツイートが流れてきたときに、リンク先の認識で狂いが生じます。
0
ステレ(菅野たくみ/ステージレフトP) @elderalliance 2010年9月5日
重大な追記。 ここで改造している Nested Twitter Replies は、 Aug 27, 2010 を用いています。
0
ステレ(菅野たくみ/ステージレフトP) @elderalliance 2010年9月6日
作業(2) (および、作業(4)) のミスについて、修正のツイートを追加しました。
0
ステレ(菅野たくみ/ステージレフトP) @elderalliance 2010年9月6日
あう、ミスってる…… 誤)innerHTML.indexOf("://www.twitter.com/") 正)innerHTML.indexOf("://www.twitter.com/") != -1 です。
0
ステレ(菅野たくみ/ステージレフトP) @elderalliance 2010年9月6日
別の改造を施してみました。 ステータス( https://twitter.com/elderalliance/status/23133803505 みたいな単発ツイート)からでもレスポンスが見えるようになります。
0
ステレ(菅野たくみ/ステージレフトP) @elderalliance 2010年10月2日
自分のblogに、上記をまとめてさらに改良したパッチを乗せたのでリスト追加。
0