Затем обновите. С этого момента список предложений будет отображаться над полем редактирования, пока вы редактируете страницу. Щелчок по названию предложения выделяет текст, к которому оно относится. Двойной щелчок вызывает всплывающее сообщение справки. Ссылка «исправить» рядом с ней вставляет предлагаемую замену в соответствующее место.
Если вы с подозрением относитесь к материалам, которые вы добавляете в свой common.js, а у вас есть основания для подозрений, вам, возможно, стоит просмотреть код перед его использованием.
Функции
Во время редактирования вам могут быть предложены следующие варианты:
Связывание
A|A : Это означает, что [[A|A]]это эквивалентно [[A]]и может быть упрощено.
[[relational model|relational model]]
становится
[[relational model]]
A|AB : Если «B» — окончание слова, [[A|AB]]можно сократить до [[A]]B.
[[relational model|relational modelling]]
становится
[[relational model]]ling
Ссылка на год : Ссылки на год, которым не предшествует дата, бесполезны и должны быть предложены к удалению.
In [[1984]] there will be...
становится
In 1984 there will be...
ссылка на десятилетие : предлагает отмежеваться от десятилетий. Согласно WP:DATE , десятилетия не следует связывать, если они не могут принести релевантную информацию по теме.
''Led Zeppelin II'' largely wrote the blueprint for [[1970s]] hard rock.
становится
''Led Zeppelin II'' largely wrote the blueprint for 1970s hard rock.
Форматирование символов
пробелы : Завершающие пробелы не используются. В настоящее время U+0020распознаются только обычные пробелы ( ). Я могу добавить поддержку других пробелов, если это когда-нибудь понадобится.
Spaces were not used to separate words in
Latin until roughly 600 AD – 800 AD.
становится
Spaces were not used to separate words in
Latin until roughly 600 AD – 800 AD.
ndash для диапазонов лет: Мой скрипт предпочитает символ Unicode при предложении замены, но он не пытается изменить существующие экранированные последовательности HTML ( –). Это правило (пока) не улавливает диапазоны лет " circa(c. 1812-c.1934) ", например " "
(1989–2003)
становится
(1989–2003)
nbsp-dash : Если перед mdash или ndash стоит пробел, лучше, чтобы он был неразрывным .
If you resize your browser window and the mdash is never wrapped at the beginning of a line — it works.
становится
If you resize your browser window and the mdash is never wrapped at the beginning of a line — it works.
Символ IPA : Некоторые символы IPA имеют ложных друзей . Предлагается заменить двоеточие и апостроф на символы IPA, которые выглядят похожими. Распознаются только фрагменты в шаблонах, связанных с IPA .
Birmingham {{IPA|/'bɜ:mɪŋˌəm/}}
становится
Birmingham {{IPA|/ˈbɜːmɪŋˌəm/}}
unicode-escape : Цифровые экранированные символы (например a, или aдля строчной латинской буквы a) могут быть записаны как обычный текст. Предложения будут сделаны только для кодов символов больше 127, чтобы избежать нарушения синтаксиса, когда специальные символы, такие как « меньше» , левая квадратная скобка или амперсанд ( < [ &), заменяются их буквальными значениями.
В следующем примере акцентированные символы в слове déjà встроены, а амперсанд остается нетронутым. é — это шестнадцатеричный escape-код с одной точкой кода, а à — это комбинация a и акцента. Обратите внимание, что буква à в результате по-прежнему состоит из двух точек кода.
déjà vu & visité.
становится
déjà vu & visité.
HTML сущность : Некоторые символы могут быть экранированы в синтаксисе вики HTML-стиля. Более кратко и обычно более читабельно писать их непосредственно в Unicode.
все заглавные буквы : Согласно Руководству по стилю , следует избегать всех заглавных букв. Наиболее частое злоупотребление — это слово «НЕ», и оно определяется по сценарию:
You should NOT use all caps, but italics for an emphasis.
становится
You should ''not'' use all caps, but italics for an emphasis.
Использование шаблона
lang-xx , где xx как код alpha2 : Эти шаблоны используются для описания определенного фрагмента текста как написанного на иностранном языке. Например:
[[Hungarian language|Hungarian]]: Magyar Cserkészlány Szövetség
становится
{{lang-hu|Magyar Cserkészlány Szövetség}}
основная-статья , далее , ...: Предложите использовать шаблоны для стандартных фрагментов текста, например, такие:
:Main article: [[A|B]]
становится
{{main|A|B}}
default-sort : Если название статьи похоже на имя человека и используется как ключ сортировки для какой-то категории, то предложите использовать волшебное слово "DEFAULTSORT". Исключения можно указать в скрипте. Большинство болгарских, македонских, русских и подобных им имен легко распознаются благодаря окончаниям -ov , -ev или -ski . Если у вас есть предложение по распознаванию имен людей на вашем языке, дайте мне знать . Например, в статье под названием "Georgi Markov":
[[Category:BBC newsreaders and journalists|Markov, Georgi]]
[[Category:Bulgarian writers|Markov, Georgi]]
становится
{{DEFAULTSORT:Markov, Georgi}}
[[Category:BBC newsreaders and journalists]]
[[Category:Bulgarian writers]]
default-sort-magic-word : предлагает заменить шаблон волшебным словом.{{DEFAULTSORT}}
{{DEFAULTSORT|x}}
становится
{{DEFAULTSORT:x}}
defaultsort-a и defaultsort-the : добавляют {{DEFAULTSORT:...}}статьи, названия которых начинаются с « A» или « The».
'''The Rolling Stones''' are an English band whose music was ...
[[Category:1960s music groups]]
[[Category:1970s music groups]]...
[[Category:2000s music groups]]
становится
'''The Rolling Stones''' are an English band whose music was ...
{{DEFAULTSORT:Rolling Stones, The}}
[[Category:1960s music groups]]
[[Category:1970s music groups]]...
[[Category:2000s music groups]]
deprecated-template : Некоторые шаблоны устарели . Advisor.js только указывает на то, что такие шаблоны используются, не предоставляя исправления.
{{Harvard reference | last=Jones | year=2006}}
Другой
заголовок : Исправляет смещенные пробелы, допускает только == Heading ==или ==Heading==(лично я предпочитаю первый вариант), и может исправлять орфографию и заглавные буквы стандартных заголовков, таких как «Внешние ссылки», «Ссылки», «См. также». Также сообщается о неправильном вложении заголовков и дублировании названий разделов.
==Early life ==
==== See Also====
становится
==Early life==
=== See also ===
ISBN : проверяет 10- и 13-значные номера ISBN . Недействительные номера ISBN сообщаются без предложения исправления.
Автоматическая прокрутка текстовой области в Opera кажетсяневозможныйсложно реализовать. Он игнорирует установку scrollTopсвойства. Opera 9.5, скорее всего, исправит эту проблему (журнал изменений Opera 9.5 Beta 1, поиск по запросу "scrollTop"). Обходной путь можно реализовать, обернув текстовую область в элемент div и прокручивая div вместо этого. обсудить
Если вы используете Opera и не видите выделенный текст в текстовой области, нажмите клавишу → на клавиатуре, и курсор окажется сразу после исправляемого текста; вы можете щелкнуть ссылку с предложением еще раз, чтобы выделить его.
После нажатия «Предварительный просмотр» предлагаемое резюме теряется. Другими словами: вы редактируете страницу, «исправляете» некоторые предложения сверху, названия изменений накапливаются и появляются со ссылкой «Добавить в резюме» прямо над строкой «Изменить резюме», затем вы нажимаете «Предварительный просмотр» (не нажимая «Добавить в резюме»), и ваши накопленные названия изменений исчезают, поэтому вам приходится возвращаться. Это проблема удобства использования.
Advisor.js несовместим с wikEd . Причина этого в том, что wikEd отображает wikitext не в обычной TEXTAREA , а как динамически созданное дерево DOM в IFRAME ; это из-за подсветки синтаксиса. Мне нужно иметь возможность выделять текст между двумя определенными смещениями (включая прокрутку его в область видимости) и заменять этот текст. Пользователь:Cacycle предложил способ сделать это, и я начал реализовывать решение. Однако в эти выходные у меня возникли трудности с этим, и до сих пор работало только выделение. Прокрутка до правильного смещения и замена выделенного текста пока не работают.
Нет простого способа включить и выключить скрипт без изменения monobook.js — это может быть полезно для мобильного доступа. Скрипт должен быть либо предложен для включения в качестве WP:Gadget , либо должна быть реализована кнопка переключения. обсудить (я уже предлагал его включение в качестве гаджета.)
Правило "mdash" недокументировано и не работает так, как ожидается. Оно должно только заменить дефис на длинное тире, не преобразуя пробел перед ним в nbsp. Последнее должно обрабатываться "nbsp-dash". обсудить
Раздражает постоянное предупреждение о пробелах в конце текста во время набора текста.
После принятия исправления история отмен больше не работает в IE и Opera.
Исправлены проблемы
Даты ISO не распознаются при поиске ссылок на годы.
Может вести себя странно в Internet Exporer. Автоматический выбор подозрительного текста не работает, и могут быть другие проблемы. Моя политика — быть совместимым с Internet Explorer, поэтому я буду работать над этим.
Нажатие на ссылку предложения иногда не переводит фокус на область редактирования текста. Я наблюдал такое поведение в Firefox и Galeon. Простой способ обойти это — нажать «tab», чтобы правильно переместить фокус.
Код, который прокручивает текст до выбранного текста в текстовой области, был адаптирован из скрипта Searchbox от Zocky , и поэтому имеет проблему прокрутки : « Найденный текст иногда может все еще находиться за пределами поля редактирования. Прокрутите немного вверх и вниз, чтобы найти его ».
Advisor.js зависит от наличия панели инструментов редактирования , поэтому он не работает, если панель инструментов отключена в пользовательских настройках. Панель инструментов присутствует по умолчанию, и большинство википедистов, похоже, используют ее. Однако эта зависимость на самом деле не является обязательной, и Advisor.js можно изменить соответствующим образом.
Правило «все заглавные» дает ложный положительный результат при замене Template:NoMoreLinks .
Для новых разделов не следует создавать сводку изменений.
Дальнейшее развитие
Их пока нет Advisor.js, но их стоит рассмотреть:
ipa : Последовательности символов IPA должны быть заключены в следующие теги: {{IPA|kʰæmɫ.tɹeɪdə}}, чтобы MediaWiki могла учитывать особенности браузера.
AmE-BrE-bias : если в статье есть достаточно веские намеки на то, что в ней используется или должен использоваться американский английский, а не британский английский, или наоборот , Advisor.js должен предложить следовать большинству.
смещение даты : то же самое для дат в американском стиле (" [[1 января]], [[2000]] ", некоторые другие части мира также используют его) по сравнению с общепринятыми датами (" [[1 января]] [[2000]] "). Я считаю, что тема статьи (например, связана ли она с США) должна влиять на баланс, если есть хорошая эвристика для распознавания американизмов.
по состоянию на , по состоянию на месяц : Предлагается связать « по состоянию на 2000 год » с « [[по состоянию на 2000 год]] » и преобразовать « [[по состоянию на январь 2000 года]] » в « [[по состоянию на 2000 год|по состоянию на январь 2000 года]] » согласно WP:AO .
Предложите добавить теги обслуживания, например: обсудить
{{subst: Мелочи }} под любыми разделами с надписью «Мелочи» или «Разное»
{{ Nofootnotes }} к любой статье, в которой отсутствует тег <ref>
{{subst: датировано |без рубрики}} к любой статье, в которую не включена категория или шаблон (поскольку многие шаблоны добавляют статьи в категории)
{{ Deadend }} к статьям, имеющим менее трех (например) ссылок
{{ ExcessiveLinks }} или {{ Too many links }} на статьи, которые имеют более 20 (опять же, произвольное число) ссылок за пределами <refs> , или на более 20 ссылок под заголовком «Внешние ссылки»
[[ns:A (B)|A]]: Синтаксис Mediawiki позволяет переписать это как [[ns:A (B)|]]. Пространство имен и текст в скобках необязательны. Это известно как трюк с конвейером и [[ns:A (B)|]]восстанавливается [[ns:A (B)|A]]при сохранении страницы. Поэтому не имеет смысла предлагать его замену.
heading-bias : Если заголовки с пробелами ( == Heading ==) в статье значительно больше, чем заголовки без пробелов, или наоборот , предложите соответствовать большинству. Реализовано как часть предложения "heading".
Проверка номеров ISBN с помощью контрольной суммы. обсудить Реализовано.
lang|bg : Подозрительно выглядящие последовательности кириллических символов могут быть помечены {{lang|bg|Инджектопляктор}}, если они на болгарском языке. Это не влияет на то, как они выглядят в браузере, но может помочь инструментам идентифицировать иностранные тексты. Это не будет реализовано, поскольку многие языки используют кириллицу. Идентификация фрагментов текста на иностранных языках в Википедии в любом случае встречается редко.
century link : удалить связь веков, например: [[17th century]]-> 17th century. Реализовано.
декада : исправлены неправильно отформатированные декады, например: 1990's-> 1990s(родительный падеж может приводить к ложным срабатываниям) Реализовано.
defaultsort-the , defaultsort-a : предлагается использовать {{DEFAULTSORT}}, когда название статьи начинается с "a" или "the" и не используется никакой другой ключ сортировки. Реализовано. На самом деле последние слова должны быть "... и никакой другой DEFAULTSORT не используется".
Я открыт для новых идей и с радостью их реализую. Но если у вас есть некоторые знания JavaScript, вы можете рассмотреть возможность отправки собственного кода — вот пример того, как это сделать:
ct . rules . push ( функция ( s ) {// ``Правило'' — это функция JavaScript, которая принимает строку в качестве // параметра (вики-текст редактируемой страницы) и возвращает массив // объектов ``предложения''.var matches = ct . getAllMatches ( /int he/g , s ); // getAllMatches() — моя вспомогательная функция, вам не обязательно ее использоватьvar suggestions = []; // Объект ``suggestion'' должен иметь следующие свойства: // * start — отсчитываемый от 0 индекс первого символа, который нужно заменить // * end — аналогично start, но исключает // * (необязательно) replacement — предлагаемый вики-текст, если таковой имеется // * name — это то, что отображается в верхней части страницы // * description — используется как подсказка для имени предложения // * (необязательно) help — фрагмент HTML в виде строки, он появится в желтом поле // при двойном щелчке по предложениюfor ( var i = 0 ; i < matches . length ; i ++ ) { var match = matches [ i ]; suggestions . push ( { start : match . start , end : match . end , replacement : "in the" , name : "spelling-example" , description : "Вы, вероятно, имели в виду ``in the'' вместо ``int he''." }); }вернуть предложения ;});
Один из способов проверить это — скопировать исходный код Advisor на какую-нибудь страницу в вашем личном пространстве имен, добавить пользовательский код и выполнить importScript()для новой страницы вместо исходной Advisor.js. (Мне не удалось достичь своей цели, поместив пользовательский код на отдельную страницу и импортировав оба. Вероятно, importScript()импорт скриптов в каком-то непредсказуемом порядке, я не знаю...)
Однако, чтобы уменьшить ненужную нагрузку на серверы Википедии, я рекомендую запустить на локальном хосте какой-нибудь простой веб-сервер (например, lighttpd , Apache , Tomcat или любой другой, с которым вы, возможно, знакомы) и заменить ваш monobook.js на что-то вроде: