Википедия:Персональные скрипты: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
→‎Скрипты: оформление
демо
Строка 74: Строка 74:
* [[Участник:Facenapalm/untalkify.js]] (сентябрь 2020) — меняет в проектных категориях («Статьи проекта XXX» и «Списки проекта XXX») ссылки на страницы обсуждения на ссылки на соответствующие статьи.
* [[Участник:Facenapalm/untalkify.js]] (сентябрь 2020) — меняет в проектных категориях («Статьи проекта XXX» и «Списки проекта XXX») ссылки на страницы обсуждения на ссылки на соответствующие статьи.
* [[Участник:Землеройкин/remove.js]] (октябрь 2020) — облегчает выставление статей на КУ и КБУ.
* [[Участник:Землеройкин/remove.js]] (октябрь 2020) — облегчает выставление статей на КУ и КБУ.
* [[Участник:Wikisaurus/Gadget-keybLayout.js]] (ноябрь 2020) — [[:uk:MediaWiki:Gadget-keybLayout.js|скрипт]], подсвечивающий [[Википедия:Кирлат|кирлат]].
* [[Участник:Wikisaurus/Gadget-keybLayout.js]] (ноябрь 2020) — [[:uk:MediaWiki:Gadget-keybLayout.js|скрипт]], пoдcвeчивaющий [[Википедия:Кирлат|кирлат]].


== Другие коды ==
== Другие коды ==

Версия от 16:13, 14 ноября 2020

Короткая ссылка-перенаправление

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

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

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

  • Для подключения с помощью первого способа добавьте в ваш личный common.js строку importScript('название страницы скрипта');, для скриптов из других разделов — importScript('название страницы скрипта', 'языковой код раздела');. Данный способ не работает в мобильной версии.
  • Второй же способ универсален, для его использования необходимо добавить строку вида 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) — выводит подтверждение отката.
  • Участник:Higimo/remove.js (июнь 2015) — вынос на КБУ (+ отсроченное), КУ (+ множественное, + оставлено), КУЛ, КПМ и удобные подписи к правкам с ссылками на обсуждения.
  • en:User:Theopolisme/Scripts/ajaxWatchlist.js (июнь 2015) — автоматическое обновление списка наблюдения. Документация
  • Участник:Saint Johann/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) — быстро оставить страницу, вынесенную к удалению (для администраторов и подводящих итоги).
  • User: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#Новый гаджет: блокнот.
  • Участник: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/convenientDiscussions.js (июль 2020) — позволяет отправлять и редактировать сообщения без перехода на отдельную страницу, см. Участник:Jack who built the house/Удобные дискуссии.
  • Участник:Jack who built the house/canonicalPageName.js (июль 2020) — приводит название страницы в адресной строке к каноническому виду (например, Служебная:ВкладSpecial:Contributions). Это позволяет открывать соответствующие страницы в других разделах, добавляя спереди к названию страницы префикс раздела (например, en:).
  • Участник:Facenapalm/untalkify.js (сентябрь 2020) — меняет в проектных категориях («Статьи проекта XXX» и «Списки проекта XXX») ссылки на страницы обсуждения на ссылки на соответствующие статьи.
  • Участник:Землеройкин/remove.js (октябрь 2020) — облегчает выставление статей на КУ и КБУ.
  • Участник:Wikisaurus/Gadget-keybLayout.js (ноябрь 2020) — скрипт, пoдcвeчивaющий кирлат.

Другие коды

  •  
    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 или копируете чужой, обратите внимание, что скрипт может содержать вредоносный код.