From d51317ccc24940b77f4f7226d9455c801c09b457 Mon Sep 17 00:00:00 2001 From: Ori Livneh Date: Sat, 15 Aug 2015 12:01:58 -0700 Subject: [PATCH] Add mediawiki.legacy.feeds 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 | 8 ++++++-- resources/Resources.php | 4 ++++ resources/src/mediawiki.legacy/feeds.css | 12 ++++++++++++ resources/src/mediawiki.legacy/shared.css | 2 -- 4 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 resources/src/mediawiki.legacy/feeds.css diff --git a/includes/skins/SkinTemplate.php b/includes/skins/SkinTemplate.php index ae78b2c3b2..cc294f8636 100644 --- a/includes/skins/SkinTemplate.php +++ b/includes/skins/SkinTemplate.php @@ -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 ); } /** diff --git a/resources/Resources.php b/resources/Resources.php index e1f27f7541..ec1523e33f 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -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 index 0000000000..9737fd466d --- /dev/null +++ b/resources/src/mediawiki.legacy/feeds.css @@ -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); +} diff --git a/resources/src/mediawiki.legacy/shared.css b/resources/src/mediawiki.legacy/shared.css index b69e59d07f..ca883e6bfc 100644 --- a/resources/src/mediawiki.legacy/shared.css +++ b/resources/src/mediawiki.legacy/shared.css @@ -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; -- 2.20.1