stringtranslate.com

Пользователь:Ebrahames/Консультант

  • WP:СОВЕТНИК

Этот скрипт выявляет распространенные проблемы форматирования и стилистики, проверяя вики-текст по мере ввода текста.

Установка

Вот как это выглядит.
(без товарного знака Википедии)

Добавьте следующее в ваш личный js :

importScript ( 'Пользователь:Ebrahames/Advisor.js' );

Затем обновите. С этого момента список предложений будет отображаться над полем редактирования, пока вы редактируете страницу. Щелчок по названию предложения выделяет текст, к которому оно относится. Двойной щелчок вызывает всплывающее сообщение справки. Ссылка «исправить» рядом с ней вставляет предлагаемую замену в соответствующее место.

Если вы с подозрением относитесь к материалам, которые вы добавляете в свой 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 : Цифровые экранированные символы (например &#97;, или &#x61;для строчной латинской буквы a) могут быть записаны как обычный текст. Предложения будут сделаны только для кодов символов больше 127, чтобы избежать нарушения синтаксиса, когда специальные символы, такие как « меньше» , левая квадратная скобка или амперсанд ( < [ &), заменяются их буквальными значениями.
    В следующем примере акцентированные символы в слове déjà встроены, а амперсанд остается нетронутым. é — это шестнадцатеричный escape-код с одной точкой кода, а à — это комбинация a и акцента. Обратите внимание, что буква à в результате по-прежнему состоит из двух точек кода.
    d&#xe9;ja&#768; vu &amp; visité.
    становится
    déjà vu &amp; visité.
  • HTML сущность : Некоторые символы могут быть экранированы в синтаксисе вики HTML-стиля. Более кратко и обычно более читабельно писать их непосредственно в Unicode.
    Kurt G&ouml;del was born in Br&uuml;nn.
    &exist;R &forall;x x&isin;R &hArr; x&notin;x
    становится
    Kurt Gödel was born in Brünn.
    ∃R ∀x x∈R ⇔ x∉x
  • многоточие : заменяет символ многоточия ("…", U+2026) на три точки ("...", 3× U+002E), как рекомендовано WP:MOS#Ellipses . обсудить
    A … Z
    становится
    A ... Z
  • все заглавные буквы : Согласно Руководству по стилю , следует избегать всех заглавных букв. Наиболее частое злоупотребление — это слово «НЕ», и оно определяется по сценарию:
    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 и не видите выделенный текст в текстовой области, нажмите клавишу на клавиатуре, и курсор окажется сразу после исправляемого текста; вы можете щелкнуть ссылку с предложением еще раз, чтобы выделить его.
Исправлены проблемы


  • Даты ISO не распознаются при поиске ссылок на годы.
  • Может вести себя странно в Internet Exporer. Автоматический выбор подозрительного текста не работает, и могут быть другие проблемы. Моя политика — быть совместимым с Internet Explorer, поэтому я буду работать над этим.
  • Нажатие на ссылку предложения иногда не переводит фокус на область редактирования текста. Я наблюдал такое поведение в Firefox и Galeon. Простой способ обойти это — нажать «tab», чтобы правильно переместить фокус.
  • Код, который прокручивает текст до выбранного текста в текстовой области, был адаптирован из скрипта Searchbox от Zocky , и поэтому имеет проблему прокрутки : « Найденный текст иногда может все еще находиться за пределами поля редактирования. Прокрутите немного вверх и вниз, чтобы найти его ».
  • Advisor.js зависит от наличия панели инструментов редактирования , поэтому он не работает, если панель инструментов отключена в пользовательских настройках. Панель инструментов присутствует по умолчанию, и большинство википедистов, похоже, используют ее. Однако эта зависимость на самом деле не является обязательной, и Advisor.js можно изменить соответствующим образом.
  • Правило «все заглавные» дает ложный положительный результат при замене Template:NoMoreLinks .
  • Для новых разделов не следует создавать сводку изменений.

Дальнейшее развитие

Их пока нет Advisor.js, но их стоит рассмотреть:

Реализованные или отклоненные идеи


  • [[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 на что-то вроде:

document.write ( '<script src="http://localhost:8000/AdvisorCustom.js " type="text/javascript"></script>' ) ;

Таким образом, вы можете свободно экспериментировать, не загромождая свой список вкладов.