Jump to content

Template talk:Hidden

Add topic
From Meta, a Wikimedia project coordination wiki
Latest comment: 6 years ago by MarcoAurelio in topic Edit request:CSS

Default?

[edit]

Is there any chance of including this into the default monobook for the mediawiki distribution?

Documentation

[edit]

Requires css and js, see below.

Example:

{{hidden|abc|*def
*ghi}}

gives:

abc
  • def
  • ghi

See also w:en:Template:Hidden.

Discussion

[edit]

From w:en:Template:Hidden; does not work here. What do we need to make it work?--Patrick 13:43, 30 January 2006 (UTC)Reply

Do we need parts of w:en:MediaWiki:Monobook.js?--Patrick 13:59, 30 January 2006 (UTC)Reply

Yepp, you need first the css:

/* Standard Navigationsleisten, aka box hiding thingy from .de.*/

div.Boxmerge,
div.NavFrame {
        margin: 0px;
        padding: 2px;
        border: 1px solid #aaaaaa;
        text-align: center;
        border-collapse: collapse;
        font-size: 95%;
}
div.Boxmerge div.NavFrame {
        border-style: none;
        border-style: hidden;
}
div.NavFrame + div.NavFrame {
        border-top-style: none;
        border-top-style: hidden;
}
div.NavPic {
        background-color: #ffffff;
        margin: 0px;
        padding: 2px;
        float: left;
}
div.NavFrame div.NavHead {
        height: 1.6em;
        font-weight: bold;
        font-size: 100%;
        background-color: #efefef;
        position:relative;
}
div.NavFrame p {
        font-size: 100%;
}
div.NavFrame div.NavContent {
        font-size: 100%;
}
div.NavFrame div.NavContent p {
        font-size: 100%;
}
div.NavEnd {
        margin: 0px;
        padding: 0px;
        line-height: 1px;
        clear: both;
}
a.NavToggle {
        position:absolute;
        top:0px;
        right:3px;
        font-weight:normal;
        font-size:smaller;
}

And the javascript:

 // ============================================================
 // BEGIN Dynamic Navigation Bars (experimantal)
 
 // set up the words in your language
 var NavigationBarHide = '[ Hide ]';
 var NavigationBarShow = '[ Show ]';
 
 // set up max count of Navigation Bars on page,
 // if there are more, all will be hidden
 // NavigationBarShowDefault = 0; // all bars will be hidden
 // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
 var NavigationBarShowDefault = 1;
 
 
 // shows and hides content and picture (if available) of navigation bars
 // Parameters:
 //     indexNavigationBar: the index of navigation bar to be toggled
 function toggleNavigationBar(indexNavigationBar)
 {
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
    if (!NavFrame || !NavToggle) {
        return false;
    }
 
    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if (NavChild.className == 'NavPic') {
                NavChild.style.display = 'none';
            }
            if (NavChild.className == 'NavContent') {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;
 
    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if (NavChild.className == 'NavPic') {
                NavChild.style.display = 'block';
            }
            if (NavChild.className == 'NavContent') {
                NavChild.style.display = 'block';
            }
        }
    NavToggle.firstChild.data = NavigationBarHide;
    }
 }
 
 // adds show/hide-button to navigation bars
 function createNavigationBarToggleButton()
 {
    var indexNavigationBar = 0;
    // iterate over all < div >-elements
    for(
            var i=0; 
            NavFrame = document.getElementsByTagName("div")[i]; 
            i++
        ) {
        // if found a navigation bar
        if (NavFrame.className == "NavFrame") {
 
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(
              var j=0; 
              j < NavFrame.childNodes.length; 
              j++
            ) {
              if (NavFrame.childNodes[j].className == "NavHead") {
                NavFrame.childNodes[j].appendChild(NavToggle);
              }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault < indexNavigationBar) {
        for(
                var i=1; 
                i<=indexNavigationBar; 
                i++
        ) {
            toggleNavigationBar(i);
        }
    }
 
 }
 
 addLoadEvent(createNavigationBarToggleButton);
 
 // END Dynamic Navigation Bars
 // ============================================================

(Both from Monobook.css and Monobook.js on en:wikipedia AzaToth 17:05, 30 January 2006 (UTC)Reply

Hm, I tried it with User:Patrick/monobook.js and User:Patrick/monobook.css on meta, but it does not work.--Patrick 02:13, 31 January 2006 (UTC)Reply
Oops, I forgot the addLoadEvent:
function addLoadEvent(func) 
{
  if (window.addEventListener) 
    window.addEventListener("load", func, false);
  else if (window.attachEvent) 
    window.attachEvent("onload", func);
}

Thanks, it works now. Very good. One thing: in Meta I get show/hide in the right margin, while on Wikipedia I get them right after the text. Where is this controlled? Any idea why this differs?--Patrick 10:12, 31 January 2006 (UTC)Reply

It still works here, but no longer on w:en (for me).--Patrick 10:21, 16 March 2006 (UTC)Reply

Where do you add this part to? --151.197.188.16 23:50, 14 June 2006 (UTC)Reply

function addLoadEvent(func) 
{
  if (window.addEventListener) 
    window.addEventListener("load", func, false);
  else if (window.attachEvent) 
    window.attachEvent("onload", func);
}
I see, the top of monobook.js. This is really handy on my wiki http://theplaz.com Thanks for your helpful page :)--151.197.188.16 23:51, 14 June 2006 (UTC)Reply

Edit request:CSS

[edit]

Could someone with template-edit privileges add a custom CSS parameter by replacing the top line with:

{| class="mw-collapsible {{#ifeq: {{{state|collapsed}}} | collapsed | mw-collapsed }}" style="margin: 2px 0; background: #FFF; color: #000; width: {{{width|100%}}}; border: 1px solid #AAA; padding: 0; border-spacing: 0; border-collapse: collapse;{{{style|{{{css|}}}}}}"

Thanks! T.Shafee(Evo﹠Evo)talk 12:52, 25 February 2018 (UTC)Reply

[1]MarcoAurelio (talk) 12:54, 25 February 2018 (UTC)Reply