Обсуждение Википедии:Викификатор

Последнее сообщение: 17 дней назад от Niepodkoloryzowany в теме «шаблон "Переход"»

Фильм с кавычками

править

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

«[[Ааа «Ббб»|Ааа „Ббб“]]»

Я нахожу в статье текст:

«[[Ааа «Ббб»]]»

Хочу это исправить, делаю копипейстом так:

«[[Ааа «Ббб»|Ааа «Ббб»]]»

а потом запускаю Викификатор, ожидая, что он отформатирует кавычки в видимой части ссылки. Однако вместо этого он замечает, что части до палки и после палки совпадают, и возвращает как было. Я согласен, что такая оптимизация ссылок полезна. Но нельзя ли сделать, чтобы обработка кавычек происходила раньше? Vcohen (обс.) 08:28, 16 сентября 2020 (UTC)Ответить

Машинописный обратный апостроф

править

Неплохо было бы, если он преобразовывался в «типографский» апостроф, тогда же, когда и обычный машинописный апостроф. 217.117.125.72 12:23, 8 ноября 2020 (UTC)Ответить

Маркированные списки

править

Просьба сделать так, чтобы викификатор заменял на * в начале строки и, возможно, убирал пустые строки между строками с такими заменами. 217.117.125.83 10:20, 2 июня 2021 (UTC)Ответить

Ряд предложений

править

1. Этот блок вероятно не нужен, phab:T198010 давно закрыто.

2. Нужен ли MediaWiki:Gadget-wikificator.css? Не нахожу использования .oo-ui-icon-wikify, сам скрипт использует другие иконки.

3. Загрузка скрипта registerTool жёстко привязана к домену 'ru.wikipedia.org', иначе грузит скрипт по url. А если викификатор ставится по другому домену, где MediaWiki:Gadget-registerTool.js уже установлен в MediaWiki:Gadgets-definition и прописан в зависимости wikificator[ResourceLoader|dependencies=ext.gadget.registerTool (например в Викитеке или в др. яз. разделе)? Предлагаю заменить это на проверку наличия локального registerTool, как сделано в соседнем гаджете.

4a. Лишние пробелы в конце строк. Лучше заменить на r( /( | |\x00a0|\t)+$/gm, '' ); // spaces at EOL - доп. чистятся другие виды пробелов.

4b. Ещё можно над строками вроде hideTag( 'nowiki' ); (с. 116) добавить r( /^( | |\x00a0|\t)+$/gm, '' ); // spaces in empty lines, чтобы удалять пробелы из пустых строк и в скрытых шаблонах и тэгах.

5. Замену тире на дефис в номерах Боингов надо отделить от строки с общими заменами. Поскольку кроме Боингов может быть неопределённая масса других исключений, учитывая, что скрипт предлагается использовать не только в Википедии. Т. е. в первой строке менять на дефисы по общим правилам. А во второй строке уже исправлять исключения - искать тире и менять на дефисы. (Правка где в строку включили Боинг.) Vladis13 (обс.) 13:39, 15 июля 2021 (UTC)Ответить

Ударение

править

Почему-то не убирает такой шаблон: Винницкие Иваны. Но при этом убирает subst:Ударение. 185.16.139.123 19:09, 29 сентября 2021 (UTC)Ответить

Не совсем понятно, какой шаблон не убирает? — A.sav (обс.) 13:43, 5 октября 2021 (UTC)Ответить
Имелась в виду вот такая правка. Судя по всему, это было сделано вручную, викификатор этого не делает. Vcohen (обс.) 13:53, 5 октября 2021 (UTC)Ответить
  • Шаблоны продолжают втыкать в текст. Какая-то реакция будет? Почему викификатор раскрывает {{подст:ударение}}, но не должен раскрывать {{ударение}}? 194.50.15.241 22:40, 14 октября 2021 (UTC)Ответить
    • {{подст:ударение}} обрабатывать викификатором действительно смысла нет, это встроенный функционал движка. А нужно ли раскрывать {{ударение}} ? — A.sav (обс.) 11:27, 19 октября 2021 (UTC)Ответить
      • Коллега @A.sav, ну не знаю, я использую викификатор для быстрого преобразования {{subst:'}} в ударение и это удобно, сразу видно, не приходится ждать подстановки… Викизавр (обс.) 13:20, 29 октября 2021 (UTC)Ответить
  • Закрыл запрос на редактирование. Судя по обсуждению, эта правка не кажется очевидной, и её нужно обсуждать. — putnik 22:49, 25 декабря 2021 (UTC)Ответить
    • Но так как шаблон должен использоваться только с подстановкой, то такую замену я поддержу. Если в ближайшее время возражений не появится, добавлю её в код. — putnik 12:13, 26 декабря 2021 (UTC)Ответить
      • Это уже не отклонение, а согласие. 194.50.15.56 21:13, 27 декабря 2021 (UTC)Ответить
        • {{editprotected}} используется только для очевидных правок, которые автор не может внести из-за нехватки прав. Для всего остального он не должен использоваться, иначе засоряется категория, и других подобные правки не выполняются. В данном случае мы никуда не спешим и ждём, возможно будут другие мнения. — putnik 23:37, 29 декабря 2021 (UTC)Ответить

Галерея

править

Мне кажется, что не обрабатывается текст в галереях. Показываемый текст в ссылках да, подписи к файлам, вставляемым по одному, тоже да, а подписи к файлам в галереях нет. Vcohen (обс.) 13:40, 5 октября 2021 (UTC)Ответить

Удаление устаревших параметров шаблона НП срабатывает не во всех случаях

править

Эта замена не срабатывает при отсутствии символов после знака равенства до конца строки: размер карты
А вот эта замена срабатывает (почти) всегда, поскольку после имени параметра (почти) всегда есть хотя бы один символ, не являющийся концом параметра или шаблона, и это знак равенства: CoordAddon|ЯндексКарта
Предлагаемые исправления:
Фрагмент кода

		if ( txt.indexOf( '{{НП' ) > -1 ) {
			r( / *\| *(?:CoordAddon|ЯндексКарта)[^\|\}]+\n/g, '' );
			r( / *\| *размер карты (?:страны|региона|района) *= *[^\|\}]+\n/g, '' );
		}

заменить на

		if ( txt.indexOf( '{{НП' ) > -1 ) {
			r( /\|\s*(?:CoordAddon|ЯндексКарта)[^\|\}]*/g, '' );
			r( /\|\s*размер карты (?:страны|региона|района)[^\|\}]*/g, '' );
		}

Суть изменений:

  1. удалены лидирующие пробелы перед символом начала параметра, поскольку удаление будет производиться до символов | или }, а не до конца строки, как ранее, при этом отступы будут сохранены, если они были равны до замены, то есть эта замена не ухудшит выравнивание кода разметки
  2. пробелы после | расширены до класса всех пробельных символов, поскольку вполне могут встречаться и те же переводы строк, например
  3. для параметров «размер карты» удалён фрагмент со знаком равенства, поскольку его может и не быть.
  4. квантификаторы + для [^\|\}] заменены на *, поскольку не обязательно наличие хотя бы одного такого символа, главное, что как только встречается один из этих символов — совпадение заканчивается
  5. удалены символы перевода строки в концах регулярных выражений для учёта случаев, когда параметр оказывается разорван переводом (переводами) строк

Цели: учесть случаи

  1. параметров с полным отсутствием символов до конца строки (бывает, встречаются такие сломанные параметры)
  2. с полным отсутствием символов после знака равенства до конца строки (такое встречается существенно чаще).
  3. когда параметр оказывается разорван переводом (переводами) строк

Alex NB IT (обс.) 15:30, 29 декабря 2021 (UTC)Ответить

  • См. случай:
Викификатор
Имя при рождении Вася
Полное имя Василий Иваныч
Дата рождения 1990(1990)
{{Персона
|имя при рождении     = Вася
|полное имя           
= Василий Иваныч
|дата рождения        = 1990
}}

Abiyoyo (обс.) 20:29, 29 декабря 2021 (UTC)Ответить

  • @Abiyoyo: Ваш пример станет контрпримером только при добавлении после квантификаторов + или * ещё и квантификатора ?
    Сейчас же регулярное выражение отнюдь не ленивое  
    Предлагаемый мной вариант прекрасно сработает и в этом случае, совпадение будет включать в себя две строки, можно проверить на сайте https://regex101.com/
    Удаление параметров «CoordAddon» и «ЯндексКарта» уже реализовано почти так же, я лишь предлагаю уточнить в нём квантификатор с + на * и по такому же принципу организовать и удаление второго параметра для охвата случаев вида
    {{НП
    |CoordAddon
    |размер карты страны
    |размер карты региона=
    |размер карты района=310
    }}
    где в конце строк нет пробелов. Сейчас из-за квантификатора + и обязательного требования наличия знака равенства в параметрах «размер карты» в приведённом мной выше примере Викификатор удалит только последний параметр — это легко проверить, выделив текст внутри тегов «syntaxhighlight», но не включая сами теги, поскольку текст внутри них экранируется Викификатором и нажав кнопку Викификатора. — Alex NB IT (обс.) 21:03, 29 декабря 2021 (UTC)Ответить
    • Сорри, пример неправильный. Правильный такой:
Викификатор
Имя при рождении Вася
Полное имя Василий Иваныч
Дата рождения 1990(1990)
{{Персона
|имя при рождении     = Вася
|полное имя           
= Василий Иваныч |дата рождения        = 1990
}}
    • Я хочу сказать, что перевод строки — не универсальный маркер конца параметра. Конец параметра надо определять через что-то типа (?=[\|\}]). Текущий код тоже на этом ломанется. См. [1]Abiyoyo (обс.) 21:17, 29 декабря 2021 (UTC)Ответить
      • Да, действительно, это также проблемы уже существующего кода. Внёс дополнительные изменения в эти регулярные выражения. — Alex NB IT (обс.) 21:52, 29 декабря 2021 (UTC)Ответить
        • Так совсем стремно делать. См.:
          {{НП}}
          где-то в тексте [[Яндекс-карта|ЯндексКарта]]
          Впрочем и нынешний код сломается на пусть и нетипичном, но синтаксически допустимом
          {{НП}}
          где-то в тексте [[Яндекс-карта|ЯндексКарта
          ]]
          Все это требует полного парсинга предыдущей строки и проверки, что это именно параметр шаблона НП, а не встречается где-то в тексте или в другом шаблоне, файле или вики-ссылке. Я уж не говорю о случаях
          {{НП}}
          {{другой шаблон
          |размер карты страны= 123
          |еще параметр=345
          }}
          
          {{iw|ЯндексКарта (новая)|ЯндексКарта (новая)
          |en|YandexMap New}}
          которые сломаются и сейчас. Но в вашем примере теперь ошибка вылезет еще и на:
          [[:Файл:abc.png|размер карты региона [[Каталония (регион)|Каталония]] дальше любые слова|thumb]]
          
          или
          
          {{iw|ЯндексКарта (новая)|ЯндексКарта (новая)|en|YandexMap New}}
          Это, наверное, можно сделать на регулярках, но будет совершенно монструозный нечитаемый крокодил на несколько строк сплошных спецсимволов. Корректно распознать параметр шаблона, да еще с учетом, что он теперь как бы неименованый — вообще непростая задача для регулярных выражений. Я бы не рисковал это все делать еще более жадным. Abiyoyo (обс.) 00:13, 30 декабря 2021 (UTC)Ответить
  • Новый код ломает конструкцию | CoordAddon = {{{CoordAddon|}}}, которая есть в большинстве шаблонов, наследующих {{НП}}. — putnik 23:41, 29 декабря 2021 (UTC)Ответить

Викификатор «исправляет» комментарии

править

Викификатор «исправляет» <!-- комментарии -->, например, в шаблоне {{subst:footnotes}} <!-- О том, как создавать сноски с помощью тегов <ref>, см. на http://ru.wikipedia.org/wiki/Википедия:Сноски --> «исправляется» на <!-- О том, как создавать сноски с помощью тегов<ref>, см. на http://ru.wikipedia.org/wiki/Википедия:Сноски -->. Предлагаю исключить комментарии из обработки. 176.122.109.237 10:09, 16 марта 2022 (UTC)Ответить

sup

править

Можно ли добавить замену км³ км² (и других единиц) на км3 км2? ~~‍~~ Jaguar K · 16:16, 5 мая 2022 (UTC)Ответить

описание правки

править

Есть возможность добавить в скрипт (можно в качестве опции) добавление определенного описания правки при применении? ~~‍~~ Jaguar K · 20:26, 5 мая 2022 (UTC)Ответить

Двойные скобки

править

Можем ли мы в код Викификатора внести аналогично с двойными кавычками код для двойных скобок (1, 2)? То бишь, чтобы исправлялось с (… (…) …) на (… […] …). calvin (обс.) 15:27, 29 мая 2022 (UTC)Ответить

Шаблон:Rq

править

Согласно документации шаблон устанавливается только в случае, если в статье несколько недостатков: «Шаблон призван заменить одиночные шаблоны и ставится тогда, когда у него есть как минимум два параметра.». Однако, в 13,5 тысячи статей он используется с одним параметром — source(s). Предлагаю раскрывать следующий случай:

  • /\{\{[Rr]q\|source(s)?\}\}/ → {{подст:нет источников}}

Заодно это позволит иметь дату установки запроса. 185.16.137.96 20:28, 12 июля 2022 (UTC)Ответить

Пробелы перед {{sfn}}

править

Предлагаю убирать пробелы перед {{sfn}}, по аналогии с <ref> + добавить в список удаляемых символов табуляцию \t.

Предположу что сюда:

		r( /[\u00A0 ]+(\{\{\s*([Rr]ef-[a-z\-]+?|[Ee]n icon|[Cc]hecked|[Vv]|[Пп]роверено)\}\})/g, '$1' );

Возможная реализация:

		r( /[\t\u00A0 ]+(\{\{\s*([Rr]ef-[a-z\-]+?|[Ee]n icon|[Cc]hecked|[Vv]|[Пп]роверено|[Ss]fn\s*\|[^\}]+?)\s*\}\})/g, '$1' );

P.S. Также добавлена обработка варианта с пробелами перед }} ( {{ref-en }}), сейчас пробелы перед такими шаблонами не убираются. -- A.sav (обс.) 23:24, 19 июля 2022 (UTC)Ответить

Баг

править

В статье Захаровка (Червенский район) портит строчку «* 1960 — 199 жителей.». 185.16.139.28 12:31, 21 июля 2022 (UTC)Ответить

Частный случай?

править

В Медицинская марихуана#Доступ к терапии медицинским каннабисом встретилась такая конструкция: и т.д[сноска]. Не имею возможности оценить повторяемость такой ситуации, но всё равно задаю вопрос - возможно викификатором реализовать перенос точки из-за тегов реф'а на её законное место? И т. д., и т. п., и пр., что там ещё может попасть под этот случай... Гдеёж?-здесь 13:26, 16 декабря 2022 (UTC)Ответить

Викификатор подвешивает страницу

править

Дублирую сюда тему с форума, не знаю, где больше вероятность сдвинуть с мёртвой точки

Википедия:Форум/Технический#Викификатор подвешивает страницу

Прошлое обсуждение: Википедия:Форум/Архив/Технический/2022/07#Викификатор. До сих пор Викификатор продолжает подвешивать страницы. Без нажатия Викификатора всё нормально сохраняется. При нажатии страница подвисает на несколько минут https://ic.pics.livejournal.com/wasapp/6464724/225005/225005_original.png Это воспроизводится на самых разных компьютерах с разными ОС. Пожалуй, единственное, что объединяет — браузер Хром, но разные версии. Лес (Lesson) 17:34, 18 декабря 2022 (UTC)Ответить

[[File:[[Файл:

править

Это вредная замена: она мешает переносу иллюстраций в другие языковые разделы. Надо стремиться к унификации того, что касается разметки, а не к созданию зоопарка вариантов для всех языков, — или хотя бы этой унификации не мешать. Sneeuwschaap (обс.) 16:31, 3 января 2023 (UTC)Ответить

  • Насколько мне известно, это общевикимедийная практика — заменять названия пространства имён в локальных языковых вики-проектах своими именами, а не использовать везде английский. Как мне кажется, если вы переносите какие-либо статьи в другие языковые разделы, то используйте простую функцию «Поиск и замена» для замены «Файла» на «File». Или заведите себе небольшой скрипт, который делал бы это при нажатии одной кнопки.  Αλέξης ο Μέγας  (📢 | 📥) 02:27, 4 января 2023 (UTC)Ответить
  • Я согласен, что заменять универсальные имена локализованными не следует, что это мешает переносить наш текст в другие разделы. @Putnik вроде ты мейнтейнишь викификатор? Я бы такую замену удалил, если бы даже не сделал обратную. MBH 04:40, 4 января 2023 (UTC)Ответить
    • Подобные кардинальные изменения стоит сначала обсуждать на форумах. В целом у нас так или иначе принята локализация почти всех конструкции MediaWiki, в том числе это делается автоматически самим движком и визуальным редактором. Делать так, чтобы разные инструменты работали в разные стороны, на мой взгляд плохое решение — будут по кругу замены туда-сюда. — putnik 01:45, 18 апреля 2023 (UTC)Ответить
  • В реалиях русского раздела Википедии, где с момента появления такой возможности локализуются указания на категории и в целом пространства имён, — нет, это не вредная замена. Заменить [[File: на [[File: при этом проще простого в любом редакторе, так что непонятно, чему это вообще может мешать. При этом thumb → мини и пр. заменять действительно не следует. stjn 11:50, 25 июля 2023 (UTC)Ответить
    • Разумеется, вредная хотя бы по причине, указанной в начале темы. И непонятно, зачем участники должны что-то заменять в редакторах, когда можно просто не насаждать зоопарк. Sneeuwschaap (обс.) 17:52, 25 июля 2023 (UTC)Ответить

Ссылки на :ru:

править

(начало обсуждения — Википедия:Форум/Вниманию участников#Липовый синий)

В стоит убрать ссылках :ru:. Если в общем случае автоматически заменять ссылки формата [[:lang:article]] на {{iw|статья||lang|article}} проблематично, то ссылки на наш раздел должно быть просто исправлять, что-то вроде
r(/(\[\[:)(ru:( *)/ig, '[[' ); Janwuf (обс.) 13:45, 25 января 2023 (UTC)Ответить

примечания

править

Не обрабатывает, если есть группа. https://ru.wikipedia.org/?diff=128726262 ~~‍~~ Jaguar K · 00:00, 25 февраля 2023 (UTC)Ответить

Сообщение об ошибке и запрос правки для её исправления

править

Ошибка: Служебная:Изменения/128806287: После заголовков «В лёгкой промышленности» и «В пищевой промышленности» стояли неразрывные пробелы, Викификатор добавил после них обычные.
Решение: Строку r( /^(=+)[ \t\f\v]*(.*?)[ \t\f\v]*=+$/gm, '$1 $2 $1' ); // add spaces inside заменить на r( /^(=+)[ \t\f\v\u00A0]*(.*?)[ \t\f\v\u00A0]*=+$/gm, '$1 $2 $1' ); // add spaces insideAlex NB IT (обс.) 18:28, 28 февраля 2023 (UTC)Ответить

Замена кавычек

править

"армобетона" - думаю, замена кавычек не нужна в имени источника ~~‍~~ Jaguar K · 13:47, 4 марта 2023 (UTC)Ответить

spaces at EOL

править

Просьба расширить правило

		r( / +(\n|\r)/g, '$1' ); // spaces at EOL

добавив кроме обычного пробела неразрывный и табуляцию:

		r( /[ \u00A0\t]+(\n|\r)/g, '$1' ); // space(s) at EOL

A.sav (обс.) 21:02, 5 мая 2023 (UTC)Ответить

Лишние неразрывные пробелы

править

@Putnik: после вашей недавней правки викификатор стал добавлять неразрывные пробелы между числом и словом «год», что хорошо в тексте статьи, но бесполезно в категориях, да и вообще внутри вики-ссылок (как [[1234&nbsp;год]], так и [[1234&nbsp;год|с другим текстом]]). В целом, ссылка не ломается, конечно, но правки выглядят лишними. Как пример можно открыть статью Гранд-канал в Венеции и там нажать на викификатор, из трёх замен последняя кажется ненужной. Такие проверки это, конечно, усложнение кода, но не обратить на это внимание я не мог. windewrix (обс.) 06:24, 12 мая 2023 (UTC)Ответить

  • Внутри вики-ссылок, равных тексту, полезно [[1234&nbsp;год]], так что убирать не нужно. В категориях и ссылках с другим текстом можно убрать, если не слишком сложно. ~~‍~~ Jaguar K · 09:22, 12 мая 2023 (UTC)Ответить

Химические формулы простым текстом

править

Если применить к этой версии, то заменит среднее тире (включая sup), и добавит длинное в I–I. ~~‍~~ Jaguar K · 13:19, 12 мая 2023 (UTC)Ответить

коммандитный

править

Викификатор исправляет данное слово на командитный, что неправильно. Quick1984 (обс.) 09:45, 7 февраля 2024 (UTC)Ответить

Вложенные кавычки

править

Интересно Викификатор обрабатывает вложенные кавычки в данном случае: в конце статьи заменил «Любовь Соколова. ''„[[Мой серебряный шар]]“''» на «Любовь Соколова. ''»[[Мой серебряный шар]]"''", а аналогичные случаи ниже нет. А потому что [[Мой серебряный шар]] викифицирован, если убрать скобки — викификатор вновь вернёт нормальные кавычки. ЯЁ32Ы (обс.) 23:35, 8 февраля 2024 (UTC)Ответить

  • А почему в данных примерах в курсив не заключены имена Любови Соколовой и Георгия Данелия (ниже)? Если «Любовь Соколова. „Мой серебряный шар“» — это полное название передачи, то я бы заключил его целиком в курсив, а не частично. Это бы исправило проблему с некорректной викификацией.  Αλέξης ο Μέγας  (📢 | 📥) 15:12, 9 февраля 2024 (UTC)Ответить
    • Смещение курсива внутрь скобок «Любовь Соколова. „''[[Мой серебряный шар]]''“», но вряд ли кто-то будет искать, когда викикатор ломает, а когда — нет. ~~‍~~ Jaguar K · 15:53, 9 февраля 2024 (UTC)Ответить

Знак апострофа

править

Предлагаю добавить замену кода

&#39;

на

'

Вот пример использования. Подобное уже делали с пробелами. Mitte27 (обс.) 06:06, 26 февраля 2024 (UTC)Ответить

Лишнее Ё

править

В слове «рукоположение» викификатор зачем-то добавляет Ё (пример). Можно это исправить? Mitte27 (обс.) 05:32, 20 июня 2024 (UTC)Ответить

Кавычки

править

Разве иностранные слова в русском тексте можно заключать в русские кавычки? ИМХО, они должны быть заключены в соответствующие иностранные кавычки. Matsievsky (обс.) 20:01, 27 августа 2024 (UTC)Ответить

  • По-моему, они вообще не заключаются в кавычки, потому что "сам факт написания латиницей служит выделением". Только если это не цитата полностью на иностранном языке. Vcohen (обс.) 10:07, 28 августа 2024 (UTC)Ответить
    • Разумеется, вопрос о тех случаях, когда одно или несколько иностранных слов заключены в кавычки. Таки случаи бывают. Итак, как быть в случае. когда "цитата полностью на иностранном языке"? Вручную переделывать обратно после работы шаблона викификации? Переходить на курсив? Matsievsky (обс.) 10:20, 28 августа 2024 (UTC)Ответить
      • Не понимаю. Пример 1: Он работал в фирмах "Яндекс" и Google. Здесь не цитата, слово Google надо оставить без кавычек. Пример 2: Согласно его собственным словам, "Google" is a great thing. Здесь если Google в оригинале стоит в каких-то кавычках, то и у нас должно быть так же. Мы про какой случай говорим? Vcohen (обс.) 10:29, 28 августа 2024 (UTC)Ответить

blockquote

править

Похоже, викификатор делает исправления внутри тега blockquote (например, заменяет "т.е." на "то есть"). Думаю, такие правки цитат нежелательны. -- V1adis1av (обс.) 05:48, 30 августа 2024 (UTC)Ответить

Убирает пробел в категориях

править

Викификатор убирает пробел после вертикальной черты в категориях [[к:Первая лига Алжира по футболу| ]][[к:Первая лига Алжира по футболу|]] , а после сохранения туда добавляется вторично название категории. Mitte27 (обс.) 04:02, 18 октября 2024 (UTC)Ответить

Более одного пробела перед °C/°F

править

Не работает замена на неразрывный пробел если перед знаком градуса более одного пробела (-9.7 °C). Это баг или фича?

Причина тут:

		r( /([\s\d=≈≠≤≥<>—("'|])([+±−\-]?\d+?(?:[.,]\d+?)?)(([ °\^*]| [°\^*])(C|F))(?=[\s"').,;!?|\x01])/gm, '$1$2' + u + '°$5' ); // '

решение — добавить +

		r( /([\s\d=≈≠≤≥<>—("'|])([+±−\-]?\d+?(?:[.,]\d+?)?)(([ °\^*]| +[°\^*])(C|F))(?=[\s"').,;!?|\x01])/gm, '$1$2' + u + '°$5' ); // '

опционально можно оптимизировать выражение:

		r( /([\s\d=≈≠≤≥<>—("'|])([+±−\-]?\d+?(?:[.,]\d+?)?)((?:[ °\^*]| +[°\^*])(C|F))(?=[\s"').,;!?|\x01])/gm, '$1$2' + u + '°$4' ); // '

A.sav (обс.) 13:05, 6 ноября 2024 (UTC)Ответить

Удалять мягкие переносы

править

Предлагаю добавить правило для удаления мягких переносов (\u00AD). Затрудняют поиск, викификацию и воспроизведение в программах для слепых. Можно модифицировать существующее правило для удаления этих переносов в викиссылках. A.sav (обс.) 20:43, 7 ноября 2024 (UTC)Ответить

  • Надо семь раз подумать. Во-первых, мягкие переносы могут быть поставлены специально, например в подписях к картинкам, если есть длинное слово. Во-вторых, они могут помочь распознать копипасту, а мы, удаляя их, лишаем себя такой возможности. Vcohen (обс.) 06:15, 8 ноября 2024 (UTC)Ответить

Расширить правило "неразрывный пробел перед единицей измерения"

править

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

Ну и небольшие оптимизации для правил выше и ниже:

-		r( /(Д|д)(о|\.)\sн\.\s?э\./g, '$1о' + u + 'н.' + u + 'э.' );
+		r( /(Д|д)[о\.]\sн\.\s?э\./g, '$1о' + u + 'н.' + u + 'э.' );
-		r( /(\d)[\u00A0 ]?(млн|млрд|трлн|[дсмнк]?м|мкм|[км]г)\.?(?=[,;.]| "?[а-яё\-]{2,}|\s*\|)/g, '$1' + u + '$2' );
+		r( /(\d)[\u00A0 ]*(млн|млрд|трлн|[дсмнк]?м|мкм|[км]?г|[тл]|га|Вт)\.?(?=[,;.)]| "?[а-яё\-]{2,}|\s*\|)/g, '$1' + u + '$2' );
-		r( /(\d)[\u00A0 ](тыс)([^\.А-Яа-яЁё])/g, '$1' + u + '$2.$3' );
+		r( /(\d)[\u00A0 ]тыс([^\.А-Яа-яЁё])/g, '$1' + u + 'тыс.$2' );
-		r( /(\d)\s(тыс\.)/g, '$1' + u + '$2' );
+		r( /(\d)\sтыс\./g, '$1' + u + 'тыс.' );

P.S. Ещё немного (микро)оптимизаций:

-		r( /^== (см(\.?|отр(и|ите|еть))|see) ?(также|ещ[её]|also|more) ==$/gmi, '== См. также ==' );
+		r( /^== (?:см(\.?|отр(и|ите|еть))|see) ?(?:также|ещ[её]|also|more) ==$/gmi, '== См. также ==' );

-		r( /«|»|“|”|„/g, '"' ); // temp
+		r( /[«»“”„]/g, '"' ); // temp

-		r( /<(b|strong)>(.*?)<\/(b|strong)>/gi, "'''$2'''" );
+		r( /<(?>b|strong)>(.*?)<\/(?>b|strong)>/gi, "'''$1'''" );
-		r( /<(i|em)>(.*?)<\/(i|em)>/gi, "''$2''" );
+		r( /<(?>i|em)>(.*?)<\/(?>i|em)>/gi, "''$1''" );

-		r( /(\S)[\u00A0 \t](-{1,3}|—)[\u00A0 \t](\S)/g, '$1' + u + '— $3' );
+		r( /(\S)[\u00A0 \t](?:-{1,3}|—)[\u00A0 \t](\S)/g, '$1' + u + '— $2' );


-		r( /([№§])(\s*)(\d)/g, '$1' + u + '$3' );
+		r( /([№§])\s*(\d)/g, '$1' + u + '$2' );

P.S. Во всех заменах вместо ?> можно использовать ?: —A.sav (обс.) 22:12, 7 ноября 2024 (UTC)Ответить

Перестали преобразовываться дефисы

править

Перестали преобразовываться в тире в тексте Vulpo (обс.) 09:42, 8 ноября 2024 (UTC)Ответить

шаблон "Переход"

править

можно ли, чтобы Викификатор ставил шаблон "Переход" после знаков препинания и примечаний?
(спросил и у РобоСтаси) Niepodkoloryzowany (обс.) 18:44, 10 декабря 2024 (UTC)Ответить