Tu banner alternativo

Wikipedia:WikiProject User scripts/Scripts/Compact Navigation

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!

Tu banner alternativo
// 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&section=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&section=0', 'edit lead');
        mw.util.addPortletLink('new-talk', getElementUrl(caTalk) + '?action=edit&section=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>