LINUX.ORG.RU
ФорумTalks

Наканецта — lorify userscript

 , , , ,


1

3

Что нового?

Добавил версию в виде userscript'а, а также выпустил новые версии расширений для Chrome и Firefox (см. changelog).

Userscript проверял в Greasemonkey, буду признателен за тесты на других расширениях.

======================

Помощь проекту

Если у вас есть желание помочь проекту материально, буду признателен за переводы любым удобным для вас способом:

======================

Стандартная шапка

======================

Что это такое?

lorify — это расширение для браузеров, которое позволит вам:

  • Видеть ответы на каждое сообщение
  • Отображать превью сообщений при наведении на соответствующие ссылки
  • Автообновлять треды

======================

Firefox

Скачать новую версию (v1.3.1)

ВНИМАНИЕ

Новая версия ещё не прошла review (старые, кстати, уже получили аппрувы от Mozilla), так что для её установки требуется выполнить следующие действия:

  • Открываете новую вкладку, пишете в адресную строку «about:config» (без кавычек) и нажимаете Enter
  • В появившуюся строку поиска вводите «xpinstall.signatures.required» (без кавычек) и делаете данный параметр равным false
  • Переходите по ранее указанной ссылке и устанавливаете аддон

Исходный код можно посмотреть тут.

======================

Chrome

Скачать

Исходный код можно посмотреть тут.

======================

Userscript

Можно взять отсюда (userscripts.org лежит)

======================

Changelog

**********************

Chrome

v1.7.1

  • Появление новых страниц в результате автообновления теперь сигнализируется добавлением "(!)" в заголовок страницы
  • Исправлена проблема с «утечкой памяти»

v1.7.0

  • Добавлено дерево превьюх — http://i.imgur.com/wjzWIkV.png
  • Положение превьюх теперь определяется таким же образом, как и на дваче

v1.6.0

  • Добавлено отображение ответов

v1.5.0

  • Добавлены настройки
  • Исправлен баг с непропадающими превьюхами
  • Исправлены грамматические ошибки

v1.4.2

  • Исправлен баг с отсутствием превьюх у сообщений, добавленных после автообновления страницы

v1.4.1

  • Исправлен баг с неправильным расположением autorefresh checkbox'а после автообновления страницы

v1.4.0

  • Добавлена возможность автообновления тредов

v1.3.0

  • Добавлена рамка для превьюх

v1.2.0

  • Добавлена поддержка «Галереи» и «Новостей»

v1.1.0

  • Добавлена поддержка HTTP (нешифрованного соединения)

**********************

Firefox

v1.3.1

  • Появление новых страниц в результате автообновления теперь сигнализируется добавлением "(!)" в заголовок страницы
  • Исправлена проблема с «утечкой памяти»

v1.3.0

  • Добавлено дерево превьюх — http://i.imgur.com/wjzWIkV.png
  • Положение превьюх теперь определяется таким же образом, как и на дваче

v1.2.0

  • Добавлено отображение ответов

v1.1.0

  • Добавлены настройки
  • Исправлен баг с непропадающими превьюхами
  • Исправлены грамматические ошибки

======================

Буду признателен за баг-репорты, конструктивный фидбэк и pull request'ы.

И да, подписывайтесь на тег «lorify».

Ответ на: комментарий от b0r3d0m

Ещё не пробовал. Лень в виртуалку лезть или ставить хром на хоста.

sudopacman ★★★★★ ()
Ответ на: комментарий от b0r3d0m

Отлично. Теперь превьюшки при скроллинге не появляются по чём зря.

sudopacman ★★★★★ ()

Интересно, надо затестить.

CYB3R ★★★★★ ()

хромой работает на ура! автор молодец!

ggrn ★★★★★ ()
Ответ на: комментарий от sudopacman

Спасибо.

Кого-нибудь такое поведение не устраивает?

b0r3d0m ()
Ответ на: комментарий от b0r3d0m

Ты скастуй всех, кого надо, а то могут не увидеть сообщение.

sudopacman ★★★★★ ()

Молодец, всегда пиши просьбу о бабле в самое начало сообщения. Даже до сути того, что же ты хочешь продать.

takino ★★★★ ()
Ответ на: комментарий от b0r3d0m

net-p2p/bitcoin-qt, например. Или сразу на бирже, btc-e.com, например.

gadfly ★★ ()
Ответ на: комментарий от gadfly

Или сразу напиши мне, если не хочешь её на форуме озвучивать — b0r3d0mness [at] gmail [dot] com

b0r3d0m ()
Ответ на: комментарий от b0r3d0m

Скажите, всех ли всё устраивает. Если да, то залью в основную версию.

Да, так лучше стало. Ещё ссылку бы считать за попап. А то приходиться после появления попапа сначала на него навести, а потом только «за него», чтобы исчез. Если еще это будет, то будет то что надо.

Жду того же для лисы.

Еще багу нашел, скорее всего появилась при добавлении ответов. Теперь при переходе на комментарий, выделенный рамкой комментарий «за экраном», ниже. Хотя это возможно и не твой баг, но юзерскрипт что я пользовался так не делал. Значит можно без этого обойтись :)

PS: А палки у тебя нет? А то я бы соточку кинул для мотивации, но у меня ни Я.Да ни вебманей нету.

Loki13 ★★★★★ ()

Ручной патч к хз какой версии для тех, кто хочет видеть парента всегда сверху от ссылки «комментарий от». Остальные показываются как обычно.

   // From makaba
   const hoveredLink = e.target;
   var x = getOffset(hoveredLink, 'offsetLeft') + hoveredLink.offsetWidth / 2;
   var y = getOffset(hoveredLink, 'offsetTop');
+  var isp = (hoveredLink.text == "комментарий");
   const screenWidth = getScreenWidth();
   const screenHeight = getScreenHeight();
   if (e.clientY < screenHeight * 0.75) {
     y += hoveredLink.offsetHeight;
   }
   commentElement.attr(
     'style',
       'position: absolute;' +
       // There are no limitations for the 'z-index' in the CSS standard,
       // so it depends on the browser. Let's just set it to 300
       'z-index: 300;' +
       'border: 2px solid grey;' +
       (
+        isp ? 'left: ' + getOffset(hoveredLink, 'offsetLeft') :
         x < screenWidth / 2
         ? 'left: ' + x
         : 'right: ' + parseInt(screenWidth - x + 2)
       ) + 'px;' +
       (
+        !isp &&
         e.clientY < screenHeight * 0.75
         ? 'top: ' + y
         : 'bottom: ' + parseInt(screenHeight - y - 4)
       ) + 'px;'
   );
arturpub ★★ ()
Ответ на: комментарий от Loki13

Да, так лучше стало

Хорошо, спасибо. Скорее всего, добавлю в основную версию.

Ещё ссылку бы считать за попап. А то приходиться после появления попапа сначала на него навести, а потом только «за него», чтобы исчез. Если еще это будет, то будет то что надо

Да, я помню об этом реквесте. Подумаю, что можно сделать.

Жду того же для лисы

Если ты о версии с задержкой появления превьюх, то уже выкладывал — http://rghost.ru/6HCCnS8nH

Теперь при переходе на комментарий, выделенный рамкой комментарий «за экраном», ниже

У меня такого не наблюдается. Версия браузера?

А палки у тебя нет? А то я бы соточку кинул для мотивации, но у меня ни Я.Да ни вебманей нету

Есть — https://www.paypal.me/b0r3d0m

Спасибо!

b0r3d0m ()
Ответ на: комментарий от arturpub

Спасибо за патч. Если всем понравится, добавлю в основную версию.

b0r3d0m ()
Ответ на: комментарий от r3lgar

В смысле, там нет возможности загрузки юзерскриптов? Зачем там Python?

b0r3d0m ()
Ответ на: комментарий от Solonix

Ясно, спасибо.

В следующем обновлении тогда заменю в основной версии.

b0r3d0m ()
Ответ на: комментарий от b0r3d0m

Если ты о версии с задержкой появления превьюх, то уже выкладывал

Я о версии чтобы превьюхи не появлялись при «проходе мимо». То что в бете для хрома.

Loki13 ★★★★★ ()

И еще один, чтобы >>ответы появлялись справа от [Ссылка] и (как бы) в том же стиле, вместо под [Ответить ...].

     if (commentInfo.referencedCommentID !== null) {
       for (var i = 0; i < commentsInfo.length; ++i) {
         const cachedCommentInfo = commentsInfo[i];
         if (cachedCommentInfo.id === commentInfo.referencedCommentID) {
           if (cachedCommentInfo.element.find(
             'a.response[href="' + commentInfo.link + '"]'
           ).length > 0) {
             continue;
           }
           const responseTag = $('<a/>', {
             href: commentInfo.link,
-            html: '>>' + commentInfo.id,
+            html: '[>>' + commentInfo.id + ']',
-            class: 'response',
-            style: 'padding-right: 5px'
           });
           responseTag.mouseover(showPreview);
-          cachedCommentInfo.element.find('div.msg_body').append(responseTag);
+          cachedCommentInfo.element.find('div.msg_body').find('div.reply').append(' ').append(responseTag);
        }
      }
    }
arturpub ★★ ()
Ответ на: комментарий от arturpub

Спасибо, но это, скорее всего, придётся всё равно переделывать, т.к. уже несколько человек просило вместо ID комментариев писать ники пользователей.

Алсо, делай pull request'ы — удобнее же, да и авторство сохраняется.

b0r3d0m ()
Ответ на: комментарий от b0r3d0m

Я варвар, я не умею пулл-реквесты. Я умею svn update и svn commit.

arturpub ★★ ()
Ответ на: комментарий от arturpub

Да их прямо на сайте можно делать. Форкаешь, выбираешь нужный файл, нажимаешь edit, редактируешь, коммитишь и делаешь pull request. Никаких программ и гугления команд.

b0r3d0m ()
Ответ на: комментарий от b0r3d0m

Спасибо что пояснил по хардкору, я уже собрался туториалы читать :)

Ну, эти не буду засылать, тем более что второй протух.

arturpub ★★ ()
Ответ на: комментарий от b0r3d0m

там нет возможности загрузки юзерскриптов?

Это и предстоит выяснить. Точнее, предстоит выяснить, почему это ещё не реализовано. Ибо разработчик где-то распинался о модульности (или это был dwb?), но я что-то ничего пока не вижу. Щаз, раскидаюсь с более насущными делами, и попробую что-нибудь присобачить сбоку, а потом можно будет и разрабу в иссуи поныть, лол.

UPD: Вообще, есть jseval, но пинать его каждый раз при посещении страницы — не вариант. Да и различать домены оно не умеет, и будет пытаться запустить на активном табе, а не на православном ЛОРе.

Зачем там Python?

Браузер написан на PyQt5, и вместо движка там QtWebkit. Это ужасное сочетание, но это действительно последнее пристанище. Дальше только curl+wget.

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

Браузер написан на PyQt5, и вместо движка там QtWebkit. Это ужасное сочетание, но это действительно последнее пристанище. Дальше только curl+wget

Если уж на то пошло, то почему не K-Meleon?

b0r3d0m ()
Ответ на: комментарий от b0r3d0m

Начнём с того, что он оффтопик-онли. Уж ОС я ради браузера точно менять не собираюсь. А ещё он никак в вимоуправление. Уж лучше совсем без браузера.

r3lgar ★★★★★ ()
Ответ на: комментарий от b0r3d0m

Да, работает.

Ещё такой вот реквест: Закрывать попап при клике по ссылке «комментарий» и на ответы, сейчас вроде переход по ссылке уже начался, а попап ещё висит. А также можно закрывать по клику мимо попапа, просто в молоко. Чтобы можно было закрывать попапы кликом мимо них. Как по мне будет довольно юзер френдли, т.к. будет работать как попап окна в ОС, а это ожидаемое поведение(по крайней мере для меня и подозреваю что не только).

Loki13 ★★★★★ ()

Спасибо!
Есть фич-реквест: можно так сделать так, чтоб превью не выходили за экран, а смещались влево-вправо оставаясь по центру, как на имиджбордах?
И из свистоперделок: можно ли при открытии нового превью, каждому предыдущему немного уменьшать прозрачность, чтобы не теряться в постах?

I60R ★★ ()
Ответ на: комментарий от Loki13

Ещё такой вот реквест: Закрывать попап при клике по ссылке «комментарий» и на ответы

А зачем, если страница всё равно поменяется?

А также можно закрывать по клику мимо попапа, просто в молоко

Сделал, будет в следующей версии.

b0r3d0m ()
Ответ на: комментарий от I60R

Есть фич-реквест: можно так сделать так, чтоб превью не выходили за экран, а смещались влево-вправо оставаясь по центру, как на имиджбордах?

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

И из свистоперделок: можно ли при открытии нового превью, каждому предыдущему немного уменьшать прозрачность, чтобы не теряться в постах?

Спасибо за предложение, подумаю.

b0r3d0m ()
Ответ на: комментарий от r3lgar

Начнём с того, что он оффтопик-онли

А, точно, совсем забыл.

b0r3d0m ()
Ответ на: комментарий от b0r3d0m

Есть — https://www.paypal.me/b0r3d0m

Звонил в палку, сказали подтвердить карту нужно и мне и тебе. Я уже подтвердил. Пока не подтвердишь, тебе ничего не отправить.

Loki13 ★★★★★ ()
Ответ на: комментарий от b0r3d0m

А зачем, если страница всё равно поменяется?

Пока она меняется попап не эстетично висит :) Ну и иногда ссылка ведет всего на 1-2 комментария ниже-выше на этой же странице и тогда попап остается висеть. Это не так, но первая часть, насчет эстетики, так и есть.

Loki13 ★★★★★ ()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от b0r3d0m

https://www.linux.org.ru/forum/talks/12362517/page1?lastmod=1455781703246#comment-12365392 (комментарий)

Если перейти по этой ссылке в версии без ответов, то комментарий с красной рамкой будет сверху страницы, а если в последних версиях с ответами, то во первых при загрузке страница "прыгает", а во вторых он будет не первым, а где-то снизу. Думаю это из-за изменения размеров комментариев на размер(высоту) ответов. Как самый простой способ исправления, мне кажется, перенести ответы на строку "ответить на сообщение - Ссылка", даже патч где-то видел присылали. Хотя может и по -другому исправить можно. В жабоскрипте я не силён.

Loki13 ★★★★★ ()
Ответ на: комментарий от b0r3d0m

Вообще в lorify используется тот же самый алгоритм позиционирования превьюх, как и на дваче, так что выходить за пределы экрана в последних версиях ничего не должно

Ок, обновил и всё работает. Спасибо.

Как насчет выводить вместо id комментария (совершенно бесполезная информация, как по мне) — ­ник комментирующего, и немного уменьшить шрифт?

I60R ★★ ()
Ответ на: комментарий от I60R

Как насчет выводить вместо id комментария (совершенно бесполезная информация, как по мне) — ­ник комментирующего, и немного уменьшить шрифт?

Это будет в следующей версии.

b0r3d0m ()

Скрины бы хоть запилили как это все выглядит, ато нифига не понятно.

unt1tled ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.