Add mediawiki.legacy.feeds
authorOri Livneh <ori@wikimedia.org>
Sat, 15 Aug 2015 19:01:58 +0000 (12:01 -0700)
committerOri Livneh <ori@wikimedia.org>
Sat, 15 Aug 2015 19:03:12 +0000 (12:03 -0700)
Instead of embedding feed icons in mediawiki.legacy.shared, which is loaded on
every page, embed them only in mediawiki.legacy.feeds, which is loaded only on
pages which have feedlinks.

Change-Id: Ife5d84fb95944cb24939936785f3d8c4d9c2c187

includes/skins/SkinTemplate.php
resources/Resources.php
resources/src/mediawiki.legacy/feeds.css [new file with mode: 0644]
resources/src/mediawiki.legacy/shared.css

index ae78b2c..cc294f8 100644 (file)
@@ -51,12 +51,16 @@ class SkinTemplate extends Skin {
         * @param OutputPage $out
         */
        function setupSkinUserCss( OutputPage $out ) {
-               $out->addModuleStyles( array(
+               $moduleStyles = array(
                        'mediawiki.legacy.shared',
                        'mediawiki.legacy.commonPrint',
                        'mediawiki.ui.button',
                        'mediawiki.sectionAnchor'
-               ) );
+               );
+               if ( $out->isSyndicated() ) {
+                       $moduleStyles[] = 'mediawiki.legacy.feeds';
+               }
+               $out->addModuleStyles( $moduleStyles );
        }
 
        /**
index e1f27f7..ec1523e 100644 (file)
@@ -1695,6 +1695,10 @@ return array(
 
        /* MediaWiki Legacy */
 
+       'mediawiki.legacy.feeds' => array(
+               'position' => 'top',
+               'styles' => 'resources/src/mediawiki.legacy/feeds.css',
+       ),
        'mediawiki.legacy.commonPrint' => array(
                'position' => 'top',
                'styles' => array(
diff --git a/resources/src/mediawiki.legacy/feeds.css b/resources/src/mediawiki.legacy/feeds.css
new file mode 100644 (file)
index 0000000..9737fd4
--- /dev/null
@@ -0,0 +1,12 @@
+/* Extracted from mediawiki.legacy.shared, which no longer @embeds the
+ * background image. The selector below must be more specific. */
+#feedlinks a.feedlink {
+       /* SVG support using a transparent gradient to guarantee cross-browser
+        * compatibility (browsers able to understand gradient syntax support also SVG).
+        * http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
+       background-image: url(images/feed-icon.png);
+       /* @embed */
+       background-image: -webkit-linear-gradient(transparent, transparent), url(images/feed-icon.svg);
+       /* @embed */
+       background-image: linear-gradient(transparent, transparent), url(images/feed-icon.svg);
+}
index b69e59d..ca883e6 100644 (file)
@@ -495,9 +495,7 @@ a.feedlink {
         * compatibility (browsers able to understand gradient syntax support also SVG).
         * http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
        background-image: url(images/feed-icon.png);
-       /* @embed */
        background-image: -webkit-linear-gradient(transparent, transparent), url(images/feed-icon.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/feed-icon.svg);
        background-position: center left;
        background-repeat: no-repeat;