From: mayankmadan Date: Mon, 18 Nov 2013 19:28:36 +0000 (+0530) Subject: Adding hlist module to mediawiki X-Git-Tag: 1.31.0-rc.0~18034^2~1 X-Git-Url: http://git.cyclocoop.org/url?a=commitdiff_plain;h=657a337d5b4c2f0654fd3927b1799ae0478dbd15;p=lhc%2Fweb%2Fwiklou.git Adding hlist module to mediawiki Bug: 40062 Change-Id: Ie4ac182ce53317654b4cc17b25cfa34596054df7 --- diff --git a/resources/Resources.php b/resources/Resources.php index 463dec823a..543094aee0 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -693,6 +693,13 @@ return array( ), 'targets' => array( 'desktop', 'mobile' ), ), + 'mediawiki.hlist' => array( + 'styles' => 'resources/mediawiki/mediawiki.hlist.css', + 'scripts' => 'resources/mediawiki/mediawiki.hlist.js', + 'dependencies' => array( + 'jquery.client', + ), + ), 'mediawiki.htmlform' => array( 'scripts' => 'resources/mediawiki/mediawiki.htmlform.js', 'messages' => array( 'htmlform-chosen-placeholder' ), diff --git a/resources/mediawiki/mediawiki.hlist.css b/resources/mediawiki/mediawiki.hlist.css new file mode 100644 index 0000000000..0bd86fe2bb --- /dev/null +++ b/resources/mediawiki/mediawiki.hlist.css @@ -0,0 +1,83 @@ +/** + Stylesheet for mediawiki.hlist module + @author [[User:Edokter]] + */ +.skin-monobook .hlist dl, +.skin-modern .hlist dl, +.skin-vector .hlist dl { + line-height: 1.5em; +} +.hlist dl, +.hlist ol, +.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) " "; +} diff --git a/resources/mediawiki/mediawiki.hlist.js b/resources/mediawiki/mediawiki.hlist.js new file mode 100644 index 0000000000..ef981367e5 --- /dev/null +++ b/resources/mediawiki/mediawiki.hlist.js @@ -0,0 +1,24 @@ +/** + IE 8: Add pseudo-selector class to last-child list items + @author [[User:Edokter]] +*/ +jQuery( function( $ ) { + if ( $.client.profile().name === 'msie' ) { + if ( $.client.profile().versionNumber === 8 ) { + $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' ) + .addClass( 'hlist-last-child' ); + } + /* IE 7 and below: Generate interpuncts and parentheses */ + if ( $.client.profile().versionNumber <= 7 ) { + var $hlists = $( '.hlist' ); + $hlists.find( 'dt:not(:last-child)' ) + .append( ': ' ); + $hlists.find( 'dd:not(:last-child)' ) + .append( '· ' ); + $hlists.find( 'li:not(:last-child)' ) + .append( '· ' ); + $hlists.find( 'dl dl, dl ol, dl ul, ol dl, ol ol, ol ul, ul dl, ul ol, ul ul' ) + .prepend( '( ' ).append( ') ' ); + } + } +} );