Привет, Geektimes.
Можно считать этот пост своеобразным продолжением поста Натуральный Geektimes от awaik, а также моего поста на хабре с предложением юзать на страницах «натуральные» формулы в чистом TeX и подключать букмарклетом / юзерскриптом MathJax.

Постоянно появляется желание что-то изменить, как-то настроить под себя, и, как видно, я такой не один. Отсюда и идея сделать один юзерскрипт с желаемыми лично мной опциями, а затем позвать сообщество добавлять свои pull-request-ы (и пожелания в issues конечно же).
Github: https://github.com/keyten/HES.
Как установить: клик (нужен GreaseMonkey для Firefox или TamperMonkey для Chrome (и основанных на нём браузеров))..
За ответ, как сделать правильную ссылку, спасибо Taumer.
За название спасибо a553.
Фичи:
— Night Mode ( использован стиль от WaveCut ).
— Превращение картинок в «натуральные» формулы (TeX, MathJax).
— Скрытие постов от определённых авторов из списка ( редакторов Geektimes, etc ).
— Есть частичное скрытие (выглядит сильно лучше полного):

— Скрытие плашек с юзеринфо ( сделано по реквесту Amomum ):

О формулах чуть поподробнее
В августе этого года parpalak создал редактор, преобразующий Markdown + LaTeX в html + картинки. Адреса картинок имеют вид
https://tex.s2cms.ru/svg/формула_в_TeX, именно их ищет скрипт, заменяет на живой TeX, а затем подключает MathJax, который эти формулы показывает вживую.Зачем? Первое: лично мне гораздо больше нравится шрифт, используемый MathJax, он гораздо проще и приятнее читается (имхо).

Второе: можно по ним кликнуть правой кнопкой и получить чистый код в TeX.
И третье: эти формулы можно выделить, от чего лично я получаю эстетическое удовольствие.
Посмотреть можно в любом из хабрапостов maisvendoo, например, вот здесь. Изредка попадаются формулы, с которыми MathJax не справляется, на них достаточно навести мышку — юзерскрипт среагирует (на наличие тега merror) и покажет исходную картинку.
Настройки прячутся в менюшке настроек:

Для хабра, ГТ и ММ настройки отдельно (используется localStorage).
Вот, вроде, и всё. Вопросы, идеи, пожелания?
P. S. извиняюсь перед spmbt, на HabrAjax у меня аллергия.
Комментарии (37)
 - ExplosiveZ08.03.2016 20:37+1- Night mode конечно же хороший, но далёк от идеала. Если будет время — попробую сделать лучше и сделаю pull request.  - Keyten08.03.2016 21:03+1- Спасибо. 
 Реквесты по night mode, наверное, лучше сюда: https://github.com/WaveCutz/habrahabr.ru_night-mode, в скрипте же будет периодически обновляться (впрочем, pull request с обновлением в скрипт — тоже можно). - extempl09.03.2016 11:56+2- Как раз на счёт этого хотел написать. А что мешает динамически тянуть raw css? Хоть с хабра, хоть с юзерстилей: https://userstyles.org/styles/101604.css  - Keyten09.03.2016 13:31- Меня, кажется, смутило тогда, что Firefox отказался тянуть css через тег link, заявив, что ему не нравится mimetype. 
 К кроссдоменному же ajax я просто не привык, и даже не задумывался, что так можно.
 
 За pull request-ы спасибо, принял :)
 
 
  - WaveCut08.03.2016 21:39+1- Буду благодарен за помощь. Стиль постепенно выпадает из современной верстки хабра, но у меня регулярно нет времени исправить все эти мелочи. А по хорошему уже бы надо рефакторнуть. 
 
 - Amomum08.03.2016 21:37+11- А можно фич-реквест сделать? 
 
 РеквестСделайте опцию, чтобы убрать плашки, которые всплывают при наведении на имя пользователя:
 
  
 Не знаю, как у остальных, а у меня эти плашки постоянно всплывают просто от проведения мышкой в области комментов и не исчезают. Ну и бесят неимоверно, конечно.
 
 Если есть какой-то простой способ их отключить, поделитесь, пожалуйста!
  - a55308.03.2016 21:48+1- Кстати да, ужасная штука. Забагованная и надоедливая. Отключается таким фильтром: 
 
 - habrahabr.ru###webuiPopover10 - Amomum08.03.2016 21:52- Неловко перевешивать на вас свои проблемы, но почему-то этот фильтр не помог.  - a55308.03.2016 21:55+1- На habrahabr.ru проверяли? Для geektimes.ru надо добавить ещё один: 
 
 - geektimes.ru###webuiPopover10 - Keyten08.03.2016 22:01- Навёл на другого юзера (WaveCut выше), а там уже Popover9. 
 Есть такой вариант (в Stylish или ещё куда):
 .user-info {display: none !important}
 Но он отключает лишь внутренности плашки, а сама плашка всё также появляется, но уже в виде маленькой почти незаметной полоски.
 
 Amomum, конечно, обязательно добавлю эту опцию.
 
 
 
  - Habetdin08.03.2016 21:53- Для «отключения» достаточно удалить атрибут rel=user-popover у ссылок.  - Keyten08.03.2016 22:19- Юзерскрипт срабатывает, по-видимому, после скриптов страницы, так что это не помогло. 
 Я слегка покопался в клиент-коде хабра, видимо, юзается вот этот плагин: https://github.com/sandywalker/webui-popover, а у него есть метод destroy.
 $('*[rel=user-popover]').webuiPopover('destroy');
 — такой вариант работает.
 
  - spmbt09.03.2016 00:13+5- Отлично. В смысле того, что появились люди, желающие делать что-то своими руками и делящиеся с сообществом. 
 
 Хотя, заставляет задуматься этот ренессанс скриптов. Года 4 назад он тоже наблюдался. Тогда автоматика сайта была сильно неуклюжей, и скрипты, как могли, её исправляли.
 Не есть ли это возрождение скриптов признаком возврата к временам, когда без доработок снова стало некомфортно?
  - ruzhovt09.03.2016 10:45+3- только на хабре люди могут бороться за возможность не получать контент от специальнообученных людей, которым платят за его создание деньги, и требовать показывания только "самодельного" контента от "аматоров" :) 
 
 мне кажется это давно должно было стать звоночком для ТМ... - Killan5009.03.2016 13:13- Звоночек давно не первый. 
 Я думаю ТМ все прекрасно понимают и пытаются решить, что сейчас важнее, аудитория или доход с рекламы.
  - RomanPyr09.03.2016 21:09+1- Потому что в RSS хочется получать реально новый контент, а не дежурные новости. 
 Понятно, администрация хочет улучшения метрик. А я хочу, чтобы лента не дёргала меня по пустякам. - spmbt10.03.2016 07:34+1- Не будь доходов от рекламы, не гуляли бы по тучным пастбищам сим табуны редакторов, не лился бы свет злата с небес, не влекли бы лазурные сполохи племена зевак иных в эти земли благодатные. 
 
 
 
 - toteKopf09.03.2016 12:17+1- Кармы нет для голосования, а поблагодарить очень хочется. Огромное спасибо! Уже полгода мечтал своими силами сделать что-то подобное, с фильтром авторов, но руки не доходили. 
  - RomanPyr09.03.2016 21:08+1- Добавьте, плз, зеркальное отображение картинки с карандашом (написание поста), 
 чтобы карандаш был для праворуких, а не леворуких, как сейчас.
 
 
           
 



parpalak
Вы правы: формулы на MathJax выглядят лучше SVG за счет субпиксельного сглаживания. Но это не имеет значения на экранах с высокой плотностью пикселей (ретина), а за ретиной будущее. Я вот уже почти два года смотрю на экран с ретиной и не могу нарадоваться.
%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.