[vimperator] nextlink.js (AutoPagerize for vimperator) - suVeneのアレ

[vimperator] nextlink.js (AutoPagerize for vimperator)

vimperator のデフォルトの “[[” “]]” のマップは、next とか >> だとかが textContent なモノや link @rel=”next” なモノが開く仕様になってて、nextpattern, previouspattern に追加できるわけだけども、色んなサイトがある中でそれだけじゃ対応しきれないことが多い。

んで、IRC#vimperator@wide かなんかで、AutoPagerize の wedata の nextLink 引っ掛けてマップできればなぁ、みたいな事を id:otsune さんや、id:teramako さんが話してて、「なるほど!」と思ったので実装してみた。

/lang/javascript/vimperator-plugins/trunk/nextlink.js – CodeRepos::Share – Trac はてなブックマーク数

これで、”]]” を押すことにより、Autopagerize の wedata に定義されているサイトならば、次のページを引っ付けて表示するようになる。そのとき、”[[” には、前のページの先頭をマップするので、
– “]]” → “]]” → “[[” → “[[” → “[[”
と押すことで、
– 2page → 3page→ 2page→ 1page
みたいな感じで、PageDown・PageUp 的な動きができる。

ページを引っ付けるんじゃなくて、ページ移動(C-x, C-a的な)がしたい場合には、
let g:nextlink_followlink = “true”
を、.vimperatorrc などに設定しておくと、同じく次のページをどんどん辿れる。

この設定の場合には、@rev=”prev” という microformats のようなメタデータがある場合に、起点となるページ以前にずっと遡れるという利点があったり。(false の場合でも、ページの先頭にどんどんくっつけていくことは可能なんだけども)

一応、対応する vimperator は 1.2、2.0 共に動くようにしといた。けど、1.2 の場合はなぜかページナビゲーションの css 定義がうまく import できない!まぁ、実害はないけど。

あぁ、それから _libly.js っていうライブラリも使ってるので、同時にもってきといてください。
これを最新版にすると、古い multi_requester.js などが動かなくなる可能性もあるけど、その場合は、coderepos から最新版をもってくれば ok.

という訳で、よき vimperator ライフを。

links

/lang/javascript/vimperator-plugins/trunk/_libly.js – CodeRepos::Share – Trac はてなブックマーク数
/lang/javascript/vimperator-plugins/trunk/nextlink.js – CodeRepos::Share – Trac はてなブックマーク数

スポンサーリンク
スポンサーリンク

コメント

  1. JIN より:

    id: suVene さん,こんにちは.
    nextlink.js で 4 ページ目を補完しようとすると “end of pages.” が出て表示されません.
    _libly.js の libly.$U.createHTMLDocument のコメント部分を入替えると,それはなくなるんですけど別の副作用が..
    補完したページからブラウズしてリンクを辿った後,ページを戻ると補完前の状態になってしまいます.
    このあたりをどうにかしようと,自分で Hack を試みたんですけどさっぱりわかりませんでした.
    アドバイスもらえませんか.

  2. suVene より:

    ほんとだ。google の検索でしか見てないですけど、なぜか 4 ページ目で end of pages.がでますね。
    337行目の
    if (value.loadURLs.some(function(url) url == reqUrl)) return false;
    の判定で、読込み済みとなって、false が帰ってるっぽい感じが。
    (3ページ目で1ページ目と同じ reqUrl になっている?)

    ただ、うまくいく4ページ目などもあるようですね。
    (mixi のダイアリなどで試した)

    nextlink.js は私自身長い間メンテしてなく、id:hogelog さんが結構メンテされてたので、#vimperator@WIDE で質問してみればよいかも?
    JINさんが試してうまくいかなかったページとかはどこでしょう。

  3. JIN より:

    コメントありがとうございます.
    自分は google 検索だけでしか見てませんでした.
    google 以外では見れるところもあったんですね.
    ということは google にも問題があるということですかね.
    世界の google を信用し過ぎてました.

    では,id: hogelog さんに聞いてみます.
    #vimperator@WIDE って IRC ってやつなんですよね.
    よくわかってないんで hatena で関連してそうなところにコメント入れてみようと思います.

コメントをどうぞ

メールアドレスが公開されることはありません。