Помнится, у нас есть люди, которые любят все посты и комменты проверять с помощью пинкивизора. Так вот, теперь им это станет делать ещё легче, потому что я тут за ночь накодил соответствующий юзерскрипт! =)
первый юзерскрипт в моей жизни, азазазаз.
Чтобы его поставить, нужно прежде установить Greasemonkey (или, возможно, Tampermonkey), после чего ткнуть по ссылке:
Скрипт тута!
Разумеется, есть
репа на гитхабе, туда можно кидать issue и пулл-реквесты.
После установки скрипта на каждой новой открытой вкладке с табуном в шапке постов, подписях комментариев, а также на страничках блогов и профилей юзеров появится голова Пинки, если на неё ткнуть — то можно увидеть статистику поста/коммента/блога/профиля.
Окошко закрывается кликом где-нибудь мимо окошка. Сразу можно открыть несколько окон (т.е. пока не закроешь его — окно будет маячить на странице). Кликом мимо окон закрываются все открытые окна.
Окошки можно таскать по экрану за заголовок и изменять размер за нижний правый уголок. Размер (но не положение, очевидно) сохраняется.
Если у кого есть какие-то вопросы/рекомендации/сообщения о том, что что-то где-то не работает — милости просим, я постараюсь со всем разобраться (но не обещаю).
Это было сложно (когда я его делал, я думал, что у пинкивизора нет API, а также нет отдельных URL для получения прямой статистики поста/коммента, поэтому мне пришлось конструировать iframe с ответом ручками и в процессе встречать кучу разных непоняток типа глюков из-за символа "#"), но я всё же сделяль эту штуку и она вроде работает.
Проверялось на Firefox 73.0.1 (Windows 7) и Greasemonkey 4.9, а также Firefox 84.0 (Windows 7) и Greasemonkey 4.10. Не знаю, работает ли на других браузерах — не проверял, надеюсь на здесь присутствующих =) Ожидаю, что много у кого что-то не будет работать (или будет работать не так), да. Будем фиксить.
Если кого-то не устраивает этот юзерскрипт, как оказалось, есть другой — официальный юзерскрипт для пинкивизора от
zluka .
Скачивается тута (нужно просто кликнуть по ссылке и Greasemonkey установит скрипт). Найти его было сложно — в бэкапе Табуна не было постов, посвящённых ему (или я их не нашёл). Так что спасибо
Morano за ссылку. =)
UPD: обновлён до версии 0.0.8. Все желающие могут обновить скрипт, зайтя в меню Greasemonkey — Pinkievisor Query — User script options — Update now (а ссылка в посте также всегда ведёт на актуальную версию).
Список исправлений (версия 0.0.3):
1)
Результаты иногда улезают под правую панельку и под хвостик с кнопкой обновления треда — пофикшено.
2)
В комментах можно мискликнуть на стрелочку вместо цифры — впилил Пинки в левую половину подписи коммента, теперь надо кликать на неё
3)
Закрывать окошко по клику вне области окна, а не на кнопке закрытия — сделано.
4)
Комменты, полученные кнопкой обновления треда, не получают возможности чекнуть голосования за них — сделано
(хотя, похоже, ещё пока работают через раз, буду продолжать разбираться) А, всё, понял, в чём была проблема, «окей, моя ошибка, я дурной», написал при анализе дерева комментов в subtree false вместо true. =)
5)
Приделать тултипы к значку Пинки — сделано.
6)
Хорошо бы запилить возможность менять размер окошка и перетаскивать его — сделано. Таскать можно за заголовок, изменять размер — за уголок снизу справа. Изменённый размер сохраняется!
7)
Переползти с XHR на fetch — сделано.
Список исправлений (версия 0.0.4):
8)
Доделать проверку статистики блогов и пользователей (а не только комментов и постов) — сделано.
9)
Если на странице несколько постов (блог, лента, новые и т.п.), то статистика доступна только для первого из них — поправлено.
10)
Обрабатывать ошибки fetch, а не висеть с Пинки, бесконечно идущей в никуда =) — сделано.
11)
Сделать костыль для CORS статистики блогов и пользователей — сделано. Пинкивизор отдаёт Access-Control-Allow-Origin для запросов по постам и комментам, но почему-то не делает это для запросов по пользователям и блогам. Заюзал CORS-прокси для этого, но вообще, по-хорошему, нужно попросить админа пинкивизора починить это.
Список исправлений (версия 0.0.5):
12)
CORS-хак больше не нужен, поскольку пинкивизор починен! — хак выпилен. Спасибо
Morano ! =)
13)
MutationObserver не находит ничего для слежения на страницах пользователя и блога — пофикшено.
Список исправлений (версия 0.0.7):
14)
При выводе служебной инфы тёмный текст на цветастом фоне — теперь лепим всё в белый div, даже бегущую Пинки.
15)
Пофиксить стили (строки наползают друг на друга) — теперь внутренности окошка похожи на нормальный пинкивизор.
16)
Баги с преобразованием ссылок: ссылки в теге «a», ссылки, начинающиеся с "//" — пофикшено.
Список исправлений (версия 0.0.8):
17)
Ошибка со stattype в Tampermonkey — поправлено.
Список исправлений (версия 0.0.10):
18)
Обойти ошибку Chrome, приводящую к белому окну (пока его не подвинешь) в Chrome — поправлено.
Список исправлений (версия 0.0.11):
19)
Исправить показ табуна вместо пинкивизора в некоторых случаях нажатия рядом с Пинки — поправлено.
То, что будет исправлено в следующих версиях:
— Заменить картинку Пинки на что-то менее цветастое, и в подписи коммента переместить её к стрелочкам «предыдущий/последующий коммент».
— Открывать окошко ховером, а не кликом: влепить галочку в футер Табуна (там, где «Версия Табуна: v1.3.3 Сообщить об ошибке»), и если она включена, то открывать окошко через миллисекунд 200 после наведения мышки на Пинки, а в случае увода мышки с открытого окна через миллисекунд 500 убирать его.
— Вернуть обратно крестик закрытия окна (?)
— Добавить иконку, а то уныло как-то, не по-Пинковски (директива @icon)
— В заголовке поста помещать иконку Пинки не около красной стрелки, а около названия блога