Википедия : Викификатор

Материал из Википедии ? свободной энциклопедии
Перейти к навигации Перейти к поиску

Короткая ссылка-перенаправление

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

  • Кнопка Викификатора в улучшенной панели инструментов:
  • Кнопка Викификатора в старой панели инструментов:

Викификатор написан на JavaScript , его код находится на странице MediaWiki:Gadget-wikificator.js .

Рекомендации по установке Викификатора на своём вики-сайте даны на странице Википедия:Викификатор/Инструкция по установке .

Сообщения об ошибках и пожелания по улучшению следует добавлять на страницу Обсуждение Википедии:Викификатор .

По некоторым подсчётам [1] , в русской Википедии 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-мнемоники заменяются на символы Юникода (отключено в пространстве шаблонов):

  • &copy;
  • &#167; § (для кодов больше 127)
  • &#x221a; (для кодов больше 7F)

Некоторые сочетания также заменяются на символы:

Заменяемые На символ
(tm)
+- ±
~= ?
...
<<
>> [зам. 1]
"
^2 [зам. 2] ²
^3 [зам. 2] ³

Примечания

  1. Сразу после << и сразу перед >> не должно быть пробела.
  2. 1 2 Сразу после ^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 .

Некоторые расширения можно подключить непосредственно в настройках :

Примечания

  1. Был проведён анализ количества правок после добавления новой замены для исправления кавычек, см. соответствующую реплику на форуме.
  2. Поиск ответов Грамоты.ру .

См. также