web-dev-qa-db-ja.com

PentadactylでFirefoxPocketアドオンを使用する

私は Pentadactyl を使用しています。これは、vimスタイルのキーバインドとブラウジングをエミュレートするFirefoxプラグインです。私は最近、オフラインで表示するために記事を保存および管理する簡単な方法として、[保存されたすべてのページを自動的にオフラインで利用できるようにする]をオンにして Pocket を使用することに興味がありました。

Pocketは、URLバーのボタンでページを保存します。ツールバーのボタンもありますが、それは私には何の役にも立たないようで、白いボックスしか表示されません。右クリックメニューにオプションがあり、ポケットアカウントに追加するためのブックマークもあります。 Pentadactylコマンドを使用してこれらのオプションを呼び出す方法が見つからないようです。

唯一の :emenu私が見つけることができるpocketコマンドは、サイドバーを表示および非表示にするためのものです。コマンドをブックマークにバインドする方法はありますが、インターネットが非常に遅いことがよくあります。これには、Pocketがページをアカウントに追加するのを待ってから、ローカルファイルと同期してから、ファイルをダウンロードしてオフラインで表示する必要があります。

不足しているアドオンアクションにアクセスするためのPentadactylコマンドを定義する方法はありますか?また、コンテキストメニューエントリにアクセスする方法が見つからないか、そこでコマンドを使用することもできます。助けてくれてありがとう。

2
kstew
  • Pocketブックマークレット をインストールしてキーワードを割り当てると、を使用してアクティブ化できます。 o キーワードが続きます。例えば。 opocEnter

  • または、ブックマークレットコードをコマンドに変換して、.pentadactylrcに保存することもできます。

     command! pocket :open javascript:(function(){var%20e=function(t,n,r,i,s){var%20o=[3526112,5522661,1460314,3450302,5361262,5114635,2897350,3675444,1446118,2801611];var%20i=i||0,u=0,n=n||[],r=r||0,s=s||0;var%20a={'a':97,'b':98,'c':99,'d':100,'e':101,'f':102,'g':103,'h':104,'i':105,'j':106,'k':107,'l':108,'m':109,'n':110,'o':111,'p':112,'q':113,'r':114,'s':115,'t':116,'u':117,'v':118,'w':119,'x':120,'y':121,'z':122,'A':65,'B':66,'C':67,'D':68,'E':69,'F':70,'G':71,'H':72,'I':73,'J':74,'K':75,'L':76,'M':77,'N':78,'O':79,'P':80,'Q':81,'R':82,'S':83,'T':84,'U':85,'V':86,'W':87,'X':88,'Y':89,'Z':90,'0':48,'1':49,'2':50,'3':51,'4':52,'5':53,'6':54,'7':55,'8':56,'9':57,'\/':47,':':58,'?':63,'=':61,'-':45,'_':95,'&':38,'$':36,'!':33,'.':46};if(!s||s==0){t=o[0]+t}for(var%20f=0;f<t.length;f++){var%20l=function(e,t){return%20a[e[t]]?a[e[t]]:e.charCodeAt(t)}(t,f);if(!l*1)l=3;var%20c=l*(o[i]+l*o[u%o.length]);n[r]=(n[r]?n[r]+c:c)+s+u;var%20p=c%(50*1);if(n[p]){var%20d=n[r];n[r]=n[p];n[p]=d}u+=c;r=r==50?0:r+1;i=i==o.length-1?0:i+1}if(s==166){var%20v='';for(var%20f=0;f<n.length;f++){v+=String.fromCharCode(n[f]%(25*1)+97)}o=function(){};return%20v+'ce5c747776'}else{return%20e(u+'',n,r,i,s+1)}};var%20t=document,n=t.location.href,r=t.title;var%20i=e(n);var%20s=t.createElement('script');s.type='text/javascript';s.src='https://getpocket.com/b/r4.js?h='+i+'&u='+encodeURIComponent(n)+'&t='+encodeURIComponent(r);e=i=function(){};var%20o=t.getElementsByTagName('head')[0]||t.documentElement;o.appendChild(s)})()
    

    次に、:pocketを使用してページを保存できますEnter

  • すべてのタブをポケットに保存する場合は、次のコマンドを.pentadactylrcに含めることができます。

     command! pocketall -js RIL.saveTabs()
    

    注:前のコマンドとは異なり、このコマンドではバナーは表示されません


一般的な拡張機能へのアクセス。

より一般的な質問に答えるために、JavaScriptを介して拡張機能の機能にアクセスできることがよくありますが、通常、いくつかの調査と試行錯誤が必要です。 pentadactylからjavascriptを実行する方法は2つあります。

  1. :js ...
  2. :open javascript: ...(または同等に、 ojavascript: ...

    これは、ブックマークレットを実行するのと同じです。javascript: "pseudo-protocol"を指定してopendocumentコマンドを使用します。

2つのメソッドは、異なるコンテキストでjavascriptを実行します。後者の場合、グローバルオブジェクトは標準のwindowオブジェクトであり、ブラウザへのクライアントコードアクセスを提供します。前者の場合、グローバルオブジェクトはChromeWindowオブジェクトであり、windowオブジェクトでは使用できないFirefoxUI要素や拡張オブジェクトなどのブラウザの内部にアクセスできます。

Pentadactylのコマンドライン補完を使用して、ChromeWindowオブジェクトを探索できます。タイプ:jsSpaceTAB 完了のスクロール可能なリストが表示されます。続行します:RIL.TAB そして、RILオブジェクトのメンバーのリストを取得します(Pocket拡張機能に属します)。

別のツールはFirefoxブラウザコンソールで、同じコンテキストで実行されます。あなたはそれにアクセスすることができます Ctrl-Shift-j。これにより、インタラクティブなコマンドラインとオブジェクトインスペクターが提供されます。

最後に、プロファイルディレクトリ内の拡張機能のファイルを調べたい場合があります(GNU/Linuxでは、通常は$HOME/.mozilla/firefox/PROFILE_NAME/extensions/です)。これにより、何を探すべきかについてのヒントが得られます。たとえば、実際にソースファイルを開かなくても、ポケット拡張機能の機能を探しているときに、名前から「RIL」で始まるオブジェクトを探すように言われました。

2
pyrocrasty

タグで動作するようになりました。これをpentadactylrcに追加します。

command! pocket -nargs=* :open javascript:(function(){window.open('https://getpocket.com/edit?url='+escape(window.location.href)+'&tags=<args>', '_self');})()

トリガーより:

:pocket optionalFirstTag,optionalSecondTag

タグはロードされたページには表示されませんが、閲覧リストに保存されます。新しいタブで開くには、コードを「_self」から「_blank」に変更します。

誰かがヒントモードにアクセスせずにリンクをスローする方法を知っているなら、それは素晴らしいことです。

3
Peter Grevel

追加のオプションがいくつかあります。

  1. InstapaperPocketからリンクをエクスポート 、次に Instapaperの「Pocketからインポート」設定を使用 )に切り替えて、my pentadactyl用のネイティブinstapaperプラグイン
  2. 時間と意欲があれば、ペンタダクティルに readitlater(ポケット)用のvimperatorプラグイン を採用できます。期待できるほど難しくはありません。
1
petRUShka

ブックマークレットで簡単にできます。

  1. このWebサイトにアクセスします: https://getpocket.com/add?sb=1
  2. 赤いブックマークレットボタンを右クリックし、[リンクの場所をコピー]をクリックします
  3. この行を〜/ .pentadactylrcファイルに入れ、#BOOKMARKLET LINK#をコピーしたURLに置き換えます。

    command! pocket -description "Save to Pocket" open #BOOKMARKLET LINK#

これで、保存したいページにいるときに:pocketexコマンドを使用するだけで済みます。

お役に立てれば。

出典: http://www.martinjosefsson.com/2012/10/30/pocket-and-pentadactyl.html

0
simonwjackson