Привет, Geektimes.
Можно считать этот пост своеобразным продолжением поста Натуральный Geektimes от awaik, а также моего поста на хабре с предложением юзать на страницах «натуральные» формулы в чистом TeX и подключать букмарклетом / юзерскриптом MathJax.
![](https://habrastorage.org/getpro/geektimes/post_images/8df/3a5/551/8df3a55512cc12a6038cfe8545ee7310.png)
Постоянно появляется желание что-то изменить, как-то настроить под себя, и, как видно, я такой не один. Отсюда и идея сделать один юзерскрипт с желаемыми лично мной опциями, а затем позвать сообщество добавлять свои pull-request-ы (и пожелания в issues конечно же).
Github: https://github.com/keyten/HES.
Как установить: клик (нужен GreaseMonkey для Firefox или TamperMonkey для Chrome (и основанных на нём браузеров))..
За ответ, как сделать правильную ссылку, спасибо Taumer.
За название спасибо a553.
Фичи:
— Night Mode ( использован стиль от WaveCut ).
— Превращение картинок в «натуральные» формулы (TeX, MathJax).
— Скрытие постов от определённых авторов из списка ( редакторов Geektimes, etc ).
— Есть частичное скрытие (выглядит сильно лучше полного):
![](https://habrastorage.org/getpro/geektimes/post_images/3e6/da9/383/3e6da938314cfb70e09bfcc211d4609b.png)
— Скрытие плашек с юзеринфо ( сделано по реквесту Amomum ):
![](https://habrastorage.org/getpro/geektimes/comment_images/620/d46/917/620d469179062aa47009279bf6a45730.png)
О формулах чуть поподробнее
В августе этого года parpalak создал редактор, преобразующий Markdown + LaTeX в html + картинки. Адреса картинок имеют вид
https://tex.s2cms.ru/svg/формула_в_TeX
, именно их ищет скрипт, заменяет на живой TeX, а затем подключает MathJax, который эти формулы показывает вживую.Зачем? Первое: лично мне гораздо больше нравится шрифт, используемый MathJax, он гораздо проще и приятнее читается (имхо).
![](https://habrastorage.org/getpro/geektimes/post_images/cd7/867/63f/cd786763f9e0168f91c00275ea987444.png)
Второе: можно по ним кликнуть правой кнопкой и получить чистый код в TeX.
И третье: эти формулы можно выделить, от чего лично я получаю эстетическое удовольствие.
Посмотреть можно в любом из хабрапостов maisvendoo, например, вот здесь. Изредка попадаются формулы, с которыми MathJax не справляется, на них достаточно навести мышку — юзерскрипт среагирует (на наличие тега merror) и покажет исходную картинку.
Настройки прячутся в менюшке настроек:
![](https://habrastorage.org/getpro/geektimes/post_images/aa2/bc3/4d7/aa2bc34d7935fb081521f970fc2bbd83.png)
Для хабра, ГТ и ММ настройки отдельно (используется localStorage).
Вот, вроде, и всё. Вопросы, идеи, пожелания?
P. S. извиняюсь перед spmbt, на HabrAjax у меня аллергия.
Комментарии (37)
ExplosiveZ
08.03.2016 20:37+1Night mode конечно же хороший, но далёк от идеала. Если будет время — попробую сделать лучше и сделаю pull request.
Keyten
08.03.2016 21:03+1Спасибо.
Реквесты по night mode, наверное, лучше сюда: https://github.com/WaveCutz/habrahabr.ru_night-mode, в скрипте же будет периодически обновляться (впрочем, pull request с обновлением в скрипт — тоже можно).extempl
09.03.2016 11:56+2Как раз на счёт этого хотел написать. А что мешает динамически тянуть raw css? Хоть с хабра, хоть с юзерстилей: https://userstyles.org/styles/101604.css
Keyten
09.03.2016 13:31Меня, кажется, смутило тогда, что Firefox отказался тянуть css через тег link, заявив, что ему не нравится mimetype.
К кроссдоменному же ajax я просто не привык, и даже не задумывался, что так можно.
За pull request-ы спасибо, принял :)
WaveCut
08.03.2016 21:39+1Буду благодарен за помощь. Стиль постепенно выпадает из современной верстки хабра, но у меня регулярно нет времени исправить все эти мелочи. А по хорошему уже бы надо рефакторнуть.
Amomum
08.03.2016 21:37+11А можно фич-реквест сделать?
РеквестСделайте опцию, чтобы убрать плашки, которые всплывают при наведении на имя пользователя:
Не знаю, как у остальных, а у меня эти плашки постоянно всплывают просто от проведения мышкой в области комментов и не исчезают. Ну и бесят неимоверно, конечно.
Если есть какой-то простой способ их отключить, поделитесь, пожалуйста!
a553
08.03.2016 21:48+1Кстати да, ужасная штука. Забагованная и надоедливая. Отключается таким фильтром:
habrahabr.ru###webuiPopover10
Amomum
08.03.2016 21:52Неловко перевешивать на вас свои проблемы, но почему-то этот фильтр не помог.
a553
08.03.2016 21:55+1На habrahabr.ru проверяли? Для geektimes.ru надо добавить ещё один:
geektimes.ru###webuiPopover10
Keyten
08.03.2016 22:01Навёл на другого юзера (WaveCut выше), а там уже Popover9.
Есть такой вариант (в Stylish или ещё куда):
.user-info {display: none !important}
Но он отключает лишь внутренности плашки, а сама плашка всё также появляется, но уже в виде маленькой почти незаметной полоски.
Amomum, конечно, обязательно добавлю эту опцию.
Habetdin
08.03.2016 21:53Для «отключения» достаточно удалить атрибут rel=user-popover у ссылок.
Keyten
08.03.2016 22:19Юзерскрипт срабатывает, по-видимому, после скриптов страницы, так что это не помогло.
Я слегка покопался в клиент-коде хабра, видимо, юзается вот этот плагин: https://github.com/sandywalker/webui-popover, а у него есть метод destroy.
$('*[rel=user-popover]').webuiPopover('destroy');
— такой вариант работает.
spmbt
09.03.2016 00:13+5Отлично. В смысле того, что появились люди, желающие делать что-то своими руками и делящиеся с сообществом.
Хотя, заставляет задуматься этот ренессанс скриптов. Года 4 назад он тоже наблюдался. Тогда автоматика сайта была сильно неуклюжей, и скрипты, как могли, её исправляли.
Не есть ли это возрождение скриптов признаком возврата к временам, когда без доработок снова стало некомфортно?
ruzhovt
09.03.2016 10:45+3только на хабре люди могут бороться за возможность не получать контент от специальнообученных людей, которым платят за его создание деньги, и требовать показывания только "самодельного" контента от "аматоров" :)
мне кажется это давно должно было стать звоночком для ТМ...Killan50
09.03.2016 13:13Звоночек давно не первый.
Я думаю ТМ все прекрасно понимают и пытаются решить, что сейчас важнее, аудитория или доход с рекламы.
RomanPyr
09.03.2016 21:09+1Потому что в RSS хочется получать реально новый контент, а не дежурные новости.
Понятно, администрация хочет улучшения метрик. А я хочу, чтобы лента не дёргала меня по пустякам.spmbt
10.03.2016 07:34+1Не будь доходов от рекламы, не гуляли бы по тучным пастбищам сим табуны редакторов, не лился бы свет злата с небес, не влекли бы лазурные сполохи племена зевак иных в эти земли благодатные.
toteKopf
09.03.2016 12:17+1Кармы нет для голосования, а поблагодарить очень хочется. Огромное спасибо! Уже полгода мечтал своими силами сделать что-то подобное, с фильтром авторов, но руки не доходили.
RomanPyr
09.03.2016 21:08+1Добавьте, плз, зеркальное отображение картинки с карандашом (написание поста),
чтобы карандаш был для праворуких, а не леворуких, как сейчас.
parpalak
Вы правы: формулы на MathJax выглядят лучше SVG за счет субпиксельного сглаживания. Но это не имеет значения на экранах с высокой плотностью пикселей (ретина), а за ретиной будущее. Я вот уже почти два года смотрю на экран с ретиной и не могу нарадоваться.
![image](https://tex.s2cms.ru/svg/%5Cbegin%7Btikzpicture%7D%0A%5Cdef%5Ct%7B0%7D%0A%5Cdef%5Cr%7B3.1415%7D%0A%5Cbegin%7Baxis%7D%5B%0A%20%20%20%20ticks%3Dnone%2C%0A%20%20%20%20xmin%3D-1%2C%20xmax%3D4.5%2C%0A%20%20%20%20axis%20y%20line%3Dleft%2Caxis%20x%20line%3Dbottom%2C%0A%20%20%20%20xlabel%3D%24t%24%2Cylabel%3D%24x%24%2C%20%0Aevery%20axis%20x%20label%2F.style%3D%7Bat%3D%7B(current%20axis.south%20east)%7D%2Canchor%3Dsouth%7D%2C%0Aevery%20axis%20y%20label%2F.style%3D%7Bat%3D%7B(current%20axis.north%20west)%7D%2Canchor%3Dwest%7D%2C%0Aenlargelimits%3Dtrue%0A%20%20%20%20%5D%0A%20%20%20%20%5Caddplot%5Bsmooth%2Cblue%2Cmark%3Dnone%2C%0A%20%20%20%20%20%20%20%20%20domain%3D%5Ct%3A%5Cr%2Csamples%3D80%5D%20%0A%20%20%20%20%20%20%20%20%7B1-cos(deg(x))%7D%3B%0A%20%20%20%20%5Caddplot%5Bdashed%2Cmark%3Dnone%2C%0A%20%20%20%20%20%20%20%20%20domain%3D%5Ct%3A%5Ct%2B1%2Csamples%3D80%5D%20%0A%20%20%20%20%20%20%20%20%7B1-cos(deg(%5Ct))%7D%3B%0A%20%20%20%20%5Caddplot%5Bdashed%2Cmark%3Dnone%2C%0A%20%20%20%20%20%20%20%20%20domain%3D%5Cr-1%3A%5Cr%2Csamples%3D80%5D%20%0A%20%20%20%20%20%20%20%20%7B1-cos(deg(%5Cr))%7D%3B%0A%5Caddplot%5Bmark%3D*%2Cmark%20size%3D1%5D%20coordinates%20%7B(%5Ct%2C0)%7D%20node%5Bpin%3D95%3A%7B%24(t_1%2Cx_1)%24%7D%5D%7B%7D%20%3B%0A%5Caddplot%5Bmark%3D*%2Cmark%20size%3D1%5D%20coordinates%20%7B(%5Cr%2C2)%7D%20node%5Bpin%3D-85%3A%7B%24(t_2%2Cx_2)%24%7D%5D%7B%7D%20%3B%0A%5Cend%7Baxis%7D%0A%5Cend%7Btikzpicture%7D)
MathJax не сможет построить такой график:
Кстати, вот его исходник (получается, если заменить в урле /svg/… на /g/...).
Keyten
Да, к сожалению, да. MathJax выводит ошибку, но я навожу на неё мышкой, и возвращается нормальная картинка. Собственно, это моя первая реакция на подобное, никаких особенных неудобств вроде бы нет.
В любом случае, MathJax отключается одним кликом в меню.
И да, события ошибки в MJ я не нашёл, поэтому пришлось реализовать по mouseover.