Участник:AKA MBG/morelinks.js
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
/* Source: http://ru.wikipedia.org/wiki/Википедия:Проект:Персональные_скрипты/Навигации */
if (wgNamespaceNumber >= 0) addOnloadHook(pagePortlet);
function pagePortlet(){
var ul, list, obj, ii;
//добавить новый портлет 'страница'
beforePortlet = document.getElementById('p-participation');
if (!beforePortlet) return;
var pPage = document.createElement('div');
pPage.innerHTML = '<h5>страница</h5><div class=pBody><ul></ul></div>';
pPage.className = 'portlet'; pPage.id = 'p-page';
beforePortlet.parentNode.insertBefore(pPage, beforePortlet);
//переместить туда 'Ссылки сюда' и 'Связанные правки'
moveLinkToPortlet('p-page', 't-whatlinkshere');
moveLinkToPortlet('p-page', 't-recentchangeslinked');
//вычислить переменные для тулсервера (например dbname=ruwiki_p)
var wikilang = wgServer.split('.')[0].substring(7);
var wikifam = wgServer.split('.')[1];
var dbname = (wikifam == 'wikipedia')? 'wiki' : wikifam;
dbname = wikilang + dbname + '_p';
//Ссылки:
mw.util.addPortletLink('p-page',
'/wiki/Special:Prefixindex/' + wgPageName + '/', ' /подстраницы','',
'Подстраницы этой страницы');
mw.util.addPortletLink('p-page',
'/wiki/Special:Log?page='+wgPageName, 'журналы', 'ca-logs',
'Просмотр журналов для этой страницы');
mw.util.addPortletLink('p-page',
'/wiki/'+wgPageName+'?action=purge', '(обновить)', 'ca-purge',
'Очистка кэша сервера для этой страницы');
mw.util.addPortletLink('p-page',
'http://tools.wikimedia.de/~interiot/cgi-bin/contribution_tree?dbname='+dbname
+'&article='+wgPageName+'&user='+wgUserName, 'мои правки °', 'mycontrib',
'Мой вклад в эту страницу');
mw.util.addPortletLink('p-page',
'http://tools.wikimedia.de/~daniel/WikiSense/Contributors.php?wikilang='
+wikilang+'&wikifam=.'+wikifam+'.org&grouped=on&order=-edit_count&page='
+encodeURIComponent(mw.config.get('wgPageName')), 'все авторы °','',
'Все авторы страницы');
// editcount ° — ссылка на editcounter участника под ссылкой «Вклад участника»
if ( (wgNamespaceNumber == 2 || wgNamespaceNumber == 3)
&& ( tContributions = document.getElementById('t-contributions')))
mw.util.addPortletLink('p-tb',
'http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname='
+dbname+ '&user=' + wgTitle, 'editcount °', 'editcount',
'Interiot\'s user counter','', tContributions.nextSibling);
}
//вспомогательная функция перемещает ссылку linkId в portlet portletId
function moveLinkToPortlet(portletId, linkId, newText){
var portlet, ul, link;
if (!(portlet = document.getElementById(portletId))) return;
if (!(ul = portlet.getElementsByTagName('ul')[0])) return;
if (!(link = document.getElementById(linkId))) return;
ul.appendChild(link);
if (newText) link.firstChild.innerHTML = newText;
}