2003-05-24(土) [長年日記]
■ 宇宙3機関の略称はJAXA
「NASDA」とか「宇宙研」とかの慣れ親しんだ名称ももう使えなくなるんだなぁ。ちょい寂しい。
それにしても、宇宙飛行士をモデル代わりに使うとは贅沢な話だ。ところで、女性のツナギ服姿には萌え要素があると思うんだがどうよ。
■ tDiary: w3mからTrackBack
最近のMTなサイトではTrackBack ping URLを表記していないところもあって、もはや「Bookmarkletを使わないヤツはTrackBackしなくてよろしい」と言われているような気分。tDiary用のBookmarkletもjounoさんによって作成されたりしていて、おれもGaleonに入れてみて「こりゃいいわ」と実感したものなのだが、考えてみるとおれはGaleonやIEでは日記を書かんのだよ。ふつー、w3mだろ。
てことで、この環境でなんとか楽できたらいいなーと考えていたのだが、うえちさんトコでscreenとw3mとrdicというアイデアを見つけ、これを応用できないかと考えた。
……その前に、Asumiのscreen 3.9.10ではevalが使えないので最新の3.9.15に上げねばならんのだよ。AsumiのSPECをちょっといじっただけではダメだったので、相性の良さそうなmomongaのを持ってきて、autoconf周辺をちょっといじったらrpm化できた。よかった。
さて本題。
まず、いま見ているページにTrackBackしたいと思ったら、その場でアクションできなくてはいけない。そこで外部ブラウザに登録するスクリプトを書く。w3mtb。
#!/bin/sh screen -X eval split focus 'select trackback' "exec w3mtb2 '$1'"
これをw3mの外部ブラウザに登録。これで新しいウィンドウを開いて、そこでw3mtb2というスクリプトを実行する。「select trackback」にしてあるので、あらかじめtrackbackという名前のウィンドウを作っておく。
続いてw3mtb2。
#!/bin/sh ping_url=`w3m -dump_source "$1" | \ grep 'trackback:ping=' | \ sed 's/^.*"\(http.*\)".*$/\1/'` w3m "http://sho.tdiary.net/update.rb?plugin_tb_url=${ping_url}" screen -X eval focus only
rdfのパースがいい加減すぎるが、tDiary、b2、MTで動いたからいいや(笑)。3行目は自分の日記の更新用URLに書き換える。これで上半分にTrackBackを送りたいサイト、下半分に更新画面があるので、screenのクリップボード経由で引用も簡単。更新が終わったらw3mを終了すれば、下のウィンドウは自動的に閉じる。
ちなみにw3mが更新画面を開くときに認証が必要だけど、それをパスするにはkitajのトコが参考になる。もうちょっと洗練したいんだけど(スクリプトを1つにしたり)、screenの実行コンテキストをいまいち理解していないのでよくわからない。まぁいいか。
■ tDiary: w3mからTrackBack(2)
うえちさんがさっそく改造してくれたおかげで、ピンと来た。つーわけで、あまり物騒じゃない方法ができたので、Wikiに載せておく→scripts:W3mTb。オプションで動作を切り替えるようにすれば、スクリプト一個にまとめられるかな。まぁ、これはいずれ。
ん? tDiary-usersの方が良かったか?
MTでTrackBack ping URLを表記してないのは、テンプレートをいじらずデフォルトのままにしているからなのでは?
それはつまるところ、表示する必要はない、と開発者が考えているってことでしょう?
TrackbackのポップアップウィンドウでpingURLは表示されますよ。ただ、それだと見にくいから、MT以外からのTBを意識している人はいじっていると。
確かに、わざわざシェルを起動する必要はなかったです ^^;
parmlinkを見ていてTrackBackしようとしている人が、あのページを開けばping URLがわかる……とはとても思えないんだけどなぁ