External Publication
Visit Post

Пост №6318615

JoyReactor - смешные картинки и другие приколы: комиксы, гиф ан… May 23, 2026
Source

Автор: neliut

Релиз расширения для подсветки тегов

Уря! Наконец-то релиз!

На данный момент вот так выглядят большинство встроенных дефолтных окрасок:

Если вам бля не нравится вычурность окраски этих тегов, горе хейтеры хулители 500iq диванные эксперты по эпилепсии, ну так просто возьмите и удалите их себе в редакторе правил, оставив только моно-цвета; или перекрасьте их себе так, чтобы они стали красивыми для вас по вашим меркам/критериям. Ибо самостоятельная кастомизация под себя как раз таки и является обязательным намеренным дизайном; а встроенные дефолтные окраски -- приятный бонус, мемасы, демонстрация возможностей , и использование в качестве примеров для реверса.

Инструкция по установке:

  1. https://chromewebstore.google.com/detail/jrthl

  2. Всё

С самого начала я хотел опубликовать это как своё первое расширение на Chrome Web Store, но… неожиданно столкнулся с непреодолимым препятствием -- разовый регистрационный взнос аккаунта разработчика размером в 5 USD. Я конечно же, подахерел от такой неожиданности. Мало того, что я бичпак-бомж, гроши считаю, так там ещё и сракции политические; из-за чего мне пришлось чесать репу, где найти зарубежную карту для оплаты.

Но к счастью мне повезло… Я поскребал по сусекам, выудил из заначек последние гроши, собрал жалкую дань с самого себя, сделал сальто назад, оплатил этот несчастный взнос, и в итоге обанкротился. Мне теперь даже на дошик не хватает! …Но зато теперь могу публиковать расширения на CWS, и это хорошо.

Я назвал своё расширение JoyReactor tag highlighter, или коротко jrthl.crx

Мотивация создания и философия

Транзитивность с подсветки синтаксиса.

Как пользоваться этим дерьмом?

Простой сценарий использования:

Вас уже устраивает дефолтный пресет -- всё огонь, ничего предпринимать не нужно. Оно работает сразу "из коробки" за ноль кликов.

Продвинутый сценарий использования:

О-хо-хо, это самая интересная и сложная часть…

Поскольку у меня не только нет желания делать расширение для глупых юзеров, но и нет для этого навыков (мне с разработкой помогала нейросеть), то я реализовал всё в прямом и минималистичном виде, обрабатывая только сырую информацию для работы кастомизации.

Для реализации нужды внесения своих личных изменений в текущие правила, или полное создание новых с нуля -- потребуется хорошо владеть Regular Expression и умеренно владеть Cascading Style Sheets. Используйте RegEx для триггер-фильтрации на теги по предоставляемому расширению контексту и окрашивайте их указанием css атрибутов. Обратите внимание, что селекторы вообще не нужны; их своеобразную роль играют regex. Так же обратите внимание, что RegEx'ом нужно владеть именно что "хорошо"; как максимум потому, что нет защиты от ReDos, и как минимум потому, что напрягать мозги по фильтрации и дизайну контекста вам всё равно придётся.

Спецификация Domain-Specific Language

DSL в этом расширении настолько примитивен, что DSL в нём распознаётся с натяжкой; и настолько прост, что описать его можно в одном предложении: Все строки обрезаются до первого символа комментария и разбиваются на пары, в которой каждая 0-parity -- regex, а 1-parity -- css. Всё. После чего они сразу пускаются в работу как есть.

Мнемоники технических контекстных данных

"eg" -- "версия" движка [0-2]

"ht" -- тема оформления [0-1]

"ly" -- макет элемента:

​ ​ ​ ​ "f" -- передник (текст)

​ ​ ​ ​ "b" -- подложка (капсула)​

​ ​ ​ ​ "fb" -- едино (просто текст)]

О реализации

В связи с крайней простотой расширения, нет валидации синтаксиса RegEx и CSS -- ошибки будут обнаруживаться только по факту неработоспособности правил.

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

Afterword

Эй, среди читателей есть кто шарит за мета css? Хотите заценить моё гениальное решение? Для обеспечения анимации я ту же самую строку без изменений сую как .cssText += и как глобальный <style>, и оно нахрен работает! Благодаря игнорированию каждым не-своей части, гениально! И тем самым DSL смог остаться регулярно-простым без взрывного усложнения парсера.

P.s. Среди тех, кому очень понравилось это расширение, можете пожалуйста подарить мне боярский аккаунт в качестве благодарности? Ну позязя. Ну позязя… Нет, я не прихуел. Если у меня вдруг появится боярский аккаунт, то это будет отличной демонстрацией для хейтеров, что моя подсветка тегов понравилась кому-то аш вот на столько!

P.s. Git-репы нет; issue сюда, в лс, на почту, или хрен знает.

Развернуть

Комментировать

Discussion in the ATmosphere

Loading comments...