Interested Article - Викификатор

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

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

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

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

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

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

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

а потом запускаю Викификатор, ожидая, что он отформатирует кавычки в видимой части ссылки. Однако вместо этого он замечает, что части до палки и после палки совпадают, и возвращает как было. Я согласен, что такая оптимизация ссылок полезна. Но нельзя ли сделать, чтобы обработка кавычек происходила раньше? 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. Этот блок вероятно не нужен, давно закрыто.

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) [ ]

  • По-моему так всегда было. Ещё в общем случае не обрабатываются параметры в карточках. 194.50.15.241 11:28, 6 октября 2021 (UTC) [ ]
    • Параметры шаблонов я бы не трогал, там может оказаться не текст, предназначенный для показа читателю, а какие-нибудь технические данные, которые лучше не портить. Vcohen ( обс. ) 11:53, 6 октября 2021 (UTC) [ ]

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

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

		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
}}

Abiyoyo ( обс. ) 20:29, 29 декабря 2021 (UTC) [ ]

  • @ Abiyoyo : Ваш пример станет контрпримером только при добавлении после квантификаторов + или * ещё и квантификатора ?
    Сейчас же регулярное выражение отнюдь не ленивое :-)
    Предлагаемый мной вариант прекрасно сработает и в этом случае, совпадение будет включать в себя две строки, можно проверить на сайте
    Удаление параметров «CoordAddon» и «ЯндексКарта» уже реализовано почти так же, я лишь предлагаю уточнить в нём квантификатор с + на * и по такому же принципу организовать и удаление второго параметра для охвата случаев вида
    {{НП
    |CoordAddon
    |размер карты страны
    |размер карты региона=
    |размер карты района=310
    }}
    где в конце строк нет пробелов. Сейчас из-за квантификатора + и обязательного требования наличия знака равенства в параметрах «размер карты» в приведённом мной выше примере Викификатор удалит только последний параметр — это легко проверить, выделив текст внутри тегов «syntaxhighlight», но не включая сами теги, поскольку текст внутри них экранируется Викификатором и нажав кнопку Викификатора. — Alex NB IT ( обс. ) 21:03, 29 декабря 2021 (UTC) [ ]
    • Сорри, пример неправильный. Правильный такой:
Викификатор
Имя при рождении Вася
Полное имя Василий Иваныч
Дата рождения 1990 ( 1990 )
{{Персона
|имя при рождении     = Вася
|полное имя           
= Василий Иваныч |дата рождения        = 1990
}}
    • Я хочу сказать, что перевод строки — не универсальный маркер конца параметра. Конец параметра надо определять через что-то типа (?=[\|\}]) . Текущий код тоже на этом ломанется. См. — 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) [ ]

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

Можем ли мы в код Викификатора внести аналогично с двойными кавычками код для двойных скобок ( , )? То бишь, чтобы исправлялось с (… (…) …) на (… […] …) . calvin ( обс. ) 15:27, 29 мая 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) [ ]

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

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

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

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

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

Прошлое обсуждение: Википедия:Форум/Архив/Технический/2022/07#Викификатор . До сих пор Викификатор продолжает подвешивать страницы. Без нажатия Викификатора всё нормально сохраняется. При нажатии страница подвисает на несколько минут Это воспроизводится на самых разных компьютерах с разными ОС. Пожалуй, единственное, что объединяет — браузер Хром, но разные версии. Лес ( Less on ) 17:34, 18 декабря 2022 (UTC) [ ]

  • Не знаю, связано ли это, но функция замены тоже подвешивает страницу, причем это началось примерно тогда же, когда и с Викификатором. Vcohen ( обс. ) 21:05, 18 декабря 2022 (UTC) [ ]

[[File: [[Файл:

Это вредная замена: она мешает переносу иллюстраций в другие языковые разделы. Надо стремиться к унификации того, что касается разметки, а не к созданию зоопарка вариантов для всех языков, — или хотя бы этой унификации не мешать. ( обс. ) 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) [ ]
    • Разумеется, вредная хотя бы по причине, указанной в начале темы. И непонятно, зачем участники должны что-то заменять в редакторах, когда можно просто не насаждать зоопарк. ( обс. ) 17:52, 25 июля 2023 (UTC) [ ]

Ссылки на

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

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

примечания

Не обрабатывает, если есть группа. ~~‍~~ 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 inside Alex NB IT ( обс. ) 18:28, 28 февраля 2023 (UTC) [ ]

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

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

  • Почему? Это та же типографика. Vcohen ( обс. ) 17:19, 4 марта 2023 (UTC) [ ]
    • Поиск сдохших ссылок по заголовку. ~~‍~~ Jaguar K · 17:21, 4 марта 2023 (UTC) [ ]
      • Тогда эту проблему надо решать не здесь, а сначала принять правило, что к заголовкам источников надо относиться еще бережнее, чем к цитатам, т.е. запрещено ёфицировать, исправять опечатки и т.д. Иначе если это не сделает викификатор, то сделает кто-нибудь вручную. Или еше придет на форум спрашивать, почему викификатор не работает. Vcohen ( обс. ) 17:38, 4 марта 2023 (UTC) [ ]
        • Ради интереса внес заголовок в cite web и добавил дефис с пробелами - и.. в обычной ссылке дефис стал тире и кавычки сменили, а сайт веб ничего не поменяло. Так что не агрумент. Либо везде должно быть одинаково, как минимум. ~~‍~~ Jaguar K · 17:48, 4 марта 2023 (UTC) [ ]

spaces at EOL

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

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

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

		r( /[ \u00A0\t]+(\n|\r)/g, '$1' ); // spaces 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) [ ]

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

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

  • Я сейчас здесь нажал на викификатор, он ничего не поменял. Потом выделил слово и опять нажал, он опять ничего не поменял. Vcohen ( обс. ) 11:24, 7 февраля 2024 (UTC) [ ]
    • Vcohen , значит, у вас в настройках к викификатору не подключен гаджет исправления орфографии. Конкретика здесь: Википедия:Форум/Технический#Ошибка_викификатора . — ( обс. ) 12:08, 7 февраля 2024 (UTC) [ ]
      • Нет, это значит, что проблема не в викификаторе. Vcohen ( обс. ) 13:05, 7 февраля 2024 (UTC) [ ]
        • Это уж как вам угодно. Однако при всей вашей безапелляционности у меня нажатие на кнопку викификатора прямо здесь убирает одну букву в заголовке. — ( обс. ) 13:16, 7 февраля 2024 (UTC) [ ]
        • Vcohen , а сейчас, как я и предполагал, убрал галочку с пункта Добавление исправления орфографии в Викификатор в Настройки/Гаджеты, и это исправление больше не происходит. Так что я уж продолжу оставаться в уверенности, что эта галочка у вас просто не проставлена. — ( обс. ) 13:20, 7 февраля 2024 (UTC) [ ]
          • Так она у меня и не проставлена, я с этим не спорю. У меня викификатор в чистом виде, он этого исправления не делает, значит проблема не в нем. Vcohen ( обс. ) 13:40, 7 февраля 2024 (UTC) [ ]
            • Ответ на техфоруме мне представляется хотя и не окончательным, но куда более конструктивным. Копание в тонкостях формулировок без желания исправить ошибку меня не интересует. — ( обс. ) 13:54, 7 февраля 2024 (UTC) [ ]
              • На техфоруме дали правильный ответ - проблема не в викификаторе. Соответственно, на этой странице это обсуждение вообще не по теме. В викификаторе исправлять нечего. Vcohen ( обс. ) 14:34, 7 февраля 2024 (UTC) [ ]

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

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

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

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

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

&#39;

на

'

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

Источник —

Same as Викификатор