Pull to refresh

Навигация между лучшими комментариями

Reading time2 min
Views823
Я хотел бы представить вам небольшое решение для оптимизации чтения Хабрахабра.

Всем (особенно пользователям маломощных ноутбуков) знакома проблема с холиварными популярными статьями на хабре, которые получают сотни комментов и жутко тормозят. Кроме тормозов возникает еще и проблема выделения полезной информации. Мое предыдущее решение, от которого я уже отказался, было основано на автоматическом свертывании комментариев длиной меньше определенного количества символов.

Но ведь у комментов есть оценки! Почему бы не воспользоваться ими как мерой «информационной ценности» комментария? После прочтения статьи о hjkl навигации у меня появилась идея клавиатурной навигации на Хабре, но не между всеми комментариями, а только теми которые были оценены выше определенного порога. Например, нажимая j, перемещаемся к следующему комментарию который получил больше 10.
Во время программирования я вспомнил очередную, часто здесь упоминаемую, информацию, а именно принцип Парето, согласно которому, 20% комментариев будут нести 80% информационной нагрузки. И добавил возможность «умной» навигации, когда перемещение происходит между 20% самых высокооцененных комментариев.

Реализовал я это как UserScript в Greasemonkey. К сожалению не все удалось как планировалось, проблема в том, что на Хабрахабре уже есть клавиатурная навигация! (Вы не знали об этом? И я не знал, пока не заглянул в postsHandler.js). А именно: j — вперед, k — назад, h — в начало страницы.
Соответственно, добавить свой обработчик нажатий клавиатуры я смог, а вот отключить срабатывание хабровского дефолта у меня не получилось. Если я все правильно понял, то e.stopPropagation () не работает, потому что оригинальный обработчик находится выше в цепочке вызовов listener’ов. Поэтому я повесил навигацию на клавиши n и m (и на случай русской раскладки, на т и ь). Если вы знаете как отключить дефолтный обработчик, напишите пожалуйста.

Для конфигурации придется немного править исходник скрипта. Менять можно порог ценности комментариев, переключаться между навигацией ручным методом и 20% лучших комментов. И последняя опция, это как прыгать между комментами — в порядке их появления в тексте или по уменьшению оценки.

Скачать Userscript

UPD1: С помощью SowingSadness скрипт теперь работает в Опере и Хроме. Завернул все в замыкание, теперь скрипт не будет мусорить в глобальном пространстве Оперы (спасибо bolk за наводку)
Tags:
Hubs:
+21
Comments43

Articles