Перейти до вмісту

Довідка:Інструменти/Навігації

Матеріал з Вікіпедії — вільної енциклопедії.

Для того, щоб персональні скрипти працювали, їх копію або їх імпортування (починається командою importScript) потрібно розмістити на спеціальній сторінці common.js, яка є підсторінкою особистого простору користувача (Користувач:АccountName/common.js). Ця сторінка може містити декілька скриптів.

Виринаючі вікна

[ред. | ред. код]

При наведенні курсора мишки на внутрішнє посилання скрипт показує відповідну сторінку Вікіпедії у виринаючому віконці.

Імовірно, це найпопулярніший персональний скрипт в проєктах Вікімедіа.

Документація: en:Wikipedia:Tools/Navigation_popups, вказано багато додаткових параметрів.

Встановлення:

importScript('User:Js~ukwiki/popups.js');

Приклад зазначення додаткових параметрів:

popupDelay = 1.5;     // затримка на півтори секунди перед випливанням вікна
popupStructure = 'fancy'; // не об'єднувати навігаційні посилання у випадні списки
imagePopupsForImages = false;          // не випливати на ілюстраціях
popupMaxWidth = 400;                  //  ширина випливаючого вікна
popupMaxPreviewSentences = 10;       // більше пропозицій у вікні
popupMaxPreviewCharacters = 666;    // більше символів у вікні
popupPreviewFirstParOnly = false;  // цитується не тільки перший абзац
popupPreviewKillTemplates = false;  // шаблони показувати, хай і сирими

Список спостереження

[ред. | ред. код]

Тільки нові зміни

[ред. | ред. код]

Цей простий, але дуже корисний скрипт дозволяє набагато зручніше стежити за змінами сторінок у вашому списку спостереження:

importScript('User:Ilmari_Karonen/watchsince.js','en');

Інструкція: перейдіть до свого списку спостереження і прогляньте усі цікаві вам зміни, не йдучи з цієї сторінки (наприклад використовуючи «Навігаційні віконця» або відкриваючи зміни в нових вікнах браузера).

Потім натисніть на нове посилання «Changes since last load», яка повинна бути праворуч від посилання «Приховати малі редагування». Сторінка спостереження покаже вам тільки нові зміни. Далі продовжуйте натискати посилання «Changes since last load»; важливо при цьому не йти із сторінки спостереження.

Примітка: використовуваний скриптом параметр days можна використовувати і «вручну». Якщо ви запустили бравзер і зайшли на сторінку списку спостереження, і пам'ятаєте, що востаннє перевіряли його 2 години тому, то можете дописати в адресному рядку браузера ?days=0.1 і натиснути Enter. Це покаже вам зміни за останніх 24/10 = 2.4 години

Додання посилань скасування спостереження до елементів зі списку спостереження

[ред. | ред. код]

Цей скрипт додає "(скасувати)" до кожного елементу списку спостереження, так що його навігація виглядає так: (різн.) (історія) (скас.). Корисно для користувачів з багатьма статтями у списку спостереження.

addOnloadHook(function () {

   // Check if we're on the watchlist
   if (!wgCanonicalSpecialPageName || wgCanonicalSpecialPageName != "Watchlist") return;
   if (!document.forms[0] || !document.forms[0].namespace) return;

   // Unwatch links go back to watchlist with "Removing requested items from watchlist..." message
   var query_prefix = "title="+encodeURIComponent(wgPageName)+"&action=submit&remove=1&id[]=";

   // ...or...
   // Unwatch links go to "Removed from watchlist" page
   //var query_prefix = "action=unwatch&title=";

   // get list of all links in content:
   var links = document.getElementById('content').getElementsByTagName('a');

   // make a static copy of the nodelist and lose the original for speed
   // while we're at it, prune the uninteresting links from the list
   var linksCopy = new Array ();
   for (var i = 0; i < links.length; i++) {
       if (/[?&]action=history([&#]|$)/.test(links[i].href)) linksCopy.push(links[i]);
   }
   links = linksCopy;

   for (var i = 0; i < links.length; i++) {
       // create unwatch link and append it after history link
       var unwatch = document.createElement('a');
       unwatch.href = wgServer + wgScriptPath + "/index.php?" + query_prefix + encodeURIComponent(links[i].title);
       unwatch.title = "Скасувати спостереження за "+links[i].title;
       unwatch.appendChild(document.createTextNode("скас."));
       links[i].parentNode.insertBefore(unwatch, links[i].nextSibling);

       // insert a delimiter between the two links
       var delim = links[i].previousSibling;
       delimText = (delim.nodeType == 3 ? delim.nodeValue : ""); // kluge to handle case where "diff" is unlinked
       delim = document.createTextNode(delimText.replace(/^.*diff/, ""));
       links[i].parentNode.insertBefore(delim, unwatch);
   }
});

</nowiki>

Додаткові посилання

[ред. | ред. код]

Підсторінки поточної сторінки

if (wgNamespaceNumber >= 0)
 addOnloadHook(function(){
  addPortletLink('p-tb', '/wiki/Special:Prefixindex/' + wgPageName + '/', 'Підсторінки');
 })


Пошук

[ред. | ред. код]

Auto Complete

[ред. | ред. код]

Джерело: pl:Wikipedysta:Adziura/AutoComplete.js. Під час вписування в полі „Пошук” до нього додається випадаючий список статей, назви яких починаються з вписаних літер. Вираз «nie znaleziono» у вашому монобуці можна замінити на «не знайдено».


Швидкий пошук у просторах

[ред. | ред. код]
<div style="float:right; margin-left:20px; border:1px dashed gray; padding:15px; background:#FAFFFF; font-size:90%">
<div style="border:2px inset gray"> </div>
<span style="background:#d6d3ce;padding:1px; border:2px outset white; margin-top:10px"> '''Перейти''' </span>
<span style="border:2px inset gray"> знайти у…
<span style="background:#d6d3ce; border:1px outset white; font-size:70%"> ν </span>
</span>
</div>

Вибір простору у стандартному блоці пошуку

 if (!window.searchInNewWindow) searchInNewWindow = false;
 var searchNS = [
 ['','знайти в…'],
 [-5,'(у цьому вікні)'],
 [-1,'За замовчуванням'],
 [0,'Статті'],
 [1,'Статті (обг)'],
 [2,'Користувач'],
 [3,'Користувач (обг)'],
 [4,'Вікіпедія'],
 [5,'Вікіпедія (обг)'],
 [6,'Зображення'],
 [7,'Зобр. (обг)'],
 [8,'Mediawiki'],
 [9,'Mediawiki (обг)'],
 [10,'Шаблон'],
 [11,'Шаблон (обг)']
 ];
 addOnloadHook(searchCreateMenu);
  function searchCreateMenu() {
 searchForm = document.getElementById('searchform'); //global var
 if (!searchForm) return;
 //create hidden input
 searchHidden = document.createElement('input'); //global var
 searchHidden.type = 'hidden';
 searchHidden.value = '1';
 searchForm.fulltext.parentNode.appendChild(searchHidden);
 //create select
 searchSel = document.createElement('select'); //global var
 for (var i in searchNS)
   searchSel.options[searchSel.options.length] =  new Option(searchNS[i][1], searchNS[i][0]);
 searchSetTarget();
 searchSel.style.margin = '0';
 searchSel.style.marginTop = '2px';
 searchSel.style.fontSize = '90%';
 searchSel.onchange = searchOnSelect;
 searchForm.fulltext.parentNode.insertBefore(searchSel, searchHidden);
 //hide normal Search button if not IE
 if (is_opera || is_gecko){
   searchForm.fulltext.style.display = 'none';
   searchSel.style.width = '65px';
 }
 }
 function searchOnSelect() {
   if (this.selectedIndex === 0) return;
   var ns = this.options[this.selectedIndex].value;
   if (ns == -5) { //new window switch
     searchInNewWindow = !searchInNewWindow;
     searchSetTarget();
   } else { //do search
     if (searchForm.search.value === '')
         searchForm.search.value = '?'; 
     else {
       searchHidden.name = (ns == -1) ? '' : 'ns' + ns;
       searchForm.fulltext.click();
     } 
   }
   this.selectedIndex = 0;
 }
 function searchSetTarget(){
 if (searchInNewWindow)  {
   searchForm.target = '_blank';
   searchSel.options[1].text =  '(у цьому вікні)';
 } else {
   searchForm.target = '';
   searchSel.options[1].text =  '(у новому вікні)';
 }
 }

Кількість статей

[ред. | ред. код]

Джерело: ru:Участник:Morpheios Melas/articlecount.js

Скрипт розміщує на логотипі Вікіпедії живий лічильник статей. Оновлюється що 10 секунд.

Покращений вигляд журналів

[ред. | ред. код]

Джерело: ru:Участник:Alex Smotrov/logpage.js

В український Вікіпедії скрипт працює неправильно.

Виділення підписів адміністраторів

[ред. | ред. код]
importScript('Користувач:Ahonc/markadmins.js')

Наприклад, Oleksii0 стане Oleksii0(A), а YakudzaYakudza(B)