Участник:Менделеевец99/DisambigFIO
≈ с конца апреля 2017 года скрипт был неработоспособен из-за отключения прежнего способа создания кнопок на панели инструментов редактора. В октябре 2017 работоспособность восстановлена |
Отзывы и предложения оставляйте на странице Обсуждение участника:Менделеевец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), специально созданной для тестирования скриптов.
- Автор протестировал скрипт только с «новой» панелью инструментов вики-редактора.
Баг-репорты
[править | править код]№ | Описание | Версия | дифф |
---|---|---|---|
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 |
Примечания
[править | править код]- ↑ common.js — общий JS для всех тем оформления. См. Служебная:Настройки|Внешний вид
- ↑ В последующих версиях ограничить только пространством статей.
- ↑ В будущих версиях сделать возможность охватывания выделенной части вики-текста. Это будет удобно при ремонте существующих дизамбигов, в которых контент уже есть.
- ↑ Как правильно составлять баг-репорты