Jdlrobson has uploaded a new change for review. https://gerrit.wikimedia.org/r/66277
Change subject: Alpha: Introduce a page banner concept on tablets and desktop Minerva skin ...................................................................... Alpha: Introduce a page banner concept on tablets and desktop Minerva skin TODO: Currently the page banner is not configurable by editors. It's hoped that it can be with enough interest. This is being used on Wikivoyage - https://en.wikivoyage.org/wiki/Rotterdam Change-Id: Ib58e4818138f8611e4649d6453b6c83f0e4fa307 --- M MobileFrontend.php M includes/Resources.php M includes/skins/MinervaTemplate.php M includes/skins/SkinMinerva.php M includes/skins/SkinMobile.php M includes/skins/SkinMobileBase.php M less/common/pageactions.less A less/tablet/common.less M stylesheets/common/pageactions.css A stylesheets/tablet/common.css 10 files changed, 140 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend refs/changes/77/66277/1 diff --git a/MobileFrontend.php b/MobileFrontend.php index 423b241..18b542c 100644 --- a/MobileFrontend.php +++ b/MobileFrontend.php @@ -383,3 +383,14 @@ * @var bool */ $wgMFEnableCssAnimations = true; + +/** + * Minerva specific variables +**/ + +/** + * Defines a default page banner to be used when no other banner has been defined by an editor + * Currently mobile alpha mode only + * @var String + */ +$wgMinervaDefaultPageBanner = 'http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png'; diff --git a/includes/Resources.php b/includes/Resources.php index d136d08..f336aa8 100644 --- a/includes/Resources.php +++ b/includes/Resources.php @@ -135,6 +135,13 @@ 'position' => 'top', ), + 'minerva.tablet' => $wgMFMobileResourceBoilerplate + array( + 'position' => 'top', + 'styles' => array( + 'stylesheets/tablet/common.css', + ), + ), + 'mobile.styles.beta' => $wgMFMobileResourceBoilerplate + array( 'styles' => array( 'stylesheets/common/pageactions.css', diff --git a/includes/skins/MinervaTemplate.php b/includes/skins/MinervaTemplate.php index 94f90d2..23f9b24 100644 --- a/includes/skins/MinervaTemplate.php +++ b/includes/skins/MinervaTemplate.php @@ -83,6 +83,8 @@ } protected function render( $data ) { // FIXME: replace with template engines + $topBannerEnabled = $data['_enableTopBanner']; + $isSpecialPage = $this->getSkin()->getTitle()->isSpecialPage(); $languages = $this->getLanguages(); $variants = $this->getLanguageVariants(); @@ -147,11 +149,24 @@ <ul id="mw-mf-menu-page"></ul> </div> <div class='show' id='content_wrapper'> + <?php + if ( $topBannerEnabled ) { + echo Html::openElement( 'div', + array( 'class' => 'top-banner' ) + ); + echo Html::element( 'img', $data['topbanner'] ); + echo $data['prebodytext']; + $this->renderPageActions( $data ); + echo Html::closeElement( 'div' ); + } + ?> <div id="content" class="content"> <?php if ( !$isSpecialPage ) { - echo $data['prebodytext']; - $this->renderPageActions( $data ); + if ( !$topBannerEnabled ) { + echo $data['prebodytext']; + $this->renderPageActions( $data ); + } } echo $data[ 'bodytext' ]; echo $this->renderLanguages( $languageData ); diff --git a/includes/skins/SkinMinerva.php b/includes/skins/SkinMinerva.php index f3830a0..7c572bc 100644 --- a/includes/skins/SkinMinerva.php +++ b/includes/skins/SkinMinerva.php @@ -78,6 +78,8 @@ } $tpl->set( 'banners', $banners ); $tpl->set( 'page_actions', array() ); + + $tpl->set( '_enableTopBanner', false ); } /** diff --git a/includes/skins/SkinMobile.php b/includes/skins/SkinMobile.php index 0c33870..0a857de 100644 --- a/includes/skins/SkinMobile.php +++ b/includes/skins/SkinMobile.php @@ -25,6 +25,7 @@ $mode = 'beta'; } if ( $inAlpha ) { + $out->addModuleStyles( 'minerva.tablet' ); $modules['alpha'] = array( 'mobile.alpha' ); $mode = 'alpha'; } diff --git a/includes/skins/SkinMobileBase.php b/includes/skins/SkinMobileBase.php index 1888c01..7cdb6dc 100644 --- a/includes/skins/SkinMobileBase.php +++ b/includes/skins/SkinMobileBase.php @@ -11,11 +11,18 @@ private $pageClassNames = array(); public function prepareData( BaseTemplate $tpl ) { + global $wgMinervaDefaultPageBanner; + parent::prepareData( $tpl ); $context = MobileContext::singleton(); $menuHeaders = true; $search = $tpl->data['searchBox']; if ( $context->isAlphaGroupMember() ) { + $tpl->set( '_enableTopBanner', true ); + $tpl->set( 'topbanner', array( + 'src' => $wgMinervaDefaultPageBanner, + ) + ); $search['placeholder'] = wfMessage( 'mobile-frontend-placeholder-alpha' )->escaped(); } else if ( $context->isBetaGroupMember() ) { $search['placeholder'] = wfMessage( 'mobile-frontend-placeholder-beta' )->escaped(); diff --git a/less/common/pageactions.less b/less/common/pageactions.less index df614ad..f7cd798 100644 --- a/less/common/pageactions.less +++ b/less/common/pageactions.less @@ -7,6 +7,12 @@ display: none; } +.top-banner { + #mw-mf-page-actions { + margin: 0; + } +} + #mw-mf-page-actions { // FIXME: negative margin hacks margin: 0 -@contentMarginRight @headingMarginBottom -@contentMarginRight; @@ -25,6 +31,8 @@ button, input, a { + border: none; + background-color: transparent; width: 40px; // undo rules set in watchlist / nearby lists background-position: center center; .background-size( auto, @watchStarSize ); diff --git a/less/tablet/common.less b/less/tablet/common.less new file mode 100644 index 0000000..8b6362c --- /dev/null +++ b/less/tablet/common.less @@ -0,0 +1,45 @@ +@import "../mf-mixins.less"; +.alpha #content { + margin-top: 0; +} + +.top-banner { + img { + display: none; + } + h1 { + margin: @headingMarginTop @contentMarginRight 0 @contentMarginLeft; + } +} + +@media all and (min-width: 768px) { + .top-banner { + position: relative; + + img { + max-width: 100%; + display: block; + } + + h1 { + position: absolute; + margin: 0.6em 0 0 0.4em; + padding: 8px; + background-color: #101010; + background-color: rgba(0, 0, 0, 0.7); + border-radius: 5px; + color: #fff; + white-space: nowrap; + bottom: 18px; + } + + #mw-mf-page-actions { + position: absolute; + right: 0; + top: 0; + background-color: #FFF; + opacity: 0.9; + border-radius: 8px 0 0 8px; + } + } +} diff --git a/stylesheets/common/pageactions.css b/stylesheets/common/pageactions.css index 6d89fee..f250316 100644 --- a/stylesheets/common/pageactions.css +++ b/stylesheets/common/pageactions.css @@ -3,6 +3,9 @@ #ca-edit.istalk { display: none; } +.top-banner #mw-mf-page-actions { + margin: 0; +} #mw-mf-page-actions { margin: 0 -23px 9pt -23px; padding: 8px 23px; @@ -18,6 +21,8 @@ #mw-mf-page-actions li button, #mw-mf-page-actions li input, #mw-mf-page-actions li a { + border: none; + background-color: transparent; width: 40px; background-position: center center; /* use -webkit prefix for older android browsers eg. nexus 1 */ diff --git a/stylesheets/tablet/common.css b/stylesheets/tablet/common.css new file mode 100644 index 0000000..f9aec50 --- /dev/null +++ b/stylesheets/tablet/common.css @@ -0,0 +1,37 @@ +.alpha #content { + margin-top: 0; +} +.top-banner img { + display: none; +} +.top-banner h1 { + margin: 14pt 23px 0 23px; +} +@media all and (min-width: 768px) { + .top-banner { + position: relative; + } + .top-banner img { + max-width: 100%; + display: block; + } + .top-banner h1 { + position: absolute; + margin: 0.6em 0 0 0.4em; + padding: 8px; + background-color: #101010; + background-color: rgba(0, 0, 0, 0.7); + border-radius: 5px; + color: #fff; + white-space: nowrap; + bottom: 18px; + } + .top-banner #mw-mf-page-actions { + position: absolute; + right: 0; + top: 0; + background-color: #FFF; + opacity: 0.9; + border-radius: 8px 0 0 8px; + } +} -- To view, visit https://gerrit.wikimedia.org/r/66277 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib58e4818138f8611e4649d6453b6c83f0e4fa307 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/MobileFrontend Gerrit-Branch: master Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits