Навигация для m.joyreactor
Лирическое отступление
Началась эта история одним тёплым сентябрським деньком. За окном пели пичужки, плакали девы, и ёбтвоюматькались алкоголики, коотрым не хватило на опохмел. Пахло осенью и переходом на новый движок.
Я в очередной раз написал что "а неплохо бы иметь навигацию на кнопках", как на основном сайте. Так-то я не окончательный ретроград, и в новом реакторе мне из крупного не хватало навигации одной рукой (гусары, молчать!), да нормального редактора. От редакторов у меня вьетнамские флешбеки, и не полезу я на эту страсть, а вот добавить навигацию — дел на пару часов.
Вооружившись даденым нам свыше
я расчехлил редактор, и спустя два программистских часа™ собрал расширение.
Мякотка
- работает в Файрфоксе и Хроме. И, по идее, в любом другом браузере с поддержкой плагинов или юзерскриптов.
- на https://m.joyreactor.cc обеспечивает навигацию с помощью клавиатуры "идентичную натуральной". Я позволил себе определённые вольности, а именно:
w/s — Назад/вперед по содержимому (по одному изображению/видео из поста). Автоматически разворачивает кат.
a/d - Назад/вперед по постам (как w/s на основном сайте)
c - следующая страница
e - переключение комментариев
Навигация назад начинается не с конца страницы, а с ближайшего поста вверх. И при достижении первого поста, не переходит на предыдущую страницу.
Адреса, пароли, явки
Не я один живу по программистскому времени. Файрфокс зарегистрировал расширение бесплатно, и одобрил 5 версий. Хром сожрал 5 вечнозелёных за регистрацию, и всё ещё не сподобился одобрить, поэтому пока zip.
Firefox: https://addons.mozilla.org/en-US/firefox/addon/joyreactor-ux/
Chrome (zip): https://github.com/lifecoderua/reactor-ux-plugin/releases/tag/0.1.5
Сорсы: https://github.com/lifecoderua/reactor-ux-plugin
Закреп для расширения Chrome
https://chromewebstore.google.com/detail/joyreactor-ux
https://chromewebstore.google.com/detail/joyreactor-ux/mpjdekkbfnomfkbeffenlmpbgoicokon
TLDR: "Я художник, я так вижу".
Если длинно, то это кажется более естественным. На основном сайте нет возможности переходить по картинкам, только по постам. В итоге, у меня это обычно выглядит как
s-заметил кат-q-пробел-пробел-пробел-s
Три разных символа на одно логическое действие "посмотреть дальше". На самом деле больше, потому что пробел/PgDn часто вылетает за верхний край картинки, и надо отмотать назад, чтобы увидеть её целиком.
Чтобы стало ещё интереснее, когда начал скроллить пробелом, я регулярно продолжаю им скроллить по постам, пока не упрусь в очередной кат, и тут оказывается что курсор навигации по `s` остался несколькими постами ранее.
На m.joyreactor к этому добавляется то, что элементы не сбрасывают фокус: нажатие на Избранное, Комментарии, и т.п. ловит фокус, и пробел вместо прокрутки отрабатывает как щелчок.
a/d на оригинальном сайте - рейтинг. Я его не так часто ставлю, чтобы держать на горячих клавишах. Зато достаточно раз ставил его промахнувшись там, где не планировал - еще один аргумент в копилку, особенно с тем что на основном интерфейсе нельзя полностью отменить голос, лишь переключить между лайком/дизлайком. А на новом голос в принципе нельзя редактировать, что поставил - то поставил.
Всё это не смертельно, но раздражает достаточно сильно, чтобы остановиться на "одной кнопке для всего", и чтобы само кат раскрывало. Если не понравилось под катом — a/d переходят на другой пост сразу.
нехрена не работает
Build
Install dependencies
$ npm ci
Build the dist code
$ npm run build
Plugin Install
In Firefox visit about:debugging > This Firefox > Load Temporary Add-on > select any file in the folder, e.g. manifest.json
Once installed, the addon could be updated with "Reload Add-on" under the addon entry on the same page.
А у тебя выглядит так, будто бы ты файл двойным щелчком запускаешь.
так и есть, у меня такую же ошибку выдало.
- установить пакетный менеджер npm (просто загуглите npm Install)
-открыть командную строку от имени администратора
- перейти в папку, где лежит этот файл
-запустить "npm ci"
-подождать и когда завершится запустить "npm run build"
-после установить плагин как написано выше.
Ответил ниже, это "лишний" файл из сорсов, вам нужен другой из папки dist/.
Если не заработает — скажите что именно вы делаете, по скриншоту Адрэналина это не установка расширения. Если заработает — тоже скажите, я расширения делал давно и неправда, положительный фидбек тоже полезен.
Спасибо.
https://chromewebstore.google.com/detail/joyreactor-ux
https://chromewebstore.google.com/detail/joyreactor-ux/mpjdekkbfnomfkbeffenlmpbgoicokon
Спасибо, забыл вычистить этот файл из сборки, поправлю. Он не сломает работу, но с толку может сбить.
А что именно вы делаете?
Если устанавливаете в Chrome, то надо зайти в Расширения (chrome://extensions/) и там сверху "Загрузить распакованное". В этом режиме Хром быдет выбирать папку целиком.
Если как юзерскрипт, то вам нужно на папку ниже, в dist/reactor-ux.es.js
На стандартной раскладке браузера, Cmd+<-. По правде, никогда не пользовался "z", но добавить недолго. Если он вам нужен — включу в ближайших сборках.
Не пользусь - не добавлял.
В целом добавить не проблема. Я хотел бы оставить a/d для навигации по постам, открыт к предложениям по кнопкам (j/k из вима? y/n как yes/no + сложнее нажать не ту кнопу?).
Если будет спрос на старую навигацию, или кастомизируемую раскладку - посмотрю что можно сделать за разумное время. Пока для меня не очевидно скольким людям это вообще нужно, по счётчику Мозиллы у расширения полтора пользователя.
Положил на полочку с другими шорткатами, https://github.com/lifecoderua/reactor-ux-plugin/issues/2 , предложения приветствуются.
P.s. Спасибо за расширение! Это то, чего мне на m.реакторе не хватало.
Отучить реактор зажёвывать пробел - уже в планах.
Запускать плеер — посмотрю что можно сделать, спасибо.
Причём алгоритм зачастую такой:
Скрыто пять постов — раскрыть? Клик мышкой на раскрыть. Из этих пяти четыре или пять тех, которые, исходя из тегов, смотреть не собираюсь, но иногда встречается комбинация тегов, которую глянул бы. Так что перейти на этот один пост и показать его.
Исходя из этого, надо, чтобы S\D переходила на секцию скрытых постов и раскрывала эту секцию, чтобы не проскочить на следующую страницу по инерции. Дальше по свёрнутым постам навигация идёт как обычно, только что проверил. Но разворачивать их всё равно приходится мышкой.
Нажатие на S перелистнёт страницу. Надо мышкой кликать.
Эти посты смотреть не буду, но если бы к котэ был тег неожиданно или, скажем, nsfw, то развернул бы и глянул.
В целом можно, добавил в список хотелок. Единственное, там логических идентификаторов нет от слова совсем. Я нашёл куда зацепиться, но оно может отвалиться с любым обновлением дизайна.