Line 1: |
Line 1: |
− | /** | + | /* Default styling for HTML elements */ |
− | * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally | + | dfn { |
− | * loaded for all users on every wiki page. If possible create a gadget that is
| + | font-style: inherit; /* Reset default styling for <dfn> */ |
− | * enabled by default instead of adding it here (since gadgets are fully
| + | } |
− | * optimized ResourceLoader modules with possibility to add dependencies etc.)
| + | sup, sub { |
− | *
| + | line-height: 1em; /* Reduce line-height for <sup> and <sub> */ |
− | * Since Common.js isn't a gadget, there is no place to declare its
| + | } |
− | * dependencies, so we have to lazy load them with mw.loader.using on demand and
| + | |
− | * then execute the rest in the callback. In most cases these dependencies will
| + | /* Main page fixes */ |
− | * be loaded (or loading) already and the callback will not be delayed. In case a
| + | #interwiki-completelist { |
− | * dependency hasn't arrived yet it'll make sure those are loaded before this. | + | font-weight: bold; |
− | */
| + | } |
− | /*global mw, $, importStylesheet, importScript */ | + | body.page-Main_Page #ca-delete { |
− | /*jshint curly:false eqnull:true, strict:false, browser:true, */ | + | display: none !important; |
| + | } |
| + | body.page-Main_Page #mp-topbanner { |
| + | clear: both; |
| + | } |
| + | |
| + | /* Edit window toolbar */ |
| + | #toolbar { |
| + | height: 22px; |
| + | margin-bottom: 6px; |
| + | } |
| + | |
| + | /* Highlight data points in the info action if specified in the URL */ |
| + | body.action-info :target { |
| + | background: #DEF; |
| + | } |
| + | |
| + | /* Make the list of references smaller */ |
| + | ol.references, |
| + | div.reflist, |
| + | div.refbegin { |
| + | font-size: 90%; /* Default font-size */ |
| + | margin-bottom: 0.5em; |
| + | } |
| + | div.refbegin-100 { |
| + | font-size: 100%; /* Option for normal fontsize in {{refbegin}} */ |
| + | } |
| + | div.reflist ol.references { |
| + | font-size: 100%; /* Reset font-size when nested in div.reflist */ |
| + | list-style-type: inherit; /* Enable custom list style types */ |
| + | } |
| + | |
| + | /* Reset top margin for lists embedded in columns */ |
| + | div.columns { |
| + | margin-top: 0.3em; |
| + | } |
| + | div.columns dl, |
| + | div.columns ol, |
| + | div.columns ul { |
| + | margin-top: 0; |
| + | } |
| + | |
| + | /* Avoid list items from breaking between columns */ |
| + | div.columns li, |
| + | div.columns dd dd { |
| + | -webkit-column-break-inside: avoid; |
| + | page-break-inside: avoid; |
| + | break-inside: avoid-column; |
| + | } |
| + | |
| + | /* Highlight clicked reference in blue to help navigation */ |
| + | ol.references li:target, |
| + | sup.reference:target, |
| + | span.citation:target { |
| + | background-color: #DEF; |
| + | } |
| + | |
| + | /* Ensure refs in table headers and the like aren't bold or italic */ |
| + | sup.reference { |
| + | font-weight: normal; |
| + | font-style: normal; |
| + | } |
| | | |
− | mw.loader.using( ['mediawiki.util', 'mediawiki.notify', 'jquery.client'], function () {
| + | /* Allow hidden ref errors to be shown by user CSS */ |
− | /* Begin of mw.loader.using callback */ | + | span.brokenref { |
| + | display: none; |
| + | } |
| | | |
− | /** | + | /* Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */ |
− | * Main Page layout fixes
| + | .citation { |
− | *
| + | word-wrap: break-word; |
− | * Description: Adds an additional link to the complete list of languages available.
| |
− | * Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]
| |
− | */
| |
− | if ( mw.config.get( 'wgPageName' ) === 'Main_Page' || mw.config.get( 'wgPageName' ) === 'Talk:Main_Page' ) {
| |
− | $( document ).ready( function () { | |
− | mw.util.addPortletLink( 'p-lang', '//meta.wikimedia.org/wiki/List_of_Wikipedias',
| |
− | 'Complete list', 'interwiki-completelist', 'Complete list of Wikipedias' );
| |
− | } );
| |
| } | | } |
| | | |
− | /** | + | /* For linked citation numbers and document IDs, where |
− | * Redirect User:Name/skin.js and skin.css to the current skin's pages
| + | the number need not be shown on a screen or a handheld, |
− | * (unless the 'skin' page really exists)
| + | but should be included in the printed version */ |
− | * @source: http://www.mediawiki.org/wiki/Snippets/Redirect_skin.js
| + | @media screen, handheld { |
− | * @rev: 2
| + | .citation *.printonly { |
− | */
| + | display: none; |
− | if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgNamespaceNumber' ) === 2 ) {
| |
− | var titleParts = mw.config.get( 'wgPageName' ).split( '/' ); | |
− | /* Make sure there was a part before and after the slash
| |
− | and that the latter is 'skin.js' or 'skin.css' */
| |
− | if ( titleParts.length == 2 ) {
| |
− | var userSkinPage = titleParts.shift() + '/' + mw.config.get( 'skin' ); | |
− | if ( titleParts.slice( -1 ) == 'skin.js' ) {
| |
− | window.location.href = mw.util.wikiGetlink( userSkinPage + '.js' );
| |
− | } else if ( titleParts.slice( -1 ) == 'skin.css' ) {
| |
− | window.location.href = mw.util.wikiGetlink( userSkinPage + '.css' );
| |
− | }
| |
| } | | } |
| } | | } |
| | | |
− | /** | + | /* Style for [[Template:Flowlist]] that Lets lists flow around floating objecs */ |
− | * Map addPortletLink to mw.util
| + | .flowlist ul { |
− | *
| + | overflow-x: hidden; |
− | * @deprecated: Use mw.util.addPortletLink instead.
| + | margin-left: 0em; |
| + | padding-left: 1.6em; |
| + | } |
| + | .flowlist ol { |
| + | overflow-x: hidden; |
| + | margin-left: 0em; |
| + | padding-left: 3.2em; |
| + | } |
| + | .flowlist dl { |
| + | overflow-x: hidden; |
| + | } |
| + | |
| + | /* Style for horizontal lists (separator following item). |
| + | IE8-specific classes are assigned in [[MediaWiki:Common.js/IEFixes.js]]. |
| + | @source mediawiki.org/wiki/Snippets/Horizontal_lists |
| + | @revision 4.2 (2013-11-20) |
| + | @author [[User:Edokter]] |
| */ | | */ |
− | mw.log.deprecate( window, 'addPortletLink', function () {
| + | .hlist dl, |
− | return mw.util.addPortletLink.apply( mw.util, arguments ); | + | .hlist ol, |
− | }, 'Use mw.util.addPortletLink() instead' ); | + | .hlist ul { |
| + | margin: 0; |
| + | padding: 0; |
| + | } |
| + | /* Display list items inline */ |
| + | .hlist dd, |
| + | .hlist dt, |
| + | .hlist li { |
| + | margin: 0; |
| + | display: inline; |
| + | } |
| + | /* Display nested lists inline */ |
| + | .hlist dl dl, .hlist dl ol, .hlist dl ul, |
| + | .hlist ol dl, .hlist ol ol, .hlist ol ul, |
| + | .hlist ul dl, .hlist ul ol, .hlist ul ul { |
| + | display: inline; |
| + | } |
| + | /* Generate interpuncts */ |
| + | .hlist dt:after { |
| + | content: ": "; |
| + | } |
| + | .hlist dd:after, |
| + | .hlist li:after { |
| + | content: " · "; |
| + | font-weight: bold; |
| + | } |
| + | .hlist dd:last-child:after, |
| + | .hlist dt:last-child:after, |
| + | .hlist li:last-child:after { |
| + | content: none; |
| + | } |
| + | /* For IE8 */ |
| + | .hlist dd.hlist-last-child:after, |
| + | .hlist dt.hlist-last-child:after, |
| + | .hlist li.hlist-last-child:after { |
| + | content: none; |
| + | } |
| + | /* Add parentheses around nested lists */ |
| + | .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, |
| + | .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, |
| + | .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { |
| + | content: " ("; |
| + | font-weight: normal; |
| + | } |
| + | .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, |
| + | .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, |
| + | .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { |
| + | content: ") "; |
| + | font-weight: normal; |
| + | } |
| + | /* For IE8 */ |
| + | .hlist dd dd.hlist-last-child:after, .hlist dd dt.hlist-last-child:after, .hlist dd li.hlist-last-child:after, |
| + | .hlist dt dd.hlist-last-child:after, .hlist dt dt.hlist-last-child:after, .hlist dt li.hlist-last-child:after, |
| + | .hlist li dd.hlist-last-child:after, .hlist li dt.hlist-last-child:after, .hlist li li.hlist-last-child:after { |
| + | content: ") "; |
| + | font-weight: normal; |
| + | } |
| + | /* Put ordinals in front of ordered list items */ |
| + | .hlist ol { |
| + | counter-reset: list-item; |
| + | } |
| + | .hlist ol > li { |
| + | counter-increment: list-item; |
| + | } |
| + | .hlist ol > li:before { |
| + | content: " " counter(list-item) " "; |
| + | } |
| + | .hlist dd ol > li:first-child:before, |
| + | .hlist dt ol > li:first-child:before, |
| + | .hlist li ol > li:first-child:before { |
| + | content: " (" counter(list-item) " "; |
| + | } |
| + | |
| + | /* Unbulleted lists */ |
| + | .plainlist ul { |
| + | line-height: inherit; |
| + | list-style: none none; |
| + | margin: 0; |
| + | } |
| + | .plainlist ul li { |
| + | margin-bottom: 0; |
| + | } |
| + | |
| + | /* Default style for navigation boxes */ |
| + | .navbox { /* Navbox container style */ |
| + | border: 1px solid #aaa; |
| + | width: 100%; |
| + | margin: auto; |
| + | clear: both; |
| + | font-size: 88%; |
| + | text-align: center; |
| + | padding: 1px; |
| + | } |
| + | .navbox-inner, |
| + | .navbox-subgroup { |
| + | width: 100%; |
| + | } |
| + | .navbox-group, |
| + | .navbox-title, |
| + | .navbox-abovebelow { |
| + | padding: 0.25em 1em; /* Title, group and above/below styles */ |
| + | line-height: 1.5em; |
| + | text-align: center; |
| + | } |
| + | th.navbox-group { /* Group style */ |
| + | white-space: nowrap; |
| + | /* @noflip */ |
| + | text-align: right; |
| + | } |
| + | .navbox, |
| + | .navbox-subgroup { |
| + | background: #fdfdfd; /* Background color */ |
| + | } |
| + | .navbox-list { |
| + | line-height: 1.8em; |
| + | border-color: #fdfdfd; /* Must match background color */ |
| + | } |
| + | .navbox th, |
| + | .navbox-title { |
| + | background: #ccccff; /* Level 1 color */ |
| + | } |
| + | .navbox-abovebelow, |
| + | th.navbox-group, |
| + | .navbox-subgroup .navbox-title { |
| + | background: #ddddff; /* Level 2 color */ |
| + | } |
| + | .navbox-subgroup .navbox-group, |
| + | .navbox-subgroup .navbox-abovebelow { |
| + | background: #e6e6ff; /* Level 3 color */ |
| + | } |
| + | .navbox-even { |
| + | background: #f7f7f7; /* Even row striping */ |
| + | } |
| + | .navbox-odd { |
| + | background: transparent; /* Odd row striping */ |
| + | } |
| + | table.navbox + table.navbox { /* Single pixel border between adjacent navboxes */ |
| + | margin-top: -1px; /* (doesn't work for IE6, but that's okay) */ |
| + | } |
| + | .navbox .hlist td dl, |
| + | .navbox .hlist td ol, |
| + | .navbox .hlist td ul, |
| + | .navbox td.hlist dl, |
| + | .navbox td.hlist ol, |
| + | .navbox td.hlist ul { |
| + | padding: 0.125em 0; /* Adjust hlist padding in navboxes */ |
| + | } |
| + | ol + table.navbox, |
| + | ul + table.navbox { |
| + | margin-top: 0.5em; /* Prevent lists from clinging to navboxes */ |
| + | } |
| + | |
| + | /* Default styling for Navbar template */ |
| + | .navbar { |
| + | display: inline; |
| + | font-size: 88%; |
| + | font-weight: normal; |
| + | } |
| + | .navbar ul { |
| + | display: inline; |
| + | white-space: nowrap; |
| + | } |
| + | .navbar li { |
| + | word-spacing: -0.125em; |
| + | } |
| + | .navbar.mini li span { |
| + | font-variant: small-caps; |
| + | } |
| + | /* Navbar styling when nested in infobox and navbox */ |
| + | .infobox .navbar { |
| + | font-size: 100%; |
| + | } |
| + | .navbox .navbar { |
| + | display: block; |
| + | font-size: 100%; |
| + | } |
| + | .navbox-title .navbar { |
| + | /* @noflip */ |
| + | float: left; |
| + | /* @noflip */ |
| + | text-align: left; |
| + | /* @noflip */ |
| + | margin-right: 0.5em; |
| + | width: 6em; |
| + | } |
| + | |
| + | /* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript |
| + | in [[MediaWiki:Common.js]] are styled here so they can be customised. */ |
| + | .collapseButton { |
| + | /* @noflip */ |
| + | float: right; |
| + | font-weight: normal; |
| + | /* @noflip */ |
| + | margin-left: 0.5em; |
| + | /* @noflip */ |
| + | text-align: right; |
| + | width: auto; |
| + | } |
| + | /* In navboxes, the show/hide button balances the v·d·e links |
| + | from [[Template:Navbar]], so they need to be the same width. */ |
| + | .navbox .collapseButton { |
| + | width: 6em; |
| + | } |
| + | |
| + | /* Styling for JQuery makeCollapsible, matching that of collapseButton */ |
| + | .mw-collapsible-toggle { |
| + | font-weight: normal; |
| + | /* @noflip */ |
| + | text-align: right; |
| + | } |
| + | .navbox .mw-collapsible-toggle { |
| + | width: 6em; |
| + | } |
| | | |
− | /** | + | /* Infobox template style */ |
− | * Extract a URL parameter from the current URL
| + | .infobox { |
− | *
| + | border: 1px solid #aaa; |
− | * @deprecated: Use mw.util.getParamValue with proper escaping
| + | background-color: #f9f9f9; |
− | */ | + | color: black; |
− | mw.log.deprecate( window, 'getURLParamValue', function () {
| + | /* @noflip */ |
− | return mw.util.getParamValue.apply( mw.util, arguments ); | + | margin: 0.5em 0 0.5em 1em; |
− | }, 'Use mw.util.getParamValue() instead' ); | + | padding: 0.2em; |
| + | /* @noflip */ |
| + | float: right; |
| + | /* @noflip */ |
| + | clear: right; |
| + | /* @noflip */ |
| + | text-align: left; |
| + | font-size: 88%; |
| + | line-height: 1.5em; |
| + | } |
| + | .infobox caption { |
| + | font-size: 125%; |
| + | font-weight: bold; |
| + | } |
| + | .infobox td, |
| + | .infobox th { |
| + | vertical-align: top; |
| + | } |
| + | .infobox.bordered { |
| + | border-collapse: collapse; |
| + | } |
| + | .infobox.bordered td, |
| + | .infobox.bordered th { |
| + | border: 1px solid #aaa; |
| + | } |
| + | .infobox.bordered .borderless td, |
| + | .infobox.bordered .borderless th { |
| + | border: 0; |
| + | } |
| + | |
| + | .infobox.sisterproject { |
| + | width: 20em; |
| + | font-size: 90%; |
| + | } |
| + | |
| + | .infobox.standard-talk { |
| + | border: 1px solid #c0c090; |
| + | background-color: #f8eaba; |
| + | } |
| + | .infobox.standard-talk.bordered td, |
| + | .infobox.standard-talk.bordered th { |
| + | border: 1px solid #c0c090; |
| + | } |
| + | |
| + | /* styles for bordered infobox with merged rows */ |
| + | .infobox.bordered .mergedtoprow td, |
| + | .infobox.bordered .mergedtoprow th { |
| + | border: 0; |
| + | border-top: 1px solid #aaa; |
| + | /* @noflip */ |
| + | border-right: 1px solid #aaa; |
| + | } |
| + | |
| + | .infobox.bordered .mergedrow td, |
| + | .infobox.bordered .mergedrow th { |
| + | border: 0; |
| + | /* @noflip */ |
| + | border-right: 1px solid #aaa; |
| + | } |
| + | |
| + | /* Styles for geography infoboxes, eg countries, |
| + | country subdivisions, cities, etc. */ |
| + | .infobox.geography { |
| + | border-collapse: collapse; |
| + | line-height: 1.2em; |
| + | font-size: 90%; |
| + | } |
| + | |
| + | .infobox.geography td, |
| + | .infobox.geography th { |
| + | border-top: 1px solid #aaa; |
| + | padding: 0.4em 0.6em 0.4em 0.6em; |
| + | } |
| + | .infobox.geography .mergedtoprow td, |
| + | .infobox.geography .mergedtoprow th { |
| + | border-top: 1px solid #aaa; |
| + | padding: 0.4em 0.6em 0.2em 0.6em; |
| + | } |
| + | |
| + | .infobox.geography .mergedrow td, |
| + | .infobox.geography .mergedrow th { |
| + | border: 0; |
| + | padding: 0 0.6em 0.2em 0.6em; |
| + | } |
| + | |
| + | .infobox.geography .mergedbottomrow td, |
| + | .infobox.geography .mergedbottomrow th { |
| + | border-top: 0; |
| + | border-bottom: 1px solid #aaa; |
| + | padding: 0 0.6em 0.4em 0.6em; |
| + | } |
| + | |
| + | .infobox.geography .maptable td, |
| + | .infobox.geography .maptable th { |
| + | border: 0; |
| + | padding: 0; |
| + | } |
| + | |
| + | /* Normal font styling for table row headers with scope="row" tag */ |
| + | .wikitable.plainrowheaders th[scope=row] { |
| + | font-weight: normal; |
| + | /* @noflip */ |
| + | text-align: left; |
| + | } |
| + | |
| + | /* Lists in data cells are always left-aligned */ |
| + | .wikitable td ul, |
| + | .wikitable td ol, |
| + | .wikitable td dl { |
| + | /* @noflip */ |
| + | text-align: left; |
| + | } |
| + | /* ...unless they also use the hlist class */ |
| + | .wikitable.hlist td ul, |
| + | .wikitable.hlist td ol, |
| + | .wikitable.hlist td dl { |
| + | text-align: inherit; |
| + | } |
| + | |
| + | /* Icons for medialist templates [[Template:Listen]], |
| + | [[Template:Multi-listen_start]], [[Template:Video]], |
| + | [[Template:Multi-video_start]] */ |
| + | div.listenlist { |
| + | background: url("//upload.wikimedia.org/wikipedia/commons/3/3f/Gnome_speakernotes_30px.png"); |
| + | /* @noflip */ |
| + | padding-left: 40px; |
| + | } |
| + | |
| + | /* Fix for hieroglyphs specificality issue in infoboxes ([[Bugzilla:41869]]) */ |
| + | table.mw-hiero-table td { |
| + | vertical-align: middle; |
| + | } |
| + | |
| + | /* Style rules for media list templates */ |
| + | div.medialist { |
| + | min-height: 50px; |
| + | margin: 1em; |
| + | /* @noflip */ |
| + | background-position: top left; |
| + | background-repeat: no-repeat; |
| + | } |
| + | div.medialist ul { |
| + | list-style-type: none; |
| + | list-style-image: none; |
| + | margin: 0; |
| + | } |
| + | div.medialist ul li { |
| + | padding-bottom: 0.5em; |
| + | } |
| + | div.medialist ul li li { |
| + | font-size: 91%; |
| + | padding-bottom: 0; |
| + | } |
| + | |
| + | /* Change the external link icon to an Adobe icon for all PDF files |
| + | in browsers that support these CSS selectors, like Mozilla and Opera */ |
| + | div#content a[href$=".pdf"].external, |
| + | div#content a[href*=".pdf?"].external, |
| + | div#content a[href*=".pdf#"].external, |
| + | div#content a[href$=".PDF"].external, |
| + | div#content a[href*=".PDF?"].external, |
| + | div#content a[href*=".PDF#"].external, |
| + | div#mw_content a[href$=".pdf"].external, |
| + | div#mw_content a[href*=".pdf?"].external, |
| + | div#mw_content a[href*=".pdf#"].external, |
| + | div#mw_content a[href$=".PDF"].external, |
| + | div#mw_content a[href*=".PDF?"].external, |
| + | div#mw_content a[href*=".PDF#"].external { |
| + | background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right; |
| + | /* @noflip */ |
| + | padding-right: 18px; |
| + | } |
| + | |
| + | /* Change the external link icon to an Adobe icon anywhere the PDFlink class |
| + | is used (notably Template:PDFlink). This works in IE, unlike the above. */ |
| + | div#content span.PDFlink a, |
| + | div#mw_content span.PDFlink a { |
| + | background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right; |
| + | /* @noflip */ |
| + | padding-right: 18px; |
| + | } |
| + | |
| + | /* Content in columns with CSS instead of tables ([[Template:Columns]]) */ |
| + | div.columns-2 div.column { |
| + | /* @noflip */ |
| + | float: left; |
| + | width: 50%; |
| + | min-width: 300px; |
| + | } |
| + | div.columns-3 div.column { |
| + | /* @noflip */ |
| + | float: left; |
| + | width: 33.3%; |
| + | min-width: 200px; |
| + | } |
| + | div.columns-4 div.column { |
| + | /* @noflip */ |
| + | float: left; |
| + | width: 25%; |
| + | min-width: 150px; |
| + | } |
| + | div.columns-5 div.column { |
| + | /* @noflip */ |
| + | float: left; |
| + | width: 20%; |
| + | min-width: 120px; |
| + | } |
| + | |
| + | /* Messagebox templates */ |
| + | .messagebox { |
| + | border: 1px solid #aaa; |
| + | background-color: #f9f9f9; |
| + | width: 80%; |
| + | margin: 0 auto 1em auto; |
| + | padding: .2em; |
| + | } |
| + | .messagebox.merge { |
| + | border: 1px solid #c0b8cc; |
| + | background-color: #f0e5ff; |
| + | text-align: center; |
| + | } |
| + | .messagebox.cleanup { |
| + | border: 1px solid #9f9fff; |
| + | background-color: #efefff; |
| + | text-align: center; |
| + | } |
| + | .messagebox.standard-talk { |
| + | border: 1px solid #c0c090; |
| + | background-color: #f8eaba; |
| + | margin: 4px auto; |
| + | } |
| + | /* For old WikiProject banners inside banner shells. */ |
| + | .mbox-inside .standard-talk, |
| + | .messagebox.nested-talk { |
| + | border: 1px solid #c0c090; |
| + | background-color: #f8eaba; |
| + | width: 100%; |
| + | margin: 2px 0; |
| + | padding: 2px; |
| + | } |
| + | .messagebox.small { |
| + | width: 238px; |
| + | font-size: 85%; |
| + | /* @noflip */ |
| + | float: right; |
| + | clear: both; |
| + | /* @noflip */ |
| + | margin: 0 0 1em 1em; |
| + | line-height: 1.25em; |
| + | } |
| + | .messagebox.small-talk { |
| + | width: 238px; |
| + | font-size: 85%; |
| + | /* @noflip */ |
| + | float: right; |
| + | clear: both; |
| + | /* @noflip */ |
| + | margin: 0 0 1em 1em; |
| + | line-height: 1.25em; |
| + | background: #F8EABA; |
| + | } |
| | | |
− | /** | + | /* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */ |
− | * Test if an element has a certain class
| + | th.mbox-text, td.mbox-text { /* The message body cell(s) */ |
− | *
| + | border: none; |
− | * @deprecated: Use $(element).hasClass() instead.
| + | /* @noflip */ |
− | */
| + | padding: 0.25em 0.9em; /* 0.9em left/right */ |
− | mw.log.deprecate( window, 'hasClass', function ( element, className ) {
| + | width: 100%; /* Make all mboxes the same width regardless of text length */ |
− | return $( element ).hasClass( className ); | + | } |
− | }, 'Use jQuery.hasClass() instead' ); | + | td.mbox-image { /* The left image cell */ |
| + | border: none; |
| + | /* @noflip */ |
| + | padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ |
| + | text-align: center; |
| + | } |
| + | td.mbox-imageright { /* The right image cell */ |
| + | border: none; |
| + | /* @noflip */ |
| + | padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ |
| + | text-align: center; |
| + | } |
| + | td.mbox-empty-cell { /* An empty narrow cell */ |
| + | border: none; |
| + | padding: 0px; |
| + | width: 1px; |
| + | } |
| | | |
− | /** | + | /* Article message box styles */ |
− | * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
| + | table.ambox { |
− | * @rev 5
| + | margin: 0px 10%; /* 10% = Will not overlap with other elements */ |
− | */ | + | border: 1px solid #aaa; |
− | // CSS | + | /* @noflip */ |
− | var extraCSS = mw.util.getParamValue( 'withCSS' );
| + | border-left: 10px solid #1e90ff; /* Default "notice" blue */ |
− | if ( extraCSS ) {
| + | background: #fbfbfb; |
− | if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) {
| + | } |
− | importStylesheet( extraCSS );
| + | table.ambox + table.ambox { /* Single border between stacked boxes. */ |
− | } else {
| + | margin-top: -1px; |
− | mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );
| + | } |
− | }
| + | .ambox th.mbox-text, |
| + | .ambox td.mbox-text { /* The message body cell(s) */ |
| + | padding: 0.25em 0.5em; /* 0.5em left/right */ |
| + | } |
| + | .ambox td.mbox-image { /* The left image cell */ |
| + | /* @noflip */ |
| + | padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ |
| + | } |
| + | .ambox td.mbox-imageright { /* The right image cell */ |
| + | /* @noflip */ |
| + | padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ |
| } | | } |
| | | |
− | // JS | + | table.ambox-notice { |
− | var extraJS = mw.util.getParamValue( 'withJS' );
| + | /* @noflip */ |
− | if ( extraJS ) {
| + | border-left: 10px solid #1e90ff; /* Blue */ |
− | if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) {
| + | } |
− | importScript( extraJS );
| + | table.ambox-speedy { |
− | } else {
| + | /* @noflip */ |
− | mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );
| + | border-left: 10px solid #b22222; /* Red */ |
− | }
| + | background: #fee; /* Pink */ |
| + | } |
| + | table.ambox-delete { |
| + | /* @noflip */ |
| + | border-left: 10px solid #b22222; /* Red */ |
| + | } |
| + | table.ambox-content { |
| + | /* @noflip */ |
| + | border-left: 10px solid #f28500; /* Orange */ |
| + | } |
| + | table.ambox-style { |
| + | /* @noflip */ |
| + | border-left: 10px solid #f4c430; /* Yellow */ |
| + | } |
| + | table.ambox-move { |
| + | /* @noflip */ |
| + | border-left: 10px solid #9932cc; /* Purple */ |
| + | } |
| + | table.ambox-protection { |
| + | /* @noflip */ |
| + | border-left: 10px solid #bba; /* Gray-gold */ |
| } | | } |
| | | |
− | /** | + | /* Image message box styles */ |
− | * Import more specific scripts if necessary
| + | table.imbox { |
− | */
| + | margin: 4px 10%; |
− | if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' || mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' ) {
| + | border-collapse: collapse; |
− | /* scripts specific to editing pages */ | + | border: 3px solid #1e90ff; /* Default "notice" blue */ |
− | importScript( 'MediaWiki:Common.js/edit.js' ); | + | background: #fbfbfb; |
− | } else if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist' ) { | + | } |
− | /* watchlist scripts */ | + | .imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ |
− | importScript( 'MediaWiki:Common.js/watchlist.js' ); | + | margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ |
| + | display: block; /* Fix for webkit to force 100% width. */ |
| } | | } |
− | if ( mw.config.get( 'wgNamespaceNumber' ) === 6 ) {
| + | .mbox-inside .imbox { /* For imboxes inside other templates. */ |
− | /* file description page scripts */
| + | margin: 4px; |
− | importScript( 'MediaWiki:Common.js/file.js' ); | |
| } | | } |
| | | |
− | /** | + | table.imbox-notice { |
− | * Load scripts specific to Internet Explorer
| + | border: 3px solid #1e90ff; /* Blue */ |
− | */
| + | } |
− | if ( $.client.profile().name === 'msie' ) {
| + | table.imbox-speedy { |
− | importScript( 'MediaWiki:Common.js/IEFixes.js' ); | + | border: 3px solid #b22222; /* Red */ |
| + | background: #fee; /* Pink */ |
| + | } |
| + | table.imbox-delete { |
| + | border: 3px solid #b22222; /* Red */ |
| + | } |
| + | table.imbox-content { |
| + | border: 3px solid #f28500; /* Orange */ |
| + | } |
| + | table.imbox-style { |
| + | border: 3px solid #f4c430; /* Yellow */ |
| + | } |
| + | table.imbox-move { |
| + | border: 3px solid #9932cc; /* Purple */ |
| + | } |
| + | table.imbox-protection { |
| + | border: 3px solid #bba; /* Gray-gold */ |
| + | } |
| + | table.imbox-license { |
| + | border: 3px solid #88a; /* Dark gray */ |
| + | background: #f7f8ff; /* Light gray */ |
| + | } |
| + | table.imbox-featured { |
| + | border: 3px solid #cba135; /* Brown-gold */ |
| } | | } |
| | | |
− | /** | + | /* Category message box styles */ |
− | * Fix for Windows XP Unicode font rendering
| + | table.cmbox { |
− | */
| + | margin: 3px 10%; |
− | if ( navigator.appVersion.search(/windows nt 5/i) !== -1 ) {
| + | border-collapse: collapse; |
− | mw.util.addCSS( '.IPA { font-family: "Lucida Sans Unicode", "Arial Unicode MS"; } ' + | + | border: 1px solid #aaa; |
− | '.Unicode { font-family: "Arial Unicode MS", "Lucida Sans Unicode"; } ' );
| + | background: #DFE8FF; /* Default "notice" blue */ |
| } | | } |
| | | |
− | /** | + | table.cmbox-notice { |
− | * WikiMiniAtlas
| + | background: #D8E8FF; /* Blue */ |
− | *
| + | } |
− | * Description: WikiMiniAtlas is a popup click and drag world map.
| + | table.cmbox-speedy { |
− | * This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
| + | margin-top: 4px; |
− | * The script itself is located on meta because it is used by many projects.
| + | margin-bottom: 4px; |
− | * See [[Meta:WikiMiniAtlas]] for more information.
| + | border: 4px solid #b22222; /* Red */ |
− | * Maintainers: [[User:Dschwen]]
| + | background: #FFDBDB; /* Pink */ |
− | */
| + | } |
− | ( function () {
| + | table.cmbox-delete { |
− | var require_wikiminiatlas = false; | + | background: #FFDBDB; /* Red */ |
− | var coord_filter = /geohack/;
| + | } |
− | $( document ).ready( function() {
| + | table.cmbox-content { |
− | $( 'a.external.text' ).each( function( key, link ) {
| + | background: #FFE7CE; /* Orange */ |
− | if ( link.href && coord_filter.exec( link.href ) ) {
| + | } |
− | require_wikiminiatlas = true;
| + | table.cmbox-style { |
− | // break from loop
| + | background: #FFF9DB; /* Yellow */ |
− | return false;
| + | } |
− | }
| + | table.cmbox-move { |
− | } );
| + | background: #E4D8FF; /* Purple */ |
− | if ( $( 'div.kmldata' ).length ) {
| + | } |
− | require_wikiminiatlas = true;
| + | table.cmbox-protection { |
− | }
| + | background: #EFEFE1; /* Gray-gold */ |
− | if ( require_wikiminiatlas ) {
| + | } |
− | mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
| |
− | }
| |
− | } ); | |
− | } )(); | |
| | | |
− | /** | + | /* Other pages message box styles */ |
− | * Interwiki links to featured articles ***************************************
| + | table.ombox { |
− | *
| + | margin: 4px 10%; |
− | * Description: Highlights interwiki links to featured articles (or
| + | border-collapse: collapse; |
− | * equivalents) by changing the bullet before the interwiki link
| + | border: 1px solid #aaa; /* Default "notice" gray */ |
− | * into a star.
| + | background: #f9f9f9; |
− | * Maintainers: [[User:R. Koot]]
| + | } |
− | */
| |
− | function LinkFA() {
| |
− | if ( document.getElementById( 'p-lang' ) ) { | |
− | var InterwikiLinks = document.getElementById( 'p-lang' ).getElementsByTagName( 'li' );
| |
| | | |
− | for ( var i = 0; i < InterwikiLinks.length; i++ ) {
| + | table.ombox-notice { |
− | var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/); | + | border: 1px solid #aaa; /* Gray */ |
− | if ( document.getElementById( className + '-fa' ) ) {
| + | } |
− | InterwikiLinks[i].className += ' FA';
| + | table.ombox-speedy { |
− | InterwikiLinks[i].title = 'This is a featured article in this language.';
| + | border: 2px solid #b22222; /* Red */ |
− | } else if ( document.getElementById( className + '-ga' ) ) {
| + | background: #fee; /* Pink */ |
− | InterwikiLinks[i].className += ' GA';
| + | } |
− | InterwikiLinks[i].title = 'This is a good article in this language.';
| + | table.ombox-delete { |
− | }
| + | border: 2px solid #b22222; /* Red */ |
− | }
| + | } |
− | } | + | table.ombox-content { |
| + | border: 1px solid #f28500; /* Orange */ |
| + | } |
| + | table.ombox-style { |
| + | border: 1px solid #f4c430; /* Yellow */ |
| + | } |
| + | table.ombox-move { |
| + | border: 1px solid #9932cc; /* Purple */ |
| + | } |
| + | table.ombox-protection { |
| + | border: 2px solid #bba; /* Gray-gold */ |
| } | | } |
| | | |
− | mw.hook( 'wikipage.content' ).add( LinkFA );
| + | /* Talk page message box styles */ |
| + | table.tmbox { |
| + | margin: 4px 10%; |
| + | border-collapse: collapse; |
| + | border: 1px solid #c0c090; /* Default "notice" gray-brown */ |
| + | background: #f8eaba; |
| + | } |
| + | .mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ |
| + | margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ |
| + | width: 100%; /* For Safari and Opera */ |
| + | } |
| + | .mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ |
| + | line-height: 1.5em; /* also "nested", so reset styles that are */ |
| + | font-size: 100%; /* set in "mbox-small" above. */ |
| + | } |
| | | |
− | /** | + | table.tmbox-speedy { |
− | * Collapsible tables *********************************************************
| + | border: 2px solid #b22222; /* Red */ |
− | *
| + | background: #fee; /* Pink */ |
− | * Description: Allows tables to be collapsed, showing only the header. See
| + | } |
− | * [[Wikipedia:NavFrame]].
| + | table.tmbox-delete { |
− | * Maintainers: [[User:R. Koot]]
| + | border: 2px solid #b22222; /* Red */ |
− | */
| + | } |
| + | table.tmbox-content { |
| + | border: 2px solid #f28500; /* Orange */ |
| + | } |
| + | table.tmbox-style { |
| + | border: 2px solid #f4c430; /* Yellow */ |
| + | } |
| + | table.tmbox-move { |
| + | border: 2px solid #9932cc; /* Purple */ |
| + | } |
| + | table.tmbox-protection, |
| + | table.tmbox-notice { |
| + | border: 1px solid #c0c090; /* Gray-brown */ |
| + | } |
| | | |
− | var autoCollapse = 2;
| + | /* Disambig and set index box styles */ |
− | var collapseCaption = 'hide';
| + | table.dmbox { |
− | var expandCaption = 'show';
| + | clear: both; |
| + | margin: 0.9em 1em; |
| + | border-top: 1px solid #ccc; |
| + | border-bottom: 1px solid #ccc; |
| + | background: transparent; |
| + | } |
| | | |
− | window.collapseTable = function ( tableIndex ) {
| + | /* Footer and header message box styles */ |
− | var Button = document.getElementById( 'collapseButton' + tableIndex ); | + | table.fmbox { |
− | var Table = document.getElementById( 'collapsibleTable' + tableIndex ); | + | clear: both; |
| + | margin: 0.2em 0; |
| + | width: 100%; |
| + | border: 1px solid #aaa; |
| + | background: #f9f9f9; /* Default "system" gray */ |
| + | } |
| + | table.fmbox-system { |
| + | background: #f9f9f9; |
| + | } |
| + | table.fmbox-warning { |
| + | border: 1px solid #bb7070; /* Dark pink */ |
| + | background: #ffdbdb; /* Pink */ |
| + | } |
| + | table.fmbox-editnotice { |
| + | background: transparent; |
| + | } |
| + | /* Div based "warning" style fmbox messages. */ |
| + | div.mw-warning-with-logexcerpt, |
| + | div.mw-lag-warn-high, |
| + | div.mw-cascadeprotectedwarning, |
| + | div#mw-protect-cascadeon { |
| + | clear: both; |
| + | margin: 0.2em 0; |
| + | border: 1px solid #bb7070; |
| + | background: #ffdbdb; |
| + | padding: 0.25em 0.9em; |
| + | } |
| + | /* Div based "system" style fmbox messages. |
| + | Used in [[MediaWiki:Readonly lag]]. */ |
| + | div.mw-lag-warn-normal, |
| + | div.fmbox-system { |
| + | clear: both; |
| + | margin: 0.2em 0; |
| + | border: 1px solid #aaa; |
| + | background: #f9f9f9; |
| + | padding: 0.25em 0.9em; |
| + | } |
| | | |
− | if ( !Table || !Button ) { | + | /* These mbox-small classes must be placed after all other |
− | return false;
| + | ambox/tmbox/ombox etc classes. "body.mediawiki" is so |
− | } | + | they override "table.ambox + table.ambox" above. */ |
| + | body.mediawiki table.mbox-small { /* For the "small=yes" option. */ |
| + | /* @noflip */ |
| + | clear: right; |
| + | /* @noflip */ |
| + | float: right; |
| + | /* @noflip */ |
| + | margin: 4px 0 4px 1em; |
| + | width: 238px; |
| + | font-size: 88%; |
| + | line-height: 1.25em; |
| + | } |
| + | body.mediawiki table.mbox-small-left { /* For the "small=left" option. */ |
| + | /* @noflip */ |
| + | margin: 4px 1em 4px 0; |
| + | width: 238px; |
| + | border-collapse: collapse; |
| + | font-size: 88%; |
| + | line-height: 1.25em; |
| + | } |
| | | |
− | var Rows = Table.rows; | + | /* Style for compact ambox */ |
− | var i; | + | /* Hide the images */ |
| + | .compact-ambox table .mbox-image, |
| + | .compact-ambox table .mbox-imageright, |
| + | .compact-ambox table .mbox-empty-cell { |
| + | display: none; |
| + | } |
| + | /* Remove borders, backgrounds, padding, etc. */ |
| + | .compact-ambox table.ambox { |
| + | border: none; |
| + | border-collapse: collapse; |
| + | background: transparent; |
| + | margin: 0 0 0 1.6em !important; |
| + | padding: 0 !important; |
| + | width: auto; |
| + | display: block; |
| + | } |
| + | body.mediawiki .compact-ambox table.mbox-small-left { |
| + | font-size: 100%; |
| + | width: auto; |
| + | margin: 0; |
| + | } |
| + | /* Style the text cell as a list item and remove its padding */ |
| + | .compact-ambox table .mbox-text { |
| + | padding: 0 !important; |
| + | margin: 0 !important; |
| + | } |
| + | .compact-ambox table .mbox-text-span { |
| + | display: list-item; |
| + | line-height: 1.5em; |
| + | list-style-type: square; |
| + | list-style-image: url(//bits.wikimedia.org/skins/common/images/bullet.gif); |
| + | } |
| + | .skin-vector .compact-ambox table .mbox-text-span { |
| + | list-style-type: circle; |
| + | list-style-image: url(//bits.wikimedia.org/skins/vector/images/bullet-icon.png) |
| + | } |
| + | /* Allow for hiding text in compact form */ |
| + | .compact-ambox .hide-when-compact { |
| + | display: none; |
| + | } |
| | | |
− | if ( Button.firstChild.data === collapseCaption ) {
| + | /* Remove default styles for [[MediaWiki:Noarticletext]]. */ |
− | for ( i = 1; i < Rows.length; i++ ) {
| + | div.noarticletext { |
− | Rows[i].style.display = 'none';
| + | border: none; |
− | }
| + | background: transparent; |
− | Button.firstChild.data = expandCaption;
| + | padding: 0; |
− | } else { | + | } |
− | for ( i = 1; i < Rows.length; i++ ) {
| |
− | Rows[i].style.display = Rows[0].style.display;
| |
− | }
| |
− | Button.firstChild.data = collapseCaption;
| |
− | }
| |
− | }; | |
| | | |
− | function createCollapseButtons() {
| + | /* Bold save button */ |
− | var tableIndex = 0; | + | #wpSave { |
− | var NavigationBoxes = {};
| + | font-weight: bold; |
− | var Tables = document.getElementsByTagName( 'table' );
| + | } |
− | var i;
| |
| | | |
− | function handleButtonLink( index, e ) {
| + | /* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */ |
− | window.collapseTable( index );
| + | .hiddenStructure { |
− | e.preventDefault();
| + | display: inline !important; |
− | } | + | color: #f00; |
| + | background-color: #0f0; |
| + | } |
| | | |
− | for ( i = 0; i < Tables.length; i++ ) {
| + | /* suppress missing interwiki image links where #ifexist cannot |
− | if ( $( Tables[i] ).hasClass( 'collapsible' ) ) {
| + | be used due to high number of requests see .hidden-redlink on |
| + | [[m:MediaWiki:Common.css]] */ |
| + | .check-icon a.new { |
| + | display: none; |
| + | speak: none; |
| + | } |
| | | |
− | /* only add button and increment count if there is a header row to work with */
| + | /* Removes underlines from certain links */ |
− | var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
| + | .nounderlines a, |
− | if ( !HeaderRow ) continue;
| + | .IPA a:link, .IPA a:visited { |
− | var Header = HeaderRow.getElementsByTagName( 'th' )[0];
| + | text-decoration: none !important; |
− | if ( !Header ) continue;
| + | } |
| | | |
− | NavigationBoxes[ tableIndex ] = Tables[i];
| + | /* Standard Navigationsleisten, aka box hiding thingy |
− | Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
| + | from .de. Documentation at [[Wikipedia:NavFrame]]. */ |
| + | div.NavFrame { |
| + | margin: 0; |
| + | padding: 4px; |
| + | border: 1px solid #aaa; |
| + | text-align: center; |
| + | border-collapse: collapse; |
| + | font-size: 95%; |
| + | } |
| + | div.NavFrame + div.NavFrame { |
| + | border-top-style: none; |
| + | border-top-style: hidden; |
| + | } |
| + | div.NavPic { |
| + | background-color: #fff; |
| + | margin: 0; |
| + | padding: 2px; |
| + | /* @noflip */ |
| + | float: left; |
| + | } |
| + | div.NavFrame div.NavHead { |
| + | height: 1.6em; |
| + | font-weight: bold; |
| + | background-color: #ccf; |
| + | position: relative; |
| + | } |
| + | div.NavFrame p, |
| + | div.NavFrame div.NavContent, |
| + | div.NavFrame div.NavContent p { |
| + | font-size: 100%; |
| + | } |
| + | div.NavEnd { |
| + | margin: 0; |
| + | padding: 0; |
| + | line-height: 1px; |
| + | clear: both; |
| + | } |
| + | a.NavToggle { |
| + | position: absolute; |
| + | top: 0; |
| + | /* @noflip */ |
| + | right: 3px; |
| + | font-weight: normal; |
| + | font-size: 90%; |
| + | } |
| | | |
− | var Button = document.createElement( 'span' );
| + | /* Hatnotes and disambiguation notices */ |
− | var ButtonLink = document.createElement( 'a' );
| + | .rellink, |
− | var ButtonText = document.createTextNode( collapseCaption );
| + | .dablink { |
| + | font-style: italic; |
| + | /* @noflip */ |
| + | padding-left: 1.6em; |
| + | margin-bottom: 0.5em; |
| + | } |
| + | .rellink i, |
| + | .dablink i { |
| + | font-style: normal; |
| + | } |
| | | |
− | Button.className = 'collapseButton'; /* Styles are declared in Common.css */
| + | /* Allow transcluded pages to display in lists rather than a table. |
| + | Compatible in Firefox; incompatible in IE6. */ |
| + | .listify td { display: list-item; } |
| + | .listify tr { display: block; } |
| + | .listify table { display: block; } |
| | | |
− | ButtonLink.style.color = Header.style.color;
| + | /* Geographical coordinates defaults. See [[Template:Coord/link]] |
− | ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
| + | for how these are used. The classes "geo", "longitude", and |
− | ButtonLink.setAttribute( 'href', '#' );
| + | "latitude" are used by the [[Geo microformat]]. */ |
− | $( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );
| + | .geo-default, .geo-dms, .geo-dec { display: inline; } |
− | ButtonLink.appendChild( ButtonText ); | + | .geo-nondefault, .geo-multi-punct { display: none; } |
| + | .longitude, .latitude { white-space: nowrap; } |
| | | |
− | Button.appendChild( document.createTextNode( '[' ) );
| + | /* When <div class="nonumtoc"> is used on the table of contents, |
− | Button.appendChild( ButtonLink );
| + | the ToC will display without numbers */ |
− | Button.appendChild( document.createTextNode( ']' ) );
| + | .nonumtoc .tocnumber { display: none; } |
| + | .nonumtoc #toc ul, |
| + | .nonumtoc .toc ul { |
| + | line-height: 1.5em; |
| + | list-style: none none; |
| + | margin: .3em 0 0; |
| + | padding: 0; |
| + | } |
| + | .nonumtoc #toc ul ul, |
| + | .nonumtoc .toc ul ul { |
| + | /* @noflip */ |
| + | margin: 0 0 0 2em; |
| + | } |
| | | |
− | Header.insertBefore( Button, Header.firstChild );
| + | /* Allow limiting of which header levels are shown in a TOC; |
− | tableIndex++;
| + | <div class="toclimit-3">, for instance, will limit to |
− | }
| + | showing ==headings== and ===headings=== but no further |
− | } | + | (as long as there are no =headings= on the page, which |
| + | there shouldn't be according to the MoS). */ |
| + | .toclimit-2 .toclevel-1 ul, |
| + | .toclimit-3 .toclevel-2 ul, |
| + | .toclimit-4 .toclevel-3 ul, |
| + | .toclimit-5 .toclevel-4 ul, |
| + | .toclimit-6 .toclevel-5 ul, |
| + | .toclimit-7 .toclevel-6 ul { |
| + | display: none; |
| + | } |
| | | |
− | for ( i = 0; i < tableIndex; i++ ) {
| + | /* Styling for Template:Quote */ |
− | if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) {
| + | blockquote.templatequote { |
− | window.collapseTable( i );
| + | margin-top: 0; |
− | }
| + | } |
− | else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) {
| + | blockquote.templatequote div.templatequotecite { |
− | var element = NavigationBoxes[i];
| + | line-height: 1em; |
− | while ((element = element.parentNode)) {
| + | /* @noflip */ |
− | if ( $( element ).hasClass( 'outercollapse' ) ) {
| + | text-align: left; |
− | window.collapseTable ( i );
| + | /* @noflip */ |
− | break;
| + | padding-left: 2em; |
− | }
| + | margin-top: 0; |
− | }
| + | } |
− | }
| + | blockquote.templatequote div.templatequotecite cite { |
− | } | + | font-size: 85%; |
| } | | } |
| | | |
− | mw.hook( 'wikipage.content' ).add( createCollapseButtons );
| + | /* User block messages */ |
| + | div.user-block { |
| + | padding: 5px; |
| + | margin-bottom: 0.5em; |
| + | border: 1px solid #A9A9A9; |
| + | background-color: #FFEFD5; |
| + | } |
| | | |
− | /** | + | /* Prevent line breaks in silly places: |
− | * Dynamic Navigation Bars (experimental)
| + | 1) Where desired |
− | *
| + | 2) Links when we don't want them to |
− | * Description: See [[Wikipedia:NavFrame]].
| + | 3) Bold "links" to the page itself |
− | * Maintainers: UNMAINTAINED
| + | 4) Ref tags with group names <ref group="Note"> --> "[Note 1]" */ |
− | */
| + | .nowrap, |
| + | .nowraplinks a, |
| + | .nowraplinks .selflink, |
| + | sup.reference a { |
| + | white-space: nowrap; |
| + | } |
| + | /* But allow wrapping where desired: */ |
| + | .wrap, |
| + | .wraplinks a { |
| + | white-space: normal; |
| + | } |
| | | |
− | /* set up the words in your language */ | + | /* For template documentation */ |
− | var NavigationBarHide = '[' + collapseCaption + ']';
| + | .template-documentation { |
− | var NavigationBarShow = '[' + expandCaption + ']';
| + | clear: both; |
| + | margin: 1em 0 0 0; |
| + | border: 1px solid #aaa; |
| + | background-color: #ecfcf4; |
| + | padding: 1em; |
| + | } |
| | | |
− | /** | + | /* Inline divs in ImageMaps (code borrowed from de.wiki) */ |
− | * Shows and hides content and picture (if available) of navigation bars
| + | .imagemap-inline div { |
− | * Parameters:
| + | display: inline; |
− | * indexNavigationBar: the index of navigation bar to be toggled
| + | } |
− | **/
| |
− | window.toggleNavigationBar = function ( indexNavigationBar, event ) {
| |
− | var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar ); | |
− | var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar );
| |
− | var NavChild;
| |
| | | |
− | if ( !NavFrame || !NavToggle ) {
| + | /* Increase the height of the image upload box */ |
− | return false;
| + | #wpUploadDescription { |
− | }
| + | height: 13em; |
| + | } |
| | | |
− | /* if shown now */
| + | /* Minimum thumb width */ |
− | if ( NavToggle.firstChild.data === NavigationBarHide ) {
| + | .thumbinner { |
− | for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
| + | min-width: 100px; |
− | if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) {
| + | } |
− | NavChild.style.display = 'none';
| |
− | }
| |
− | }
| |
− | NavToggle.firstChild.data = NavigationBarShow;
| |
| | | |
− | /* if hidden now */
| + | /* Makes the background of a framed image white instead of gray. |
− | } else if ( NavToggle.firstChild.data === NavigationBarShow ) {
| + | Only visible with transparent images. */ |
− | for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
| + | div.thumb .thumbimage { |
− | if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) {
| + | background-color: #fff; |
− | NavChild.style.display = 'block';
| + | } |
− | }
| |
− | }
| |
− | NavToggle.firstChild.data = NavigationBarHide;
| |
− | }
| |
| | | |
− | event.preventDefault(); | + | /* The backgrounds for galleries. */ |
− | }; | + | div#content .gallerybox div.thumb { |
| + | /* Light gray padding */ |
| + | background-color: #F9F9F9; |
| + | } |
| + | /* Put a chequered background behind images, only visible if they have transparency. |
| + | '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ |
| + | .gallerybox .thumb img { |
| + | background: #fff url(//bits.wikimedia.org/skins/common/images/Checker-16x16.png) repeat; |
| + | } |
| + | /* But not on articles, user pages, portals or with opt-out. */ |
| + | .ns-0 .gallerybox .thumb img, |
| + | .ns-2 .gallerybox .thumb img, |
| + | .ns-100 .gallerybox .thumb img, |
| + | .nochecker .gallerybox .thumb img { |
| + | background: #fff; |
| + | } |
| | | |
− | /* adds show/hide-button to navigation bars */ | + | /* Prevent floating boxes from overlapping any category listings, |
− | function createNavigationBarToggleButton() {
| + | file histories, edit previews, and edit [Show changes] views. */ |
− | var indexNavigationBar = 0;
| + | #mw-subcategories, #mw-pages, #mw-category-media, |
− | var NavFrame;
| + | #filehistory, #wikiPreview, #wikiDiff { |
− | var NavChild;
| + | clear: both; |
− | /* iterate over all < div >-elements */
| + | } |
− | var divs = document.getElementsByTagName( 'div' );
| |
− | for ( var i = 0; (NavFrame = divs[i]); i++ ) { | |
− | /* if found a navigation bar */
| |
− | if ( $( NavFrame ).hasClass( 'NavFrame' ) ) {
| |
| | | |
− | indexNavigationBar++;
| + | body.rtl #mw-articlefeedbackv5, body.rtl #mw-articlefeedback { |
− | var NavToggle = document.createElement( 'a' );
| + | display: block; /* Override inline block mode */ |
− | NavToggle.className = 'NavToggle';
| + | margin-bottom: 1em; |
− | NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
| + | /* @noflip */ |
− | NavToggle.setAttribute( 'href', '#' );
| + | clear: right; /* Clear any info boxes that stick out */ |
− | $( NavToggle ).on( 'click', $.proxy( window.toggleNavigationBar, window, indexNavigationBar ) );
| + | /* @noflip */ |
| + | float: right; /* Prevents margin collapsing */ |
| + | } |
| | | |
− | var isCollapsed = $( NavFrame ).hasClass( 'collapsed' );
| + | /* Selectively hide headers in WikiProject banners */ |
− | /**
| + | .wpb .wpb-header { display: none; } |
− | * Check if any children are already hidden. This loop is here for backwards compatibility:
| + | .wpbs-inner .wpb .wpb-header { display: block; } /* for IE */ |
− | * the old way of making NavFrames start out collapsed was to manually add style="display:none"
| + | .wpbs-inner .wpb .wpb-header { display: table-row; } /* for real browsers */ |
− | * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
| + | .wpbs-inner .wpb-outside { display: none; } /* hide things that should only display outside shells */ |
− | * the content visible without JavaScript support), the new recommended way is to add the class
| |
− | * "collapsed" to the NavFrame itself, just like with collapsible tables.
| |
− | */
| |
− | for ( NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling ) {
| |
− | if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) {
| |
− | if ( NavChild.style.display === 'none' ) {
| |
− | isCollapsed = true;
| |
− | }
| |
− | }
| |
− | }
| |
− | if ( isCollapsed ) {
| |
− | for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
| |
− | if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) {
| |
− | NavChild.style.display = 'none';
| |
− | }
| |
− | }
| |
− | }
| |
− | var NavToggleText = document.createTextNode( isCollapsed ? NavigationBarShow : NavigationBarHide );
| |
− | NavToggle.appendChild( NavToggleText );
| |
| | | |
− | /* Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) */
| + | /* Styling for Abuse Filter tags */ |
− | for( var j = 0; j < NavFrame.childNodes.length; j++ ) {
| + | .mw-tag-markers { |
− | if ( $( NavFrame.childNodes[j] ).hasClass( 'NavHead' ) ) {
| + | font-family:sans-serif; |
− | NavToggle.style.color = NavFrame.childNodes[j].style.color;
| + | font-style:italic; |
− | NavFrame.childNodes[j].appendChild( NavToggle );
| + | font-size:90%; |
− | }
| |
− | }
| |
− | NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
| |
− | }
| |
− | }
| |
| } | | } |
| | | |
− | mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );
| + | /* Hide stuff meant for accounts with special permissions. Made visible again in |
| + | [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-accountcreator.css]], |
| + | [[MediaWiki:Group-templateeditor.css]] and [[Mediawiki:Group-autoconfirmed.css]]. */ |
| + | .sysop-show, |
| + | .accountcreator-show, |
| + | .templateeditor-show, |
| + | .autoconfirmed-show { |
| + | display: none; |
| + | } |
| | | |
| /** | | /** |
− | * Uploadwizard_newusers | + | * Hide the redlink generated by {{Editnotice}}, |
− | * Switches in a message for non-autoconfirmed users at [[Wikipedia:Upload]] | + | * this overrides the ".sysop-show { display: none; }" above that applies |
− | * | + | * to the same link as well. |
− | * Maintainers: [[User:Krimpet]]
| |
| */ | | */ |
− | function uploadwizard_newusers() {
| + | .ve-init-mw-viewPageTarget-toolbar-editNotices-notice .editnotice-redlink { |
− | if ( mw.config.get( 'wgNamespaceNumber' ) === 4 && mw.config.get( 'wgTitle' ) === 'Upload' && mw.config.get( 'wgAction' ) === 'view' ) { | + | display: none !important; |
− | var oldDiv = document.getElementById( 'autoconfirmedusers' ), | + | } |
− | newDiv = document.getElementById( 'newusers' );
| + | |
− | if ( oldDiv && newDiv ) {
| + | /* Remove bullets when there are multiple edit page warnings */ |
− | var userGroups = mw.config.get( 'wgUserGroups' );
| + | ul.permissions-errors > li { |
− | if ( userGroups ) {
| + | list-style: none none; |
− | for ( var i = 0; i < userGroups.length; i++ ) {
| + | } |
− | if ( userGroups[i] === 'autoconfirmed' ) {
| + | ul.permissions-errors { |
− | oldDiv.style.display = 'block';
| + | margin: 0; |
− | newDiv.style.display = 'none';
| + | } |
− | return;
| + | |
− | }
| + | /* No linewrap on the labels of the login/signup page */ |
− | }
| + | body.page-Special_UserLogin .mw-label label, |
− | }
| + | body.page-Special_UserLogin_signup .mw-label label { |
− | oldDiv.style.display = 'none';
| + | white-space: nowrap; |
− | newDiv.style.display = 'block';
| + | } |
− | return;
| + | |
− | } | + | /* Disable the automatic text-size adjust of WebKit on iPhones etc. |
| + | It scales some text, and not the other. Use none, or fixed percentage instead. |
| + | Use media selector, because defining a value, overwrites platform defaults. */ |
| + | @media only screen and (max-device-width: 480px) { |
| + | body { |
| + | -webkit-text-size-adjust: none; |
| + | } |
| + | } |
| + | |
| + | /* Pie chart test: Transparent borders */ |
| + | .transborder { |
| + | border: solid transparent; |
| + | } |
| + | * html .transborder { /* IE6 */ |
| + | border: solid #000001; |
| + | filter: chroma(color=#000001); |
| + | } |
| + | |
| + | /* Styling for updated markers on watchlist, history and recent/related changes. |
| + | Bullets are handled in skin-specific stylesheets. */ |
| + | .updatedmarker { |
| + | background-color: transparent; |
| + | color: #006400; |
| + | } |
| + | li.mw-changeslist-line-watched .mw-title, |
| + | table.mw-changeslist-line-watched .mw-title, |
| + | table.mw-enhanced-watch .mw-enhanced-rctime { |
| + | font-weight: normal; |
| + | } |
| + | |
| + | /* Adjust font for inline HTML generated formulae */ |
| + | span.texhtml { |
| + | font-family: "Times New Roman", "Nimbus Roman No9 L", Times, serif; |
| + | font-size: 118%; |
| + | white-space: nowrap; |
| + | } |
| + | span.texhtml span.texhtml { |
| + | font-size: 100%; |
| + | } |
| + | |
| + | /* Fix so <syntaxhighlight> tags and .css and .js pages get normal text size. |
| + | [[Bugzilla:26204]]. See also [[Wikipedia:Typography#The monospace 'bug']] */ |
| + | div.mw-geshi div, |
| + | div.mw-geshi div pre, |
| + | span.mw-geshi, |
| + | pre.source-css, |
| + | pre.source-javascript, |
| + | pre.source-lua { |
| + | font-family: monospace, Courier !important; |
| + | } |
| + | |
| + | /* Fix styling of transcluded prefindex tables */ |
| + | table#mw-prefixindex-list-table, |
| + | table#mw-prefixindex-nav-table { |
| + | width: 98%; |
| + | } |
| + | |
| + | /* For portals, added 2011-12-07 -bv |
| + | On wide screens, show these as two columns |
| + | On narrow and mobile screens, let them collapse into a single column */ |
| + | .portal-column-left { |
| + | float: left; |
| + | width: 50%; |
| + | } |
| + | .portal-column-right { |
| + | float: right; |
| + | width: 49%; |
| + | } |
| + | .portal-column-left-wide { |
| + | float: left; |
| + | width: 60%; |
| + | } |
| + | .portal-column-right-narrow { |
| + | float: right; |
| + | width: 39%; |
| + | } |
| + | .portal-column-left-extra-wide { |
| + | float: left; |
| + | width: 70%; |
| + | } |
| + | .portal-column-right-extra-narrow { |
| + | float: right; |
| + | width: 29%; |
| + | } |
| + | @media only screen and (max-width: 800px) { |
| + | /* Decouple the columns on narrow screens */ |
| + | .portal-column-left, |
| + | .portal-column-right, |
| + | .portal-column-left-wide, |
| + | .portal-column-right-narrow, |
| + | .portal-column-left-extra-wide, |
| + | .portal-column-right-extra-narrow { |
| + | float: inherit; |
| + | width: inherit; |
| } | | } |
| } | | } |
| | | |
− | $(uploadwizard_newusers);
| + | /* For announcements */ |
| + | #bodyContent .letterhead { |
| + | background-image:url('//upload.wikimedia.org/wikipedia/commons/e/e0/Tan-page-corner.png'); |
| + | background-repeat:no-repeat; |
| + | padding: 2em; |
| + | background-color: #faf9f2; |
| + | } |
| + | |
| + | /* Tree style lists */ |
| + | .treeview ul { |
| + | padding: 0; |
| + | margin: 0; |
| + | } |
| + | .treeview li { |
| + | padding: 0; |
| + | margin: 0; |
| + | list-style-type: none; |
| + | list-style-image: none; |
| + | zoom: 1; /* BE KIND TO IE6 */; |
| + | } |
| + | .treeview li li { |
| + | background: url("//upload.wikimedia.org/wikipedia/commons/f/f2/Treeview-grey-line.png") no-repeat 0 -2981px; |
| + | /* @noflip */ |
| + | padding-left: 20px; |
| + | text-indent: 0.3em; |
| + | } |
| + | .treeview li li.lastline { |
| + | background-position: 0 -5971px |
| + | } |
| + | .treeview li.emptyline > ul { |
| + | /* @noflip */ |
| + | margin-left: -1px; |
| + | } |
| + | .treeview li.emptyline > ul > li:first-child { |
| + | background-position: 0 9px |
| + | } |
| | | |
− | /** | + | /* hidden sortkey for tablesorter */ |
− | * Magic editintros ****************************************************
| + | td .sortkey, |
− | *
| + | th .sortkey { |
− | * Description: Adds editintros on disambiguation pages and BLP pages.
| + | display: none; |
− | * Maintainers: [[User:RockMFR]]
| + | speak: none; |
− | */
| |
− | function addEditIntro( name ) {
| |
− | $( '.mw-editsection, #ca-edit' ).find( 'a' ).each( function ( i, el ) {
| |
− | el.href = $( this ).attr( 'href' ) + '&editintro=' + name;
| |
− | } ); | |
| } | | } |
| | | |
− | if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
| + | /* Make it possible to hide checkboxes in <inputbox> */ |
− | $( function () { | + | .inputbox-hidecheckboxes form .inputbox-element { |
− | if ( document.getElementById( 'disambigbox' ) ) {
| + | display: none !important; |
− | addEditIntro( 'Template:Disambig_editintro' );
| + | } |
− | }
| |
− | } );
| |
| | | |
− | $( function () {
| + | /* Hide charinsert base for those not using the gadget */ |
− | var cats = document.getElementById( 'mw-normal-catlinks' );
| + | #editpage-specialchars { |
− | if ( !cats ) {
| + | display: none; |
− | return;
| |
− | }
| |
− | cats = cats.getElementsByTagName( 'a' );
| |
− | for ( var i = 0; i < cats.length; i++ ) {
| |
− | if ( cats[i].title === 'Category:Living people' || cats[i].title === 'Category:Possibly living people' ) {
| |
− | addEditIntro( 'Template:BLP_editintro' );
| |
− | break;
| |
− | }
| |
− | }
| |
− | } );
| |
| } | | } |
| | | |
− | /** | + | /* work-around for [[bugzilla:23965]] (Kaltura advertisement) */ |
− | * Description: Stay on the secure server as much as possible
| + | .k-player .k-attribution { |
− | * Maintainers: [[User:TheDJ]]
| + | visibility: hidden; |
− | */
| |
− | if ( document.location && document.location.protocol && document.location.protocol === 'https:' ) {
| |
− | /* New secure servers */ | |
− | importScript( 'MediaWiki:Common.js/secure new.js' );
| |
| } | | } |
| | | |
− | /* End of mw.loader.using callback */ | + | /* [[MediaZilla:35337]] */ |
− | } ); | + | @media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx), (min-resolution: 144dpi) { |
− | /* DO NOT ADD CODE BELOW THIS LINE */ | + | #p-logo a { |
| + | background-image: url("//upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Wikipedia-logo-v2-en.svg/204px-Wikipedia-logo-v2-en.svg.png") !important; |
| + | background-size: 136px auto; |
| + | } |
| + | } |
| + | @media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (min-resolution: 2dppx), (min-resolution: 192dpi) { |
| + | #p-logo a { |
| + | background-image: url("//upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Wikipedia-logo-v2-en.svg/270px-Wikipedia-logo-v2-en.svg.png") !important; |
| + | background-size: 135px auto; |
| + | } |
| + | } |