Википедия:Викификатор
Викифика́тор — инструмент для автоматической обработки вики-текста согласно некоторым правилам вики-разметки и русской типографики. Запускается нажатием соответствующей кнопки над окном редактирования и обрабатывает либо выделенный текст, либо сразу весь текст при отсутствии выделения текста.
- Кнопка викификатора в обычной панели инструментов:
- Кнопка викификатора в улучшенной панели инструментов:
Викификатор написан на JavaScript, его код находится на странице MediaWiki:Wikificator.js.
Рекомендации по установке Викификатора на своём вики-сайте даны на странице Википедия:Викификатор/Инструкция по установке.
Сообщения об ошибках и пожелания по улучшению следует добавлять на страницу Обсуждение Википедии:Викификатор.
Содержание |
[править] Описание работы
[править] Необрабатываемый текст
Перед обработкой текста Викификатор прячет (исключает из обработки):
- текст, окружённый тегами
<nowiki>,<pre>,<source>,<code>,<tt>,<math>,<gallery> - строки, начинающиеся с пробела (неформатированный текст)
{{шаблоны}}http://внешние ссылки[[внутренние ссылки]](текст ссылки после «|» не прячется)<любые теги>(кроме <!--комментариев-->)="атрибуты таблиц"
[править] Замены
Для унификации и упрощения переноса статей из английской Википедии заменяются:
[[Category:→[[Категория:[[File:/[[Image:/[[Изображение:→[[Файл:
HTML теги на викиразметку:
<b>текст</b>и<strong>текст</strong>→'''текст'''<i>текст</i>и<em>текст</em>→''текст''<hr>→----
В соответствии с правилами русского языка[1]:
№№→№'(одиночный машинописный апостроф внутри слов) →’(типографский апостроф)- сокращения «в т.ч.», «т.е.» и «т.к.» расшифровываются полностью.
Некоторые HTML-мнемоники и слова заменяются на символы Юникода:
| Заменяемые | На символ |
|---|---|
| © | © |
| ® | ® |
| (tm) (тм) ™ |
™ |
| § | § |
| € | € |
| ¥ | ¥ |
| £ | £ |
| +- ± |
± |
| ~= | ≈ |
| ... … … |
… |
| Заменяемые | На символ |
|---|---|
| ° | ° |
| " « » „ “ „ “ ” << >>[2] |
" |
| ^2 ²[3] |
² |
| ^3 ³[3] |
³ |
Примечания:
- ↑ Поиск ответов Грамоты.ру
- ↑ Сразу после << и сразу перед >> не должно быть пробела
- ↑ 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%-й».
- После «№» или «§», если за этими знаками следует цифра.
- В сокращениях «и т.д.», «и т.п.», «т.н.», «н.э.».
- После цифр перед обозначением единиц измерения «м», «мм», «см», «дм», «км», «г», «кг», «мг», «с», а также перед сокращениями «тыс.», «млн», «млрд», «трлн». Сокращение «тыс» дополняется точкой. Для остальных точка убирается в тех случаях, если сокращение очевидно не приходится на конец предложения.
- После цифр перед сокращениями «г.», «гг.», «в.», «вв.».
При этом в нечётных пространствах и в пространстве «Википедия:» (то есть везде, где могут быть обсуждения) вместо неразрывного пробела используется обычный, чтобы минимизировать изменения в чужих сообщениях, а также не допустить слишком большие сравнения версий из-за Firefox 1 и 2 (подробнее см. ссылку про неразрывные пробелы выше).
[править] Градусы
Викификатор расставляет пропущенные знаки градуса, например:
+4 C→+4 °C-20 F→−20 °F
При этом перед знаком градуса ставится неразрывный пробел.
[править] Захват в ссылки
Викификатор для удобства заменяет викификацию некоторых слов и словосочетаний на равносильную или на устоявшуюся.
в [[2009]] году→в [[2009 год]]ув [[2009 год в кино|2009]] году→в [[2009 год в кино|2009 году]][[Луиджи д’Амброзио|Луиджи]] д’Амброзио→[[Луиджи д’Амброзио]][[горох|гороховый]]→[[горох]]овый[[:en:pea|горох]]овый→[[:en:pea|гороховый]]
Последние две замены работают в том случае, если в «хвосте» только строчные русские или латинские буквы.
[править] Сообщения Викификатора
Сообщения выдаются на английском из-за возможных проблем отображения русских букв в диалоговых окнах в старых версиях браузеров.
Wikificator cannot work in your browser
- (В вашем браузере Викификатор работать не может).
Означает, что браузер не поддерживает регулярные выражения на достаточном уровне. Используйте другой браузер.
Wikificator will process ALL text on this page. Continue?
- (Викификатор обработает весь текст. Продолжить?).
Означает, что реализация JavaScript в браузере не позволяет обработать только выделенный фрагмент. Нажмите «Ok», чтобы разрешить Викификатору обработать весь текст.
Wikifikator doesn’t work on discussion pages
- (Викификатор не обрабатывает обсуждения).
Викификатор отказывается обрабатывать текст на страницах обсуждений (всех нечётных пространств и в пространстве 4 «Википедия:»), если находит в нём более одной подписи. Не следует без необходимости править чужие сообщения.
Замечания:
- Фрагмент текста, который нужно обработать, можно выделить перед вызовом викификатора.
- В случае необходимости обработать всю дискуссию, можно перейти к редактированию, например, своей личной страницы, скопировать текст туда, нажать кнопку Викификатора, а затем перенести обработанный текст обратно.
[править] Совместимость
Если вы используете браузер, которого нет в списке, то, пожалуйста, протестируйте в нём работу Викификатора и добавьте его в соответствующий список.
- Internet Explorer 5.5, 6.x, 7.x, 8.х, 9.х (включая Maxthon 1.x[1] и Avant Browser 11.x)
- Firefox 1.x, Firefox 2.x, Firefox 3.x, Firefox 4.0b (включая Flock 1.x, 2.x и Iceweasel 1.x, 2.x)
- Google Chrome/Chromium[2]
- Opera 7.x[1], Opera 8.x, Opera 9.x, Opera 10.x и 11.1x
- Safari 3 (под Windows и Mac OS)
- Mozilla 1.0[1], 1.2.x[1], Mozilla 1.7.x (включая Orca 1.x)
- Netscape 7.x
- Galeon 1.2.x[1], Galeon 1.3.x
- Konqueror 3.1.x[1], 3.2.x[1], 3.3.x[1], 3.4.x[1], 3.5.x
- SkipStone 0.8.x[1]
- SeaMonkey 1.1.9
Примечания:
- Arachne 1.70
- Internet Explorer 3.x, 4.x
- MATLAB HelpBrowser 6.x
- Netscape 3.x, 4.x
- Opera 4.x
- Safari 1.3
[править] Известные проблемы
- При исключении шаблонов из обработки не обрабатывается случай использования шаблонов в шаблонах (вложенность) — та часть включающего шаблона, которая расположена после ближайших скобок }}, закрывающих вложенный шаблон, обрабатывается викификатором как обычный текст. Например, в коде
{{шаблон1|1={{шаблон2}}|2=параметр2}}не прячется от викификации часть|2=параметр2}}. "Вложенные «кавычки»"правильно обрабатываются только после пробела или в начале строки.
[править] Если викификатор портит текст
Об ошибках обработки текста следует сообщить на странице Обсуждение Википедии:Викификатор. При этом нужно указать конкретный начальный текст, во что он превращается, каким должен быть правильный результат, а также название и версию своего браузера.
Если имеет место редкое исключение из правил обработки Викификатора, которое невозможно или очень трудно исправить (например, цитата «авторского текста»), следует окружить проблемный кусок текста тегами <nowiki></nowiki>, чтобы Викификатор его не обрабатывал. При этом для будущих редакторов статьи можно рядом в комментариях указать <!--для защиты от Викификатора-->.
