Interested Article - Викификатор
- 2021-09-27
- 1
Викификатор — это помощник редактирования, работа с которым регулируется правилом
ВП:ППБ
|
Викификатор — инструмент для автоматической обработки вики-текста согласно некоторым правилам вики-разметки и русской типографики . Запускается нажатием соответствующей кнопки над окном редактирования и обрабатывает либо выделенный текст, либо сразу весь текст при отсутствии выделения текста.
-
Кнопка Викификатора в улучшенной панели инструментов:
-
Кнопка Викификатора в старой панели инструментов:
Викификатор написан на JavaScript , его код находится на странице MediaWiki:Gadget-wikificator.js .
Рекомендации по установке Викификатора на своём вики-сайте даны на странице Википедия:Викификатор/Инструкция по установке .
Сообщения об ошибках и пожелания по улучшению следует добавлять на страницу Обсуждение Википедии:Викификатор .
По некоторым подсчётам , в русской Википедии 1 % всех страниц Викификатором обрабатывают примерно за 2—3 недели.
Викификатор можно запустить с клавиатуры сочетанием Ctrl + Alt + W (в macOS Ctrl + ⇧ Shift + W ).
Описание работы
Необрабатываемый текст
Перед обработкой текста Викификатор исключает из обработки:
-
текст, окружённый тегами
<nowiki>
,<pre>
,<source>
,<code>
,<tt>
,<math>
,<gallery>
,<chem>
- строки, начинающиеся с пробела (неформатированный текст)
-
{{шаблоны}}
-
http://внешние ссылки
-
[[внутренние ссылки]]
(текст ссылки после|
не прячется) -
<любые теги>
(кроме<!-- комментариев -->
) -
="атрибуты таблиц"
Замены
Для унификации и упрощения переноса статей из английской Википедии заменяются:
-
[[Category:
→[[Категория:
-
[[File:
/[[Image:
/[[Изображение:
→[[Файл:
HTML-теги на вики-разметку:
-
<b>текст</b>
и<strong>текст</strong>
→'''текст'''
-
<i>текст</i>
и<em>текст</em>
→''текст''
-
<hr>
→----
В соответствии с договорённостями русской типографики:
-
№№
→№
-
'
(одиночный машинописный апостроф внутри слов) →’
(типографский апостроф )
Сокращения «в т. ч.», «т. е.» и «т. к.» расшифровываются полностью.
HTML-мнемоники заменяются на символы Юникода (отключено в пространстве шаблонов):
-
©
→©
-
§
→§
(для кодов больше 127) -
√
→√
(для кодов больше 7F)
Некоторые сочетания также заменяются на символы:
Заменяемые | На символ |
---|---|
(tm) | ™ |
+- | ± |
~= | ≈ |
... | … |
<<
>> |
" |
^2 | ² |
^3 | ³ |
Примечания
- Сразу после << и сразу перед >> не должно быть пробела.
- ↑ Сразу после ^2 или ^3 не должно идти других цифр.
Дефис, минус и тире
Викификатор заменяет на минус (−):
- дефис , за которым следует цифра и которому предшествует пробел
- дефис, за которым следует цифра и которому предшествует последовательность «sup>» или «sub>»
После обработки минусов Викификатор заменяет на длинное тире (—):
- короткое тире (–)
- дефис, окружённый пробелами ( - )
- дефис в начале строки (прямая речь)
- дефис, окружённый с каждой стороны тремя или четырьмя цифрами (1985-1991)
- дефис, окружённый римскими цифрами (VII-IX)
- двойной и тройной дефисы ( -- и --- ), окружённые пробелами или цифрами (1941--1945)
Дефис, просто окружённый цифрами, не обрабатывается Викификатором. Это сделано специально, чтобы избежать многозначностей: «Когда Васе было где-то 3—4 года [ нужно тире ], он думал, что другие дети в возрастном периоде 3—4 года [ нужно тире ] не смогут понять, что 3−4=−1 [ нужны минусы ]».
Кавычки
Викификатор сначала конвертирует все
кавычки
(
« » “ ”„
) в тексте в обычные (
"
), а потом вновь их расставляет, но уже согласно правилам набора русского текста: "обычные кавычки" конвертируются в «кавычки-ёлочки», а кавычки внутри кавычек — в „кавычки-лапки“.
Обработка пробелов
Удаляются лишние пробелы :
- в конце строк
- несколько подряд (заменяются одним)
- перед запятой: «слово , слово» → «слово, слово»
- перед точкой с запятой: «слово ; слово» → «слово; слово»
- после открывающей круглой скобки и перед закрывающей: «бегемот ( гиппопотам )» → «бегемот (гиппопотам)»
- в диапазонах годов и веков: «1988 — 1995» → «1988—1995»
-
перед сносками:
слово <ref>...</ref>
→слово<ref>...</ref>
Вставляются пропущенные пробелы:
- после точки в конце предложения: «слово.Слово» → «слово. Слово»
- после запятой: «слово,слово» → «слово, слово»
Также для повышения читабельности вики-разметки вставляются пробелы:
-
после знаков
*
#
:
и их комбинаций в начале строки -
вокруг заголовков (
==А==
→== А ==
) - вставляется пустая строка перед заголовком, если других пустых строк там нет
- удаляется пустая строка после заголовка
Вставка неразрывных пробелов
Неразрывные пробелы расставляются:
- Перед тире после видимого знака (чтобы при завороте строки тире не отрывалось от предыдущего текста). Например, в «Пушкин — наше всё».
- В русских инициалах. Например, «А.С. Пушкин» → «А. С. Пушкин».
- В сокращениях «и т. д.», «и т. п.», «т. н.», «н. э.», «до н. э.», «и. о.»
- В сокращениях единиц измерения: «а. е.», «а. е. м.», «л. с.», «мм рт. ст.»
- В обозначениях сторон света: «в. д.», «з. д.», «с. ш.», «ю. ш.»
Цифры
- Перед знаком процента (%), промилле (‰). Так, «5% и 16,7‰» будут преобразованы в «5 % и 16,7 ‰». Исключения составляют такие сокращения, как «5%-й».
- Перед знаком градуса , если за ним следует обозначение шкалы. «10°C и 11,5°F» будут преобразованы в «10 °C и 11,5 °F».
- После «№» или «§», если за этими знаками следует цифра.
- После цифр перед обозначением единиц измерения «мкм», «нм», «мм», «см», «дм», «м», «км», «г», «кг», «мг», «с», а также перед сокращениями «тыс.», «млн», «млрд», «трлн». Сокращение «тыс» дополняется точкой. Для остальных точка убирается в тех случаях, если сокращение не приходится на конец предложения.
- После цифр перед обозначениями года и века: «год», «г.», «гг.», «век», «в.», «вв.».
При этом в нечётных пространствах и в пространстве «Википедия» (то есть везде, где могут быть обсуждения) вместо неразрывного пробела используется обычный, чтобы минимизировать изменения в чужих сообщениях, а также не допустить слишком большие сравнения версий из-за Firefox 1 и 2 (подробнее см. по ссылке «неразрывные пробелы» выше).
Градусы
Викификатор расставляет пропущенные знаки градуса, например:
-
+4 C
→+4 °C
-
-20 F
→−20 °F
При этом перед знаком градуса ставится неразрывный пробел.
Захват в ссылки
Викификатор для удобства заменяет викификацию некоторых слов и словосочетаний на равносильную или на устоявшуюся.
-
в [[2009]] году
→в [[2009 год]]у
-
в [[2009 год в кино|2009]] году
→в [[2009 год в кино|2009 году]]
-
[[Луиджи д’Амброзио|Луиджи]] д’Амброзио
→[[Луиджи д’Амброзио]]
-
[[горох|гороховый]]
→[[горох]]овый
-
[[:en:pea|горох]]овый
→[[:en:pea|гороховый]]
Последние две замены работают в том случае, если в «хвосте» только строчные русские или латинские буквы.
Сообщения Викификатора
- Фрагмент текста, который нужно обработать, можно выделить перед вызовом Викификатора.
- В случае необходимости обработать всю дискуссию, можно перейти к редактированию, например, своей личной страницы, скопировать текст туда, нажать кнопку Викификатора, а затем перенести обработанный текст обратно.
- Викификатор обработает ВЕСЬ текст на этой странице. Продолжить?
- Означает, что реализация JavaScript в браузере не позволяет обработать только выделенный фрагмент. Нажмите OK , чтобы разрешить Викификатору обработать весь текст.
-
Викификатор не обрабатывает страницы обсуждения целиком.
Выделите ваше сообщение — обработано будет только оно. - Викификатор отказывается обрабатывать текст на страницах обсуждений (всех нечётных пространств и в пространстве 4 «Википедия»), если находит в нём более одной подписи. Не следует без необходимости править чужие сообщения.
Известные проблемы
-
"Вложенные «кавычки»"
правильно обрабатываются только после пробела или в начале строки.
Если Викификатор портит текст
Об ошибках обработки текста следует сообщить на странице Обсуждение Википедии:Викификатор . При этом нужно указать конкретный начальный текст, во что он превращается, каким должен быть правильный результат, а также название и версию своего браузера.
Если имеет место редкое исключение из правил обработки Викификатора, которое невозможно или очень трудно исправить (например, цитата «авторского текста»), следует окружить проблемный кусок текста тегами
<nowiki></nowiki>
либо поместить его в
{{
no wikify
}}
, чтобы Викификатор его не обрабатывал. При этом для будущих редакторов статьи стоит рядом в комментарии указать
<!-- защита от Викификатора -->
.
Для того чтобы Викификатор не вставлял пробел после знака пунктуации в некоторых относительно распространённых особых случаях, можно использовать шаблоны {{ точка }} , {{ запятая }} , {{ двоеточие }} (или их короткие синонимы {{ тчк }} , {{ зпт }} , {{ colon }} ). Примеры употребления указаны в документации этих шаблонов.
Расширения
Вы можете создавать собственные расширения для Викификатора. Их код будет выполнен после всех замен, встроенных в Викификатор, кроме .
Код расширения примерно следующий:
window.wfPlugins = window.wfPlugins || [];
window.wfPlugins.push(function (txt, r) {
// здесь ваши замены
// Например: r(/<br\s?\/>/g, '<br>');
});
Его нужно разместить у себя в common.js или другом подключаемом скрипте.
Если нужно выполнение ваших замен до скрытия шаблонов, то заменить переменную
wfPlugins
на
wfPluginsT
.
Некоторые расширения можно подключить непосредственно в настройках :
Примечания
- Был проведён анализ количества правок после добавления новой замены для исправления кавычек, см. на форуме.
- .
См. также
- 2021-09-27
- 1