Участник:Менделеевец99/DisambigFIO

JS-скрипт DisambigFIO (помощь участнику в создании дизамбигов персоналий)

Назначение

Помогает участнику создавать стандартную часть вики-текста страниц неоднозначности вида:

  • Фамилия, Имя
  • Фамилия, Имя Отчество

с применением шаблона {{NL}}, как это принято в русском языковом разделе Википедии.

Установка

На страницу Служебная:Mypage/common.js[1] скопируйте код строки подключения

mw.loader.load('https://ru.wikipedia.org/w/index.php?title=User:Менделеевец99/JS/DisambigFIOLib.js&action=raw&ctype=text/javascript');

Скрипт предназначен для использования в режимах редактирования и предварительного просмотра, поэтому рационально помещать строку подключения внутрь условного оператора if проверяющего режим работы страницы. Если в Вашем common.js ещё нет такого оператора if, то скопируйте его из следующего абзаца.

if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
// здесь помещать строки подключения скриптов для режима редактирования
}

и сохраните страницу (common.js).

Актуальная стабильная версия 1.4 — (опубликована 24 октября 2017 года). Текущая версия 1.4. При переходе в режим редактирования какой-либо страницы[2] на панели инструментов вики-редактора появляется командная кнопка со значком . Для отображения этой кнопки, в настройках участника должна быть включена опция Показывать панель инструментов при редактировании на вкладке Редактирование.

Удаление

Если Вы не захотите больше пользоваться этим скриптом, просто удалите строку подключения из вашего js-файла и очистите кеш браузера.

Применение

Начните создание новой страницы в основном пространстве с именем вида Фамилия, Имя Отчество (уточнение) или перейдите в режим редактирования вики-текста существующей страницы с подобным файловым именем. Над окном редактирования скрипт отображает свою командную кнопку с всплывающей подсказкой
DisambigFIO (Дизамбиг персоналий) v.1.4. Достаточно нажать эту кнопку, чтобы гаджет сформировал стандартную часть вики-текста страницы дизамбига, исходя только из файлового имени редактируемой страницы. Контент дизамбига — перечень персоналий не может быть сгенерирован только из имени страницы дизамбига. Контент должен добавить участник применяющий этот скрипт.

Пример

Файловое имя создаваемой страницы Журавлёв, Александр Александрович (значения)

гаджет сгенерировал вики-текст:

{{ФИО}}
'''Александр Александрович Журавлёв:'''
<!-- Перенесите следующую строку вики-текста на страницу [[Журавлёв, Александр]]
* {{NL2|Журавлёв, Александр Александрович (значения)|Журавлёв, Александр Александрович}}
 и удалите весь этот комментарий -->
<onlyinclude>
* [[Журавлёв, Александр Александрович (уточнение)|Журавлёв, Александр Александрович]] (род. 19??) —— род занятий.</onlyinclude>
{{Список полных тёзок}}

Сначала покажет добавляемый текст в окне сообщения. Любое окно сообщения имеет только кнопку "ОК". Поэтому не предоставляет возможности отменить вставку текста. После нажатия "ОК" сгенерированный гаджетом вики-текст будет вставлен в вики-текст редактируемой страницы в текущую позицию курсора перед выделением (если выделено), не заменяя существующий вики-текст[3]. Участнику остаётся вручную:

1. добавить вики-текст, собственно списка персоналий.

В данном случае список персоналий участник вручную перенёс со страницы

[[Журавлёв, Александр]]
{{Однофамильцы|Журавлёв}}
'''Александр Журавлёв:'''
<!-- Перенесите следующую строку вики-текста на страницу [[Журавлёв]]
* {{NL|Журавлёв, Александр}}
 и удалите весь этот комментарий -->
<onlyinclude>
* [[Журавлёв, Александр Отчество (уточнение)|Журавлёв, Александр Отчество]] (род. 19??) —— род занятий.</onlyinclude>
{{Список однофамильцев-тёзок}}
2. перенести вызов шаблона NL
* {{NL2|Журавлёв, Александр Александрович (значения)|Журавлёв, Александр Александрович}}
на страницу, в которую должна включаться (англ. transclude) редактируемая страница —
Журавлёв, Александр (в данном примере), на место изымаемой из неё части списка персоналий.

Внимательно просматривайте сгенерированный вики-текст.

Настройки

Настройки записываются в виде

var DisambigFIO_переменная = значение;

перед строкой подключения. Например, весь код подключения скрипта будет выглядеть так (в актуальной версии 1.2 настроечные параметры не реализованы):

//var DisambigFIO_alert_no = true; // в актуальной версии 1.2 настроечные параметры не реализованы
importScript('Участник:Менделеевец99/JS/DisambigFIOLib.js');

Список настроечных параметров:

Переменная Описание Значение по умолчанию
alert_no Не выводить окна сообщений. false
true

Тестирование

  • Автор протестировал скрипт, в той же учётной записи где лежит код скрипта. И в другой (У:NW55), специально созданной для тестирования скриптов.
  • Автор протестировал скрипт только с «новой» панелью инструментов вики-редактора.

Баг-репорты

[4]

Баг-репорты
Описание Версия дифф
3 B1 C1 v.1.5-004
2 B2 C2 D2
1 B3 C3 D3

Changelog — история изменений

1.2 → 1.3-001

  • Теперь на страницу со списком полных тёзок вписывает {{ФИО}} без параметров. Вместо {{Другие ФИО|Фамилия|Имя}} (по совету  91.79)

1.3-001 → 1.4

  • Теперь генерируемый вики-текст вместо двух пар тегов include содержит одну пара тегов onlyinclude (по совету  Джек, который построил дом)
  • v.1.5-004 исправлен баг №3

Браузеры

Автор протестировал скрипт в браузере Firefox.

Принцип работы

Ещё не распознаёт действительно ли слова файлового имени редактируемой страницы являются компонентами ФИО. Это ответственность участника применяющего скрипт.

Определение вида неоднозначности

Ориентируется по количеству слов, не считая уточнения.

  • Если = 1 не добавляет вики-текст;
  • Если = 2 — Фамилия, Имя;
  • Если > 2 — Фамилия, Имя Отчество. Почему > 2, а не = 3? Азербайджанское ФИО состоит из 4 слов. Например Каграманов, Надир Фаррух оглы. На эту страницу по нажатию (с целью тестирования) участником кнопки скрипта, скрипт добавил вики-текст
{{ФИО}}
'''Надир Фаррух оглы Каграманов:'''
<!-- Перенесите следующую строку вики-текста на страницу [[Каграманов, Надир]]
* {{NL2|Каграманов, Надир Фаррух оглы}}
 и удалите весь этот комментарий -->
<onlyinclude>
* [[Каграманов, Надир Фаррух оглы (уточнение)|Каграманов, Надир Фаррух оглы]] (род. 19??) —— род занятий.</onlyinclude>
{{Список полных тёзок}}

Страница Каграманов, Надир Фаррух оглы — статья о человеке, а не страница неоднозначности. Поэтому участник не сохранил изменения.

Контроль запятой

Проверяет наличие запятой после первого слова,если оно не последнее. Если отсутствует запятая Фамилия Имя предлагает участнику создать перенаправление на Фамилия, Имя.

Статус

Статус Событие Дата Адрес страницы javascript-кода
персональный скрипт Создана страница кода 18 февраля 2017 года Участник:Менделеевец99/JS/DisambigFIOLib.js
//-// Опубликована для использования (версия 1.2) с 23 февраля 2017 года //-//
//-// Подготовка к публикации версии 1.4 с 18 октября 2017 года //-//
//-// Опубликована для использования версия 1.4 24 октября 2017 года //-//
JS-Гаджет ещё нет MediaWiki:Gadjet-DisambigFIO.js
Пользователи

Поиск

Пользователи
User diff Contributions
1 Egor Shustoff diff contribs
2 B2 C2 D2
3 B3 C3 D3

Примечания

  1. common.js — общий JS для всех тем оформления. См. Служебная:Настройки|Внешний вид
  2. В последующих версиях ограничить только пространством статей.
  3. В будущих версиях сделать возможность охватывания выделенной части вики-текста. Это будет удобно при ремонте существующих дизамбигов, в которых контент уже есть.
  4. Как правильно составлять баг-репорты

Дизамбиг персоналий

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya