Привет, 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)


  1. parpalak
    08.03.2016 18:44
    +1

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

    MathJax не сможет построить такой график:

    image

    Кстати, вот его исходник (получается, если заменить в урле /svg/… на /g/...).


    1. Keyten
      08.03.2016 18:52
      +1

      Да, к сожалению, да. MathJax выводит ошибку, но я навожу на неё мышкой, и возвращается нормальная картинка. Собственно, это моя первая реакция на подобное, никаких особенных неудобств вроде бы нет.
      В любом случае, MathJax отключается одним кликом в меню.

      И да, события ошибки в MJ я не нашёл, поэтому пришлось реализовать по mouseover.


  1. kmx
    08.03.2016 19:49

    Спасибо!


  1. Taumer
    08.03.2016 20:11
    +1

    >Как сделать кнопку, по которой устанавливалось бы самостоятельно, как, например, здесь, я, увы, не нашёл.
    Название скрипта должно быть в формате name.user.js


    1. Keyten
      08.03.2016 20:14

      И в самом деле. Спасибо! :)


  1. a553
    08.03.2016 20:25
    +2

    Habrahabr Enhancement Suite


    1. Keyten
      08.03.2016 20:30
      +1

      Если это предложение для названия, то мне нравится.


      1. denis_g
        10.03.2016 09:35

        Бегло посмотрев на ваши аватарки, можно подумать, что это один человек сам с собой разговаривает ;)


  1. ExplosiveZ
    08.03.2016 20:37
    +1

    Night mode конечно же хороший, но далёк от идеала. Если будет время — попробую сделать лучше и сделаю pull request.


    1. Keyten
      08.03.2016 21:03
      +1

      Спасибо.
      Реквесты по night mode, наверное, лучше сюда: https://github.com/WaveCutz/habrahabr.ru_night-mode, в скрипте же будет периодически обновляться (впрочем, pull request с обновлением в скрипт — тоже можно).


      1. extempl
        09.03.2016 11:56
        +2

        Как раз на счёт этого хотел написать. А что мешает динамически тянуть raw css? Хоть с хабра, хоть с юзерстилей: https://userstyles.org/styles/101604.css


        1. Keyten
          09.03.2016 13:31

          Меня, кажется, смутило тогда, что Firefox отказался тянуть css через тег link, заявив, что ему не нравится mimetype.
          К кроссдоменному же ajax я просто не привык, и даже не задумывался, что так можно.

          За pull request-ы спасибо, принял :)


    1. WaveCut
      08.03.2016 21:39
      +1

      Буду благодарен за помощь. Стиль постепенно выпадает из современной верстки хабра, но у меня регулярно нет времени исправить все эти мелочи. А по хорошему уже бы надо рефакторнуть.


  1. Amomum
    08.03.2016 21:37
    +11

    А можно фич-реквест сделать?

    Реквест
    Сделайте опцию, чтобы убрать плашки, которые всплывают при наведении на имя пользователя:

    image
    Не знаю, как у остальных, а у меня эти плашки постоянно всплывают просто от проведения мышкой в области комментов и не исчезают. Ну и бесят неимоверно, конечно.

    Если есть какой-то простой способ их отключить, поделитесь, пожалуйста!


    1. a553
      08.03.2016 21:48
      +1

      Кстати да, ужасная штука. Забагованная и надоедливая. Отключается таким фильтром:

      habrahabr.ru###webuiPopover10


      1. Amomum
        08.03.2016 21:52

        Неловко перевешивать на вас свои проблемы, но почему-то этот фильтр не помог.


        1. a553
          08.03.2016 21:55
          +1

          На habrahabr.ru проверяли? Для geektimes.ru надо добавить ещё один:

          geektimes.ru###webuiPopover10


          1. Amomum
            08.03.2016 21:59
            +1

            Как ни странно, не работает ни там, ни тут.


            1. a553
              08.03.2016 22:03
              +1

              Забавно, мне показалось, что работает. Тогда такой вариант: habrahabr.ru##.webui-popover


              1. Amomum
                09.03.2016 00:46

                Да, вот так работает. Спасибо большое!


          1. Keyten
            08.03.2016 22:01

            Навёл на другого юзера (WaveCut выше), а там уже Popover9.
            Есть такой вариант (в Stylish или ещё куда):
            .user-info {display: none !important}
            Но он отключает лишь внутренности плашки, а сама плашка всё также появляется, но уже в виде маленькой почти незаметной полоски.

            Amomum, конечно, обязательно добавлю эту опцию.


            1. Amomum
              08.03.2016 22:02

              Благодарю вас!


              1. Keyten
                08.03.2016 22:17

                Сделал. Пользуйтесь :)
                (нужно включить в настройках)


    1. Habetdin
      08.03.2016 21:53

      Для «отключения» достаточно удалить атрибут rel=user-popover у ссылок.


      1. Keyten
        08.03.2016 22:19

        Юзерскрипт срабатывает, по-видимому, после скриптов страницы, так что это не помогло.
        Я слегка покопался в клиент-коде хабра, видимо, юзается вот этот плагин: https://github.com/sandywalker/webui-popover, а у него есть метод destroy.
        $('*[rel=user-popover]').webuiPopover('destroy');
        — такой вариант работает.


  1. spmbt
    09.03.2016 00:13
    +5

    Отлично. В смысле того, что появились люди, желающие делать что-то своими руками и делящиеся с сообществом.

    Хотя, заставляет задуматься этот ренессанс скриптов. Года 4 назад он тоже наблюдался. Тогда автоматика сайта была сильно неуклюжей, и скрипты, как могли, её исправляли.
    Не есть ли это возрождение скриптов признаком возврата к временам, когда без доработок снова стало некомфортно?


  1. ruzhovt
    09.03.2016 10:45
    +3

    только на хабре люди могут бороться за возможность не получать контент от специальнообученных людей, которым платят за его создание деньги, и требовать показывания только "самодельного" контента от "аматоров" :)

    мне кажется это давно должно было стать звоночком для ТМ...


    1. Killan50
      09.03.2016 13:13

      Звоночек давно не первый.
      Я думаю ТМ все прекрасно понимают и пытаются решить, что сейчас важнее, аудитория или доход с рекламы.


    1. RomanPyr
      09.03.2016 21:09
      +1

      Потому что в RSS хочется получать реально новый контент, а не дежурные новости.
      Понятно, администрация хочет улучшения метрик. А я хочу, чтобы лента не дёргала меня по пустякам.


      1. spmbt
        10.03.2016 07:34
        +1

        Не будь доходов от рекламы, не гуляли бы по тучным пастбищам сим табуны редакторов, не лился бы свет злата с небес, не влекли бы лазурные сполохи племена зевак иных в эти земли благодатные.


  1. fareloz
    09.03.2016 12:15
    +1

    Мне кажется это тот самый случай, когда не грех предложить повысить карму автору.


    1. Keyten
      11.03.2016 16:50

      Спасибо :)


  1. toteKopf
    09.03.2016 12:17
    +1

    Кармы нет для голосования, а поблагодарить очень хочется. Огромное спасибо! Уже полгода мечтал своими силами сделать что-то подобное, с фильтром авторов, но руки не доходили.


  1. Karma555
    09.03.2016 20:53
    -1

    Кайф!!!!!!!!


  1. RomanPyr
    09.03.2016 21:08
    +1

    Добавьте, плз, зеркальное отображение картинки с карандашом (написание поста),
    чтобы карандаш был для праворуких, а не леворуких, как сейчас.


  1. Mayflower
    12.03.2016 15:26
    +1

    Спасибо за объединение всех начинаний в один репозиторий. От меня pull request с фильтром по хабам


    1. Keyten
      12.03.2016 23:23

      Спасибо.