2

Я использую Pentadactyl, плагин Firefox, который эмулирует сочетания клавиш в стиле vim и просмотр страниц. Недавно я заинтересовался использованием Pocket с пометкой «Автоматически делать все сохраненные страницы доступными в автономном режиме» как простой способ сохранения и управления статьями для просмотра в автономном режиме.

Pocket сохраняет страницы с помощью кнопки в строке URL. Есть также кнопка для панели инструментов, но это, кажется, ничего не делает для меня и показывает только белый квадрат. Есть также опция для этого в меню, вызываемом правой кнопкой мыши, и закладка, чтобы добавить его в свой карманный аккаунт. Я не могу найти способ вызвать любую из этих опций с помощью команд пентадактиля.

Единственная :emenu pocket, которую я могу найти, - показать и скрыть боковую панель. Есть способ привязать команды к закладке, но у меня часто очень медленный интернет, для этого нужно подождать, пока Pocket добавит страницу в мою учетную запись, затем синхронизировать с моими локальными файлами и затем загрузить файл для просмотра в автономном режиме.

Есть ли способ определить команду Pentadactyl для доступа к действиям надстройки, которые я пропускаю? Я также не могу найти способ получить доступ к пунктам контекстного меню, или я мог бы использовать команду там. Спасибо за любую помощь.

4 ответа4

3

У меня это работает с тегами. Добавьте это к вашему 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».

Если кто-нибудь знает, как добавить ссылку из режима подсказок, не посещая ее, это было бы здорово.

2
  • Вы можете установить букмарклет Pocket и назначить ему ключевое слово, которое позволит вам активировать его, используя o, а затем ключевое слово. Например. o poc Enter

  • Кроме того, вы можете преобразовать код букмарклета в команду и сохранить его в вашем .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, но обычно это требует некоторого исследования, проб и ошибок. Есть два способа запустить javascript из пентадактиля:

  1. :js ...
  2. :open javascript: ... (или, что эквивалентно, o javascript: ...)

    Это похоже на запуск букмарклета: он использует команду open document с javascript: «псевдопротоколом».

Два метода запускают JavaScript в разных контекстах. В последнем случае глобальный объект является стандартным window объектом, который предоставляет клиентскому коду доступ к браузеру. В первом случае глобальный объект - это объект ChromeWindow который дает вам доступ к большему количеству внутренних компонентов браузера, включая элементы пользовательского интерфейса Firefox и объекты расширения, которые недоступны в объекте window .

Вы можете исследовать объект ChromeWindow используя завершение командной строки пентадактиля . Введите :js Пробел TAB, и вы получите прокручиваемый список завершений. Теперь продолжайте: RIL. TAB, и вы получите список членов объекта RIL (принадлежащих расширению Pocket).

Другим инструментом является консоль браузера Firefox, которая работает в том же контексте. Вы можете получить к нему доступ с помощью Ctrl - Shift - j. Это обеспечивает интерактивную командную строку и инспектор объектов.

Наконец, вы можете захотеть совать файлы расширения в каталог вашего профиля (в GNU/Linux это обычно $HOME/.mozilla/firefox/PROFILE_NAME/extensions/). Это может дать вам подсказки о том, что искать. Например, даже не открывая никаких исходных файлов, имена сказали мне искать объекты, начинающиеся с "RIL", когда я искал функциональные возможности карманного расширения.

1

Есть несколько дополнительных опций:

  1. Вы можете переключиться на Instapaper (экспортировать ссылки из Pocket, а затем использовать настройку Instapaper "Импорт из кармана") и использовать мой плагин instapaper для пентадактиля.
  2. Если у вас есть время и желание, вы можете использовать плагин vimperator для чтения (карман) для пентадактиля. Это не так сложно, как вы можете ожидать.
0

Вы можете сделать это легко с помощью букмарклета.

  1. Перейдите на этот веб-сайт: https://getpocket.com/add?sb=1.
  2. Щелкните правой кнопкой мыши на красной кнопке букмарклета, затем нажмите "Копировать расположение ссылки"
  3. Поместите эту строку в ваш файл ~/.pentadactylrc и замените #BOOKMARKLET LINK # на только что скопированный URL:

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

Теперь вы можете просто использовать команду :pocket ex, когда находитесь на странице, которую хотите сохранить.

Надеюсь это поможет.

Источник: http://www.martinjosefsson.com/2012/10/30/pocket-and-pentadactyl.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .