Фундаментальное огораживание

Aug 22, 2022 10:21


Фундаментальное огораживание для ЖЖ в правилах uBlock Origin.

Игнор-список представлен в виде регулярного выражения /никнейм1|никнейм2|никнейм3/ и т.д. Крышечка (^) означает начало строки, выражение (\b) - конец строки. Более сложные примеры ищите в описании регулярных выражений, но вряд ли они вам понадобятся.

livejournal.com##:is(.p-comment, .comment-wrap):has-text(/моей карты:|помогите финансово|Прошу о помощи|Сними намордник|барановирус|Включайте же головы/) :is(.b-leaf-article, .b-leaf-userpic, .b-leaf-subject, .b-leaf-meta, .b-leaf-controls, .b-leaf-actions, .comment-metadata, .comment-controls, .comment-text, .comment-menu, .comment-upic, .comment-head-in > h3):remove()

livejournal.com##:is(.b-leaf-subject-link, .comment-head-in > h3, .comment-wrap.partial > [href*="thread"]):has-text(/Re: |без темы/):upward(1) > :is(.b-leaf-subject-link, .comment-head-in > h3, .emdash, .comment-wrap.partial > [href*="thread"]):remove()

livejournal.com##:is(.b-leaf-username, .comment-poster-info, .partial.comment-wrap > .i-ljuser-type-P, .recent-comments__user > .i-ljuser-type-P, .contextualhover__name):has-text(/doitjust|^[a-z]{6}\d{2}\b|heyhophey|dronelab|5529\b|soba4niza|Alex Tkachenko|rom1se|ostro_vitjanka|^fair|top_lap|upsagain|ne_genii|tanafi|derik_536|turayy|holiera_ham|anivalmol|zaukrainubez|список|мудаков/):upward(:is(.b-leaf-full, .b-leaf-collapsed, .comment-wrap, .comment-wrap.partial, .contextualhover, .recent-comments__item)) :is(.b-leaf-controls, .b-leaf-article, .b-leaf-userpic, .b-leaf-subject, .b-leaf-meta, .b-leaf-actions, .comment-metadata, .comment-controls, .comment-text, .comment-menu, .comment-upic, .comment-head-in > h3, .contextualhover__userpic, [href*="thread"], .emdash, .recent-comments__meta, .recent-comments__subject, .recent-comments__text):remove()

livejournal.com##:is(.b-leaf-username, .comment-poster-info, .recent-comments__user > .i-ljuser-type-P, [id^="ljcmt"] .i-ljuser-username, .contextualhover__header) :is([href*="5310070"],[href*="6259133"],[href*="6262297"],[href*="2372572"]):upward(:is(.b-leaf-full, .b-leaf-collapsed, .comment-wrap, .comment-wrap.partial, .contextualhover, .recent-comments__item)) :is(.b-leaf-controls, .b-leaf-article, .b-leaf-userpic, .b-leaf-subject, .b-leaf-meta, .b-leaf-actions, .comment-metadata, .comment-controls, .comment-text, .comment-menu, .comment-upic, .comment-head-in > h3, .contextualhover__userpic, [href*="thread"], .emdash, .recent-comments__meta, .recent-comments__subject, .recent-comments__text):remove()

! bmpd style layout fix after userpic removal
bmpd.livejournal.com##.comment-head:not(:has(.comment-upic)) > .comment-head-in:style(margin-left: 0px !important)

! LJ style username strikeout
livejournal.com##.b-leaf-footer:not(:has(.b-leaf-actions)):upward(:is(.b-leaf-full, .b-leaf-collapsed)) .i-ljuser-username:style(text-decoration: line-through !important; text-decoration-style: double !important)

! bmpd style username strikeout
livejournal.com##:is(.partial.comment-wrap > span[id^="expand_"]:not(:has(.emdash)),.comment-head-in:not(:has(.comment-metadata))):upward([id^="ljcmt"]) .i-ljuser-username:style(text-decoration: line-through !important; text-decoration-style: double !important)

Первое правило убивает попрошаек, «не евших две недели», которые «просят помощи», а также «свидетелей отсутствия COVID» (их тексты ужасно шаблонны). Этих уродов, увы, нельзя дезинтегрировать дистанционно, но хотя бы так…

Второе правило убивает пустые темы сообщений (subject), особенно надоедливые в локальном стиле журнала BMPD (вместе с длинным штрихом), а также цитированные темы (Re: цитированная тема). Если хотите ещё избавиться от  особо умных, вставляющих в subject ваш ник (вроде «nickname козёл»), то в этом правиле можете написать /Re: |ваш_никнейм|без темы/ и будет вам счастье.

Следующее правило - основное, оно содержит игнор-лист и является полностью универсальным для т.н. «стиля ЖЖ» и антикварного локального стиля журнала BMPD.

Следующее правило - альтернативное основное, оно содержит игнор-лист для мудаков, приходящих в ЖЖ из соцсетей, у которых технические логины в форме ext_NNNNNN, где N - цифры. Эти логины можно увидеть при наведении мышкой на юзерпик или иконку соцсети. Зачем оно? Такие деятели, бывает, меняют ник и снова становятся видны. Логин при этом остаётся, что позволяет фильтру продолжать их банить.

Правило «layout fix» правит уехавшую вправо разметку после удаления юзерпика в случае использования стиля BMPD.

Последние три два правила («username strikeout») зачёркивают никнеймы забаненных в соответствующих стилях. Если вам это не нужно - удалите эти правила.

01.10.2022: правило не убивало юзерпик во всплывающем окне. Починено.

07.10.2022: правило убивало комментарий, если в его теле содержался ник мудака со ссылкой на профиль мудака в ЖЖ. Починено.

25.10.2022: попрошайки сменили текст. Добавлено.

25.01.2023: свидетель ЦРУ с Моссадом. Добавлен.

30.01.2023: косметика - зачеркивание никнеймов сделано двойным, чтобы не путать с зачёркнутыми самим ЖЖ никами юзеров с замороженными журналами.

30.01.2023: исправлено определение свёрнутых комментов в стиле bmpd.

30.01.2023: упрощено зачёркивание ников в стиле bmpd - одно правило вместо двух.

01.08.2023: альтернативное основное правило для мудаков из соцсетей.

14.09.2023: в версии uBO 1.52.0 (от 13.09.2023) есть баг, который ломает нам правила. Автору uBO отослан репорт, баг будет пофиксен. Пока же можно в основном правиле перед последним :is() поставить звёздочку - *:is(), при этом пробел перед ним надо сохранить.

13.04.2024: ЖиЖа поменяла имя класса .contextualhover__title на .contextualhover__name во всплывающем окне. Пофикшено.
Up