Template talk:Hidden
Default?
editIs there any chance of including this into the default monobook for the mediawiki distribution?
Documentation
editRequires css and js, see below.
Example:
{{hidden|abc|*def *ghi}}
gives:
abc
|
---|
|
See also w:en:Template:Hidden.
Discussion
editFrom w:en:Template:Hidden; does not work here. What do we need to make it work?--Patrick 13:43, 30 January 2006 (UTC)
Do we need parts of w:en:MediaWiki:Monobook.js?--Patrick 13:59, 30 January 2006 (UTC)
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)
- 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)
- 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)
It still works here, but no longer on w:en (for me).--Patrick 10:21, 16 March 2006 (UTC)
Where do you add this part to? --151.197.188.16 23:50, 14 June 2006 (UTC)
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)
Edit request:CSS
editThis edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
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|}}}}}}"