Help:Викификатор

From Wiki4Intranet
Revision as of 12:26, 4 June 2011 by StasFomin (Talk | contribs) (добавил репликацию в wiki.4intra.net)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Викификатор — это сценарий на JavaScript, который обрабатывает текст в окне редактирования статьи согласно некоторым правилам wiki-разметки и некоторым правилам набора русского текста. Для исполнения викификатора надо выделить нужный фрагмент текста и щелкнуть ссылку «Викификатор» внизу окна редактирования. В случае, если в окне редактирования статьи ничего не выделено, то викификатор обработает весь текст целиком.

К сожалению, реализация JavaScript в некоторых веб-браузерах (например, Opera 7.0, Konqueror 3.2 и др.) не позволяет обрабатывать только выделенный фрагмент. В этом случае Викификатор попросит подтверждения на обработку всего текста целиком.

Основные функции Викификатора

  • Заменяет некоторые HTML-теги на аналогичную wiki-разметку:
    • Теги жирного шрифта (<b></b>, <strong></strong>) на ''';
    • Теги курсива (<i></i>, <em></em>) на '';
  • Заменяет три точки (...) и последовательности &hellip; и &#133; на знак многоточия (…).
  • Вставляет где нужно тире и минус (см. ниже)
  • Расставляет правильные кавычки и кавычки внутри кавычек (см. ниже).
  • Заменяет (c), (tm), (r) и др. на специальные символы (см. ниже).
  • Расставляет там где нужно знаки градуса (см. ниже).
  • Расставляет пропущенные пробелы и убирает лишние (см. ниже).
  • Пропускает текст внутри HTML-тегов, внутри тегов <nowiki></nowiki> и <math></math>, а также внутри двойных квадратных скобок ([[ и ]]). Кроме того, Викификатором не обрабатываются строки, начинающиеся с пробела (неформатированный текст).

Комбинации клавиш

Если Вы используете браузер Internet Explorer или браузеры на нём основанные, то Викификатор можно вызвать при помощи комбинации клавиш Ctrl+Enter; для того, чтобы быстро отменить изменения сделанные Викификатором можно нажать на клавиатуре сочетание Ctrl+Z.

В браузерах основанных на Gecko (Galeon, FireFox, Mozilla, Netscape 6.x-7.x, SkipStone и др.) Викификатор можно вызвать комбинацией клавиш Alt+W.

Дефис, минус и тире

Викификатор заменяет на минус (-):

  • Дефис, за которым следует цифра, и которому предшествует пробел;
  • Дефис, за которым следует цифра, и которому предшествует последовательность sup> или sub>;
  • Дефис, отбитый с двух сторон пробелами, которые окружены цифрами (5 - 2).

После обработки минусов Викификатор заменяет на длинное тире (—):

  • Короткое тире (–);
  • Последовательности &mdash;, &ndash; и &#151;;
  • Дефис, окружённый пробелами ( - );
  • Дефис в начале строки (прямая речь);
  • Дефис окруженный с каждой сторон четырьмя цифрами (1985-1991);
  • Дефис, окружённый римскими цифрами (VII-IX);
  • Двойной дефис, окружённый пробелами ( -- ) или цифрами (1941--1945);
  • Двойной дефис, после которого идут три тильды (--~~~) или слово [[Участник (--[[Участник);

Обратите внимание, что дефис просто окружённый цифрами не обрабатывается Викификатором. Это сделано специально, чтобы избежать многозначностей: «Когда Васе было где-то 3-4 года [нужен дефис] он думал, что другие дети в возрастном периоде 3-4 года [нужно тире] не смогут понять, что 3-4=-1 [нужен минус]».

Кавычки

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

  • «
  •  »
  • &laquo;
  • &raquo;
  • &bdquo;
  • &ldquo;
  • &#132;
  • &#147;
  • &#148;
  • &quot;
  • Парные двойные угловые скобки с текстом внутри них (например, <<текст между скобками, который не начинается с пробела и не заканчивается им>>).

Затем "обычные" кавычки превращаются в «кавычки-ёлочки», а кавычки внутри кавычек в „кавычки-лапки“.

Кавычки после знака «равно» и весь текст внутри них Викификатором не обрабатываются. Например, не будут обработаны кавычки в строках: «border="0"», «width= "50%"» и т. п.

Также кавычки вокруг ссылок вставляются во внутрь ссылок:

  • Заменяет "[[Ссылка]]" на [[Ссылка|«Ссылка»]].
  • А "[[Ссылка|Описание]]" превращается в [[Ссылка|«Описание»]].

Специальные символы

Викификатор заменяет:

  • (c), (с) (русское "С") и &copy; на ©;
  • (r) и &reg; на ®;
  • (tm), (тм) и &trade; на ™;
  • (p) (английское "P") и &sect; на §;
  • &euro; на €;
  • Сочетание +- на ±.

Градусы

  • Расставляет пропущенные знаки градуса. Так, «+4 C, -10 C, +453 F и -20 F» будут превращены в «+4 °C, -10 °C, +453 °F и -20 °F». Также заменяется обычный пробел перед знаком градуса на неразрывный.
  • Заменяет последовательность &deg; на знак градуса (°).

Пропущенные и лишние пробелы

  • Викификатор заменяет неразрывным юникодовским пробелом U+00A0 пропущенные пробелы в сокращениях «и т.д.», «и т.п.», «т.к.» и «т.е.». Неразрывный юникодовский пробел аналогичен мнемокоду «&nbsp;», но выглядит как обычный пробел, благодаря чему статью удобнее редактировать.
  • Пропущенный пробел в сокращении «н.э.» Викификатор заменяет обычным пробелом. Можно было бы вставлять и неразрывный пробел, но это не делается, чтобы случайно не возникли неправильные ссылки на статьи о годах до нашей эры. Сравни 100 до н. э. (юникодовский неразрывный пробел) и 100 до н. э. (обычный пробел).
  • Также вставляется пробел в русские инициалы (например, «А.С. Пушкин» превращается в «А. С. Пушкин»). Чтобы не возникло ошибок (например, в ссылке на статью Золотая медаль имени А. С. Попова), между инициалами вставляется обычный пробел, а не неразрывный.
  • Вставляется пропущенный пробел после точки в конце предложения. Так, «слово.Слово» будет преобразовано в «слово. Слово».
  • Удаляются ненужные пробелы перед запятой, а пропущенные после неё пробелы, напротив, вставляются. Так, например, «Учиться,учиться ,учиться , учиться и ещё раз учиться» будет превращено в «Учиться, учиться, учиться, учиться и ещё раз учиться».
  • Убирается лишний пробел перед точкой с запятой. Например, «слово ; слово» будет превращено в «слово; слово».
  • Удаляется пробел после цифры, если за ней следует знак процента (%) или промилле (‰). Так, «5 % и 16,7 ‰» будут преобразованы в «5% и 16,7‰».
  • Вставляются пробелы после знаков «*», «#» и их комбинаций в начале строки.
  • Вставляются пробелы в начале и конце заголовков, то есть «==Заголовок==» превращается в «== Заголовок ==».
  • Несколько идущих подряд пробелов заменяются одним пробелом. Не обрабатываются лишь строки, которые начинаются с пробела (неформатированный текст).

Сообщения об ошибках

В некоторых совсем старых версиях браузеров Викификатор вместо обработки текста может выдавать сообщение об ошибке:


Сообщение: Wikificator cannot work in your browser (В вашем браузере Викификатор работать не сможет).

Причина: Поддержка Java-script в браузере сделана не до конца. В частности, вообще не обрабатываются регулярные выражения.

Что делать: Взять другой браузер.

Характерно для браузеров (дополняйте): Opera 4.01


Сообщение: Wikificator will not work in Netscape 4.x and less (Викификатор не будет работать в браузере Netscape версии 4.x и меньше).

Причина: Старые версии Нетскейпа, когда встречают регулярное выражение типа replace(/что-то/mg, "на что-то"), почему-то перестают обрабатывать весь последующий за таким выражением код скрипта. Подобные выражения используются в Викификаторе, например, для того, чтобы пропускать текст, начинающийся с пробелов, (неформатированный текст). Во избежание возможных ошибок Викификатор в старых версиях Нетскейпа отключён вообще.

Что делать: Воспользоваться более новой версией браузера.

Характерно для браузеров (дополняйте): Netscape Communicator 4.06, Сибкон Коммуникатор 4.70.

Сообщения об ошибках выдаются на английском, так как в этих старых версиях браузеров имеются к тому же проблемы с отображением в диалоговых окнах русских букв в кодировке Юникод.

Технические замечания

Администраторы проекта могут изменить программу Викификатора на странице MediaWiki:Summary. Все остальные могут лишь посмотреть её код.

Все пожелания по улучшению Викификатора, а также сообщения о найденных в нём ошибках пишите на странице Википедия обсуждение:Викификатор.

Совместимость

Если Вы используете браузер, которого нет в списке, то, пожалуйста, протестируйте в нём работу Викификатора и добавьте его в список.

Браузеры, в которых Викификатор работает:

  • FireFox 1.x
  • Galeon 1.2.x, Galeon 1.3.x
  • Internet Explorer 5.5, 6.x
  • Konqueror 3.1.x, 3.2.x
  • Mozilla 1.0, 1.2.x, Mozilla 1.7.x
  • Netscape 7.x
  • Opera 7.x, Opera 8.x
  • SkipStone 0.8.x
В браузерах выделенных курсивом не поддерживается обработка выделения.

Браузеры, в которых Викификатор не работает:

  • Arachne 1.70
  • MATLAB HelpBrowser 6.x
  • Netscape 3.x, 4.x
  • Opera 4.x

См. также

Ссылки


Статья отреплицирована из внутренней базы знаний компании.