Today, Wikipedia:WikiProject User scripts/Scripts/Compact Navigation is a topic that generates great interest and debate in various areas. Its implications are profound and its impact is felt in different aspects of daily life. As we delve into the study of Wikipedia:WikiProject User scripts/Scripts/Compact Navigation, we discover its relevance in today's society and its influence on the way we relate to the world around us. In this article, we will explore in detail the different aspects related to Wikipedia:WikiProject User scripts/Scripts/Compact Navigation, analyzing its importance, challenges and possible solutions. In addition, we will examine how Wikipedia:WikiProject User scripts/Scripts/Compact Navigation has evolved over time and what future perspectives are envisioned in relation to this topic. Join us on this exciting journey through the world of Wikipedia:WikiProject User scripts/Scripts/Compact Navigation!
// See ] for instructions<br>
// Also, please add ] as a comment to allow tracking of number of users <syntaxhighlight lang="Javascript">
function getElementUrl(id) {
if (id) {
return id.firstChild.getAttribute('href', 2);
}
}
function getElementUrlText(id) {
if (id) {
return id.firstChild.innerHTML;
}
}
if (mw.config.get('wgNamespaceNumber') >= 0)
$.when($.ready, mw.loader.using('mediawiki.util')).then((function() {
var pCactions = document.getElementById('p-cactions');
var tabs = pCactions.getElementsByTagName('ul');
var caMain = pCactions.getElementsByTagName('li');
var caTalk = pCactions.getElementsByTagName('li');
var caEdit = document.getElementById('ca-edit');
var caView = document.getElementById('ca-viewsource');
var caHistory = document.getElementById('ca-history');
var caMove = document.getElementById('ca-move');
var caWatch = document.getElementById('ca-watch');
var caUnwatch = document.getElementById('ca-unwatch');
var caProtect = document.getElementById('ca-protect');
var caDelete = document.getElementById('ca-delete');
// Hide tabs
if (caMain) caMain.style.display = 'none';
if (caEdit) caEdit.style.display = 'none';
if (caTalk) caTalk.style.display = 'none';
if (caHistory) caHistory.style.display = 'none';
if (caMove) caMove.style.display = 'none';
if (caProtect) caProtect.style.display = 'none';
if (caDelete) caDelete.style.display = 'none';
// Create new tabs
var newPage = addlimenu(tabs, getElementUrlText(caMain), 'new-page', getElementUrl(caMain), caTalk);
newPage.className = caMain.className;
var newTalk = addlimenu(tabs, getElementUrlText(caTalk), 'new-talk', getElementUrl(caTalk), caTalk);
newTalk.className = caTalk.className;
var newLog = addlimenu(tabs, 'actions', 'new-actions', getElementUrl(caHistory), caMove);
// Check if page is editable
if ( caEdit ) {
edittxt = 'edit';
} else {
edittxt = 'view source';
}
// Actions menu items
mw.util.addPortletLink('new-actions', 'javascript:;', '');
mw.util.addPortletLink('new-actions', getElementUrl(caEdit), edittxt);
if (caHistory) addPortletLink('new-actions', getElementUrl(caHistory), 'history');
addPortletLink('new-actions', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Log&page=' + mw.config.get('wgPageName'), 'page log');
if (caMove) mw.util.addPortletLink('new-actions', getElementUrl(caMove), 'move');
if (caProtect) mw.util.addPortletLink('new-actions', getElementUrl(caProtect), 'protect');
if (caDelete) mw.util.addPortletLink('new-actions', getElementUrl(caDelete), 'delete');
// Add menu items for main page
if( caMain.className.search('new') == 0 ) {
mw.util.addPortletLink('new-page', 'javascript:;', '');
mw.util.addPortletLink('new-page', getElementUrl(caMain), 'create');
} else {
mw.util.addPortletLink('new-page', 'javascript:;', '');
mw.util.addPortletLink('new-page', getElementUrl(caMain) + '?action=edit', 'edit');
mw.util.addPortletLink('new-page', getElementUrl(caMain) + '?action=edit§ion=0', edittxt + ' lead');
mw.util.addPortletLink('new-page', getElementUrl(caMain) + '?action=history', 'history');
mw.util.addPortletLink('new-page', getElementUrl(caMain) + '?diff=cur&oldid=prev', 'last');
}
addPortletLink('new-page', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Log&page=' + mw.config.get('wgPageName'), 'page log');
// If we're in Userspace then add additional items to show info
// for this user
if (mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3) {
if ( mw.config.get('wgTitle').indexOf("/") == -1 ) {
uname = mw.config.get('wgTitle');
} else {
uname = mw.config.get('wgTitle').substring(0, mw.config.get('wgTitle').indexOf("/"));
}
mw.util.addPortletLink('new-page', mw.config.get('wgServer') + "/wiki" + '/Special:Contributions/' + uname, 'contribs');
if (caDelete) addPortletLink('new-page', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:DeletedContributions&target=' + uname, 'deleted contribs');
mw.util.addPortletLink('new-page', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Log&user=' + uname, 'user log');
mw.util.addPortletLink('new-page', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Log&type=block&page=User:' + uname, 'block log');
if (caDelete) mw.util.addPortletLink('new-page', mw.config.get('wgServer') + "/wiki" + '/Special:Blockip/' + uname, 'block');
}
// Add menu items for talk page
if( caTalk.className.search('new') == 0 ) {
mw.util.addPortletLink('new-talk', 'javascript:;', '');
mw.util.addPortletLink('new-talk', getElementUrl(caTalk), 'create');
} else {
mw.util.addPortletLink('new-talk', 'javascript:;', '');
mw.util.addPortletLink('new-talk', getElementUrl(caTalk) + '?action=edit', 'edit');
mw.util.addPortletLink('new-talk', getElementUrl(caTalk) + '?action=edit§ion=0', 'edit lead');
mw.util.addPortletLink('new-talk', getElementUrl(caTalk) + '?action=edit§ion=new', 'new section');
mw.util.addPortletLink('new-talk', getElementUrl(caTalk) + '?action=history', 'history');
mw.util.addPortletLink('new-talk', getElementUrl(caTalk) + '?diff=cur&oldid=prev', 'last');
}
mw.util.addPortletLink('new-talk', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Log&page=' + mw.config.get('wgPageName'), 'page log');
});
// </syntaxhighlight>