Википедия:Персональные скрипты

↱
  • ВП:ПСК

Персональный скрипт — страница с расширением имени .js в личном пространстве участника Википедии (обычно автора скрипта), содержащая код на языке JavaScript. Другие зарегистрированные участники могут применять скрипт, записав строку его подключения[1] в собственный common.js.

На этой странице перечислены написанные участниками или перенесённые из других разделов скрипты, не имеющие статуса гаджетов (то есть не подключаемые через настройки).

Существует два способа добавления персональных скриптов — функции importScript (не работает в мобильной версии) и mw.loader.load.

Для подключения с помощью первого способа добавьте в ваш личный common.js одну из двух строк:

  • importScript('название страницы скрипта'); — для скриптов из русского раздела,
  • importScript('название страницы скрипта', 'языковой код раздела'); — для скриптов из других разделов.

Для подключения с помощью второго способа добавьте в ваш личный common.js строку вида

  • mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Zhaofeng_Li/Reflinks.js&action=raw&ctype=text/javascript');.

Некоторые скрипты могут работать в разных проектах фонда Викимедиа; их можно подключать через global.js на Мета-вики при помощи второго способа.

Разработчики скриптов могут найти вспомогательную информацию на соответствующей странице проекта «Технические работы».

СкриптыПравить

Скрипты перечислены в хронологическом порядке. Когда скрипт претерпевает существенные обновления, пожалуйста, перемещайте его в конец списка.


  • { en:User:Lenore/autolink.js } (июнь 2009) — делает кликабельными внутренние, внешние и шаблонные ссылки в диффах, описаниях правок и прочих логах (внимание: конфликтует с гаджетом зачёркивания заблокированных до полного дефейса диффов с участием последних).
  • { en:User:Cacycle/wikEdDiff.js } — усовершенствует панель диффа; также делает кликабельными все ссылки в тексте диффов; не взаимодействует с гаджетом зачёркивания заблокированных.
  • { Участник:VasilievVV/links.js } (февраль 2010) — добавляет в левое меню две дополнительные панели с информацией о странице/участнике.
  • { Участник:Александр Дмитриев/comments in local time ru.js } (май 2010) — меняет в таймстампах сообщений в обсуждениях время на ваше локальное.
  • Скрипты для Инкубатора (июль 2010):
  • { Участник:Krassotkin/itogo.js } (август 2010) — кнопки для подводящих итоги.
  • { Участник:OneLittleMouse/warnings.js } (ноябрь 2010) — быстрая простановка некоторых распространённых предупреждений.
  • { Участник:Dibot/pat.js } (апрель 2011) — расширенный гаджет флагов, показывает все флаги участников.
  • { Участник:Dhārmikatva/hate.js } (август 2011) — меняет на серый цвет шрифта вкладки «Обсуждение», если там нет ничего, кроме шаблонов.
  • { Участник:Js/rcUnreviewedRows.js } (октябрь 2011) — раскрашивает в СН строки в зависимости от их патрулированности.
  • { Участник:Кикан/highlightLastMessages.js } (ноябрь 2011) — выделяет (другим цветом фона) новые сообщения на страницах обсуждений (после последнего их посещения). Используется с настройками var highlightMessagesAfterLastVisit = true; var messagesHighlightColor = "#bbffbb";. Документация.
  • { Участник:Js/rcExtraData.js } (сентябрь 2011) — добавляет под списком наблюдения выборки из журналов новых страниц и срабатываний фильтров.
  • { Участник:Ignatus/shiftrefs.js } (март 2012) — обеспечивает положение ссылок на сноски над знаком препинания, не позволяя ему отрываться от текста.
  • { Участник:DonRumata/ai2.js } (май 2012) — упрощает простановку {{АИ2}}.
  • { Участник:Absconditus/reporter.js } (июнь 2012) — быстрый вынос на ЗКА/ЗС.
  • { Участник:BattlePeasant/cattreetable.js } (октябрь 2013) — предлагался для включения в ВП:Глобальный код как более удобный аналог <categorytree>. Индивидуальное использование смысла не имеет.
  • { Участник:BattlePeasant/dclink.js } (июнь 2014) — после ссылок на личную страницу добавляет ссылки на обсуждение и вклад участников «Участник (о • в)». Параметры: var displaySignature = 'glamour' — не изменять вид подписи; var displaySignature = 'nickname' — ник, установленный участником, без оформления; var displaySignature = 'user' — имя пользователя.
  • { Участник:Abiyoyo/ShowStatus.js } (июль 2014) — примитивный скрипт, отражающий состояние проектных шаблонов в статье.
  • { Участник:Jack who built the house/hide_sidebar.js } (автор: Сунприат) (январь 2015) — добавляет в верхнюю панель кнопку, с помощью которой можно скрыть/показать левое навигационное меню и растянуть основной текст на его место. Полезно на узких экранах и когда окно браузера достаточно узкое.
  • { Участник:D.bratchuk/MediaWiki:Gadget-Statistics.js } (февраль 2015) — добавляет в панель «Инструменты» в левой колонке ссылку «Статистика посещений» для статей из основного пространства.
  • { Участник:Abiyoyo/ShowCurId.js } (март 2015) — короткие ссылки на статьи из меню «Печать/экспорт».
  • { Участник:Nitobus/div.GoogleMap.js } (апрель 2015) — скрипт, обеспечивающий функциональность блочного элемента управления div.GoogleMap, предназначенного для отображения на страницах Википедии карт Google, а также возможности отрисовки маркеров и треков на картах. Документацию по div.GoogleMap можно найти в Участник:Nitobus/div.GoogleMap.
  • { Участник:Dima st bk/otkat.js } (май 2015) — выводит подтверждение отката.
  • { en:User:Theopolisme/Scripts/ajaxWatchlist.js } (июнь 2015) — автоматическое обновление списка наблюдения. Документация
  • { Участник:Stjn/unformat.js } (июль 2015) — чистит оформление подписей участников, отличное от стандартного.
  • { Участник:Mahairod/morphlink.js } (август 2015) — проставление вики-ссылки на основе начальных форм слов, входящих в ссылку (морфологический анализ). Таким образом может корректно проставлять ссылки даже на ещё не написанные статьи.
  • { Участник:Jack who built the house/discussion_indentation.js } (автор: Сунприат) (октябрь 2015) — добавляет в панель инструментов редактора кнопку, добавляющую звёздочки в обсуждения.
  • { Участник:Jack who built the house/copyWikilinks } (апрель 2016) — скрипт для быстрого копирования вики-ссылок на текущую страницу и раздел, а также на страницы по ссылкам. Работает по нажатию клавиш.
    • { Участник:Jack who built the house/copy headings.js } (март 2016) — делает так, чтобы при тройном клике на заголовках страницы и разделов и копировании выделенного не копировался текст «[править | править вики-текст]», а для разделов копировался их полный путь (проверялось только в Хроме).
  • { Участник:Gamliel Fishkin/purgetab.js } (май 2016) — добавляет вкладку «Очистить кэш-память».
  • { Участник:Jack who built the house/proceedToArchive.js } (октябрь 2016) — если тема не найдена на странице, предлагает поискать её в архиве. (Одна половина решения проблемы устаревающих ссылок на обсуждения; другая — {{subst:fa}}.)
  • { Участник:Vort/highlight.js } (ноябрь 2016) — добавляет в меню «Инструменты» пункт «Вкл. подсветку», позволяющий выделять неразрывные пробелы в статьях оранжевым цветом.
  • { Участник:Мастер теней/wikificator+.js } (ноябрь 2016) — жёсткий (производит замены в любых местах статьи, могут быть некорректны) викификатор для нужд ПРО:ВО: выравнивает карточки, стандартизирует параметры, производит мелкие рутинные улучшения.
  • { Участник:Track13/archiveurl.js } (декабрь 2016) — для каждой внешней ссылки в разделах ссылок добавляет набор ссылок для поиска данной страницы в нескольких веб-архивах.
  • { Участник:Мастер теней/Помощник патруля.js } (январь 2017) — убирает подсветку неотпатрулированных изменений на страницах истории для автопатрулируемых участников.
  • { Участник:GreatMusicLover/prosesize.js } (январь 2017) — добавляет в сайдбар ссылку на информацию о странице (размер, размер видимого текста, количество слов).
  • { Участник:Менделеевец99/JS/DisambigFIOLib.js } (февраль 2017) — помогает участнику создавать стандартную часть вики-текста страниц неоднозначности вида «Фамилия, Имя» и «Фамилия, Имя Отчество» с применением шаблона {{NL}}, как это принято в русской Википедии (описание скрипта).
  • { Участник:Дима74/yoficator.js } (февраль 2017) — скрипт для ёфикации Википедии. В интерактивном режиме производит ёфикацию случайных статей, либо некоторой определённой статьи. Инструкция по установке и использованию.
  • { Участник:VasilievVV/oneclickkeep.js } (май 2017) — быстро оставить страницу, вынесенную к удалению (для администраторов и подводящих итоги).
  • { Участник:Ignatus/patlinkshl.js } (июнь 2017) — скрипт для подсветки ссылок на непатрулированные страницы.
  • { Участник:Facenapalm/pathelper.js } (сентябрь 2017) — добавляет кнопку «открыть всё во вкладках» на страницы «Служебная: Непроверенные страницы» и «Служебная: Ожидающие проверки изменения».
  • { Участник:IKhitron/purge.js } (декабрь 2017) — добавляет в меню «Инструменты» на страницах категорий запуск нулевых правок во всех страницах категории, рекурсивно до 5 уровней подкатегории. Скорость зависит от прав запускающего. От этого же зависит возможный провал, если есть страница, защита которой выше возможностей пользователя.
    • { Участник:Facenapalm/purge.js } (декабрь 2017) — другой вариант инструмента. Может осуществлять сброс кэша (вместо нулевых правок) и обрабатывать включения шаблонов, но не может обходить категории рекурсивно.
  • { Участник:Facenapalm/highlimits.js } (декабрь 2017) — добавляет возможность просматривать некоторые спецстраницы, например, поиска или вклада участника, порциями по 1000 или 5000 результатов на страницу.
  • { Участник:Jack who built the house/Code Prettifier } (февраль 2018) — позволяет (кнопка 1) выравнивать значения параметров многострочных шаблонов, исправлять нумерацию параметров типа меткаN, списокN в шаблонах-карточках и подобных; (кнопка 2) переводить шаблоны из однострочного вида в многострочный и обратно; а при настройке var atpCodeStyler = true; добавляется кнопка 3 для оформления кода парсерных функций.
  • { Участник:IKhitron/blocknot.js } (июнь 2018) — добавляет легкодоступный блокнот для записи задач на будущее или полезных задач. Подробности: Википедия:Форум/Архив/Предложения/2018/04#Новый гаджет: блокнот.
  • { Участник:ɪ/RefToggle.js } (октябрь 2018) — добавляет в панель «Инструменты» в левой колонке ссылку «Скрыть/показать номера примечаний».
  • { Участник:Jack who built the house/findAddition } (ноябрь 2018) — по выделенному тексту при нажатии клавиш(и) находит правку, которой его добавили.
  • { Участник:DonRumata/lowercase.js } (ноябрь 2018) — добавляет в панель редактирования кнопку   перевода выделенного текста в нижний регистр (СКРИПТ → скрипт).
  • { Участник:DonRumata/tablifikator.js } (ноябрь 2018) — добавляет в панель редактирования кнопку   форматирования таблицы, скопированной из Excel, по правилам вики-разметки.
  • { Участник:DonRumata/acute.js } (ноябрь 2019) — добавляет в меню «Дополнительно» панели редактирования кнопки           вставки знаков ударения.
  • { Участник:Jack who built the house/canonicalPageName.js } (июль 2020) — приводит название страницы в адресной строке к каноническому виду (например, Служебная:ВкладSpecial:Contributions). Это позволяет открывать соответствующие страницы в других разделах, добавляя спереди к названию страницы префикс раздела (например, en:).
  • { Участник:Facenapalm/untalkify.js } (сентябрь 2020) — меняет в проектных категориях («Статьи проекта XXX» и «Списки проекта XXX») ссылки на страницы обсуждения на ссылки на соответствующие статьи.
  • { Участник:Землеройкин/remove.js } (октябрь 2020) — облегчает выставление статей на КУ и КБУ.
  • { Участник:DonRumata/Gadget-keybLayout.js } (ноябрь 2020) — скрипт, пoдcвeчивaющий кирлат.
  • { Участник:Facenapalm/wantedCategoriesProgression.js } (ноябрь 2020) — добавляет прогрессбар на страницу требуемых категорий, показывающий процент обработанных категорий.

Другие кодыПравить

  •  
    var media_query = window.matchMedia("screen and (min-width:1280px)");
    if (media_query.matches) {
    	тут вызов отключаемых скриптов
    }
    
    Отключает перечисленные внутри скрипты для устройств с шириной экрана меньше заданной. Может использоваться для отключения выполнения скриптов на телефонах и прочих маломощных устройствах, которые слишком долго обрабатывают все скрипты.
  •  
    if (typeof window.orientation == 'undefined') {
    	тут вызов отключаемых скриптов
    }
    
    Отключает перечисленные внутри скрипты для мобильных телефонов и таблетов.
  •  
    if ($('body').hasClass('ns-special') && location.href.match(/(\/block|type\=block)/)) {
    	$(function () {
    		$('.ns-special a[title="Участник:QBA-bot"]').parent().hide();
    	});
    }
    
    Удаляет из лога блокировок перечисленных ботов-проксиблокировщиков.
  • Дополнительные кнопки быстрой вставки описания правки.
  • Википедия:Визуальный редактор#Сокращение названия «Править исходный текст»
  •  
    // Дополнительный редактор TemplateData [[:en:User:NicoV/TemplateDataEditor]] не совсем актуальный, но функций больше, чем в стандартном редакторе
    // На страницах шаблонов в редактировании на панель инструментов добавляется кнопка [TDE]
    // Для начала работы теги <templatedata></templatedata> должны быть уже размещены в тексте
    mw.loader.load('//fr.wikipedia.org/w/index.php?title=User:Ltrlg/scripts/TemplateDataEditor.js&action=raw&ctype=text/javascript');
    
  •  
    // Формирование TemplateData
    // На страницах шаблонов слева, в инструментах появляется строка TD Skeleton
    mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Salix alba/TDSkell.js&action=raw&ctype=text/javascript');
    
  • Добавление дополнительных кнопок в самое верхнее меню:
    $(function () {
    	$( '#расположение' ).before( '<li><a href="URL ссылки">Текст ссылки</li>' );
    });
    
Замените расположение на значение из списка ниже (сохранив знак #). Кнопка будет расположена перед:
  1. pt-userpage — ЛС
  2. pt-mytalk — ЛСО
  3. pt-sandbox — Черновик
  4. pt-preferences — Настройки
  5. pt-watchlist — СН
  6. pt-mycontris — Вклад
Или используйте встроенную в MediaWiki функцию mw.util.addPortletLink.
  • Чтобы изменить подстраницу, на которую ведёт ссылка «Черновик», а также при желании текст ссылки и всплывающую подсказку, добавьте в свой личный common.js следующий код, заменив желаемое название подстраницы, текст ссылки и всплывающей подсказки соответственно:
    var draftSubpageName = 'Черновик';  // название подстраницы
    var draftLinkCaption = 'Черновик';  // текст ссылки
    var draftLinkTooltip = 'Ваш черновик';  // текст всплывающей подсказки
    mw.loader.using('mediawiki.util', function () {
    	var url = mw.util.getUrl('Участник:' + mw.config.get('wgUserName') + '/' + draftSubpageName, { redirect: 'no' });
    	$('#pt-sandbox a').attr('href', url).removeClass('new').text(draftLinkCaption).attr('title', draftLinkTooltip);
    });
    
  • Настройка количества навигационнных шаблонов, развёрнутых по умолчанию (если у них не задано значение |state=collapsed): var NavigationBarShowDefault = желаемое_значение; (переопределяет значение из MediaWiki:Common.js).
  • Чтобы изменить подпись, добавляемую кнопкой в панели инструментов вики-редактора, используйте mw.config.set('mw.msg.wikieditor', '~~\~~'); с нужной вам подписью.
  • Подтверждение выхода:
    mw.loader.using('jquery.confirmable', function () {
    	$('#pt-logout > a').confirmable(); 
    });
    

См. такжеПравить

СтароеПравить

ПримечанияПравить

  1. Если вы импортируете скрипт с другой страницы с помощью importScript или копируете чужой, обратите внимание, что скрипт может содержать вредоносный код.