From a0f492fffcc24bb42b41b314b18da3b673b70b03 Mon Sep 17 00:00:00 2001 From: Jan Drewniak Date: Fri, 7 Apr 2017 10:35:20 +0200 Subject: [PATCH] Revised styling of sister-search sidebar. Various improvements to the sister-search sidebar: - using WM project favicons - scoping CSS specific to sister-search sidebar - making sister-search items more compact Bug: T160724, T158938 Change-Id: I2794121ab83cbd4e2b8868150e4d61db376fa63b --- includes/specials/SpecialSearch.php | 8 +- .../search/InterwikiSearchResultSetWidget.php | 91 +++--- .../search/InterwikiSearchResultWidget.php | 21 +- languages/i18n/en.json | 2 +- .../images/special.search/book-icon.png | Bin 1536 -> 0 bytes .../images/special.search/book-icon.svg | 36 --- .../images/special.search/course-icon.png | Bin 2125 -> 0 bytes .../images/special.search/course-icon.svg | 35 --- .../images/special.search/definition-icon.png | Bin 981 -> 0 bytes .../images/special.search/definition-icon.svg | 22 -- .../images/special.search/dna-icon.png | Bin 2105 -> 0 bytes .../images/special.search/dna-icon.svg | 34 --- .../images/special.search/image-icon.png | Bin 954 -> 0 bytes .../images/special.search/image-icon.svg | 16 - .../images/special.search/news-icon.png | Bin 750 -> 0 bytes .../images/special.search/news-icon.svg | 31 -- .../images/special.search/quotation-icon.png | Bin 680 -> 0 bytes .../images/special.search/quotation-icon.svg | 12 - .../images/special.search/textbook-icon.png | Bin 1187 -> 0 bytes .../images/special.search/textbook-icon.svg | 28 -- .../images/special.search/travel-icon.png | Bin 1226 -> 0 bytes .../images/special.search/travel-icon.svg | 15 - ...i.special.search.commonsInterwikiWidget.js | 3 +- ...special.search.interwikiwidget.styles.less | 278 +++++++----------- 24 files changed, 157 insertions(+), 475 deletions(-) delete mode 100644 resources/src/mediawiki.special/images/special.search/book-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/book-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/course-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/course-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/definition-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/definition-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/dna-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/dna-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/image-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/image-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/news-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/news-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/quotation-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/quotation-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/textbook-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/textbook-icon.svg delete mode 100644 resources/src/mediawiki.special/images/special.search/travel-icon.png delete mode 100644 resources/src/mediawiki.special/images/special.search/travel-icon.svg diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index 3a931075b2..ceb6b7be6f 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -352,12 +352,16 @@ class SpecialSearch extends SpecialPage { $out->addHTML( $dymWidget->render( $term, $textMatches ) ); } - $out->addHTML( "
" ); - $hasErrors = $textStatus && $textStatus->getErrors(); $hasOtherResults = $textMatches && $textMatches->hasInterwikiResults( SearchResultSet::INLINE_RESULTS ); + if ( $textMatches->hasInterwikiResults( SearchResultSet::SECONDARY_RESULTS ) ) { + $out->addHTML( '
' ); + } else { + $out->addHTML( '
' ); + } + if ( $hasErrors ) { list( $error, $warning ) = $textStatus->splitByErrorType(); if ( $error->getErrors() ) { diff --git a/includes/widget/search/InterwikiSearchResultSetWidget.php b/includes/widget/search/InterwikiSearchResultSetWidget.php index 1911c7909f..3cdda0262a 100644 --- a/includes/widget/search/InterwikiSearchResultSetWidget.php +++ b/includes/widget/search/InterwikiSearchResultSetWidget.php @@ -8,6 +8,7 @@ use SearchResultSet; use SpecialSearch; use Title; use Html; +use OOUI; /** * Renders one or more SearchResultSets into a sidebar grouped by @@ -27,8 +28,6 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { protected $iwLookup; /** @var $output */ protected $output; - /** @var $iwPrefixDisplayTypes */ - protected $iwPrefixDisplayTypes; public function __construct( SpecialSearch $specialSearch, @@ -41,9 +40,6 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { $this->linkRenderer = $linkRenderer; $this->iwLookup = $iwLookup; $this->output = $specialSearch->getOutput(); - $this->iwPrefixDisplayTypes = $specialSearch->getConfig()->get( - 'InterwikiPrefixDisplayTypes' - ); } /** * @param string $term User provided search term @@ -80,22 +76,17 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { $position = 0; $iwResultItemOutput = ''; - $iwDisplayType = isset( $this->iwPrefixDisplayTypes[$iwPrefix] ) - ? $this->iwPrefixDisplayTypes[$iwPrefix] - : ""; - foreach ( $results as $result ) { $iwResultItemOutput .= $this->resultWidget->render( $result, $term, $position++ ); } - $headerHtml = $this->headerHtml( $term, $iwPrefix ); $footerHtml = $this->footerHtml( $term, $iwPrefix ); $iwResultListOutput .= Html::rawElement( 'li', [ - 'class' => 'iw-resultset iw-resultset--' . $iwDisplayType, + 'class' => 'iw-resultset', 'data-iw-resultset-pos' => $iwResultSetPos ], - $headerHtml . + $iwResultItemOutput . $footerHtml ); @@ -117,34 +108,6 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { ); } - /** - * Generates an appropriate HTML header for the given interwiki prefix - * - * @param string $term User provided search term - * @param string $iwPrefix Interwiki prefix of wiki to show header for - * @return string HTML - */ - protected function headerHtml( $term, $iwPrefix ) { - - $iwDisplayType = isset( $this->iwPrefixDisplayTypes[$iwPrefix] ) - ? $this->iwPrefixDisplayTypes[$iwPrefix] - : ""; - - if ( isset( $this->customCaptions[$iwPrefix] ) ) { - /* customCaptions composed by loadCustomCaptions() with pre-escaped content. */ - $caption = $this->customCaptions[$iwPrefix]; - } else { - $interwiki = $this->iwLookup->fetch( $iwPrefix ); - $parsed = wfParseUrl( wfExpandUrl( $interwiki ? $interwiki->getURL() : '/' ) ); - $caption = $this->specialSearch->msg( 'search-interwiki-default', $parsed['host'] )->escaped(); - } - - return Html::rawElement( 'div', [ 'class' => 'iw-result__header' ], - Html::rawElement( 'span', [ 'class' => 'iw-result__icon iw-result__icon--' . $iwDisplayType ] ) - . $caption - ); - } - /** * Generates an HTML footer for the given interwiki prefix * @@ -158,13 +121,22 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { [ 'search' => $term, 'fulltext' => 1 ] ); - $searchLink = Html::rawElement( - 'a', - [ 'href' => $href ], - $this->specialSearch->msg( 'search-interwiki-more-results' )->escaped() + $interwiki = $this->iwLookup->fetch( $iwPrefix ); + $parsed = wfParseUrl( wfExpandUrl( $interwiki ? $interwiki->getURL() : '/' ) ); + + if ( isset( $this->customCaptions[$iwPrefix] ) ) { + $caption = $this->customCaptions[$iwPrefix]; + } else { + $caption = $this->specialSearch->msg( 'search-interwiki-default', $parsed['host'] )->escaped(); + } + + $searchLink = Html::rawElement( 'em', null, + Html::rawElement( 'a', [ 'href' => $href, 'target' => '_blank' ], $caption ) ); - return Html::rawElement( 'div', [ 'class' => 'iw-result__footer' ], $searchLink ); + return Html::rawElement( 'div', + [ 'class' => 'iw-result__footer' ], + $this->iwIcon( $iwPrefix ) . $searchLink ); } protected function loadCustomCaptions() { @@ -181,4 +153,33 @@ class InterwikiSearchResultSetWidget implements SearchResultSetWidget { } } } + + /** + * Generates a custom OOUI icon element with a favicon as the image. + * The favicon image URL is generated by parsing the interwiki URL + * and returning the default location of the favicon for that domain, + * which is assumed to be '/favicon.ico'. + * + * @param string $iwPrefix Interwiki prefix + * @return OOUI\IconWidget + **/ + protected function iwIcon( $iwPrefix ) { + + $interwiki = $this->iwLookup->fetch( $iwPrefix ); + $parsed = wfParseUrl( wfExpandUrl( $interwiki ? $interwiki->getURL() : '/' ) ); + + $iwIconUrl = $parsed['scheme'] . + $parsed['delimiter'] . + $parsed['host'] . + ( $parsed['port'] ? ':' . $parsed['port'] : '' ) . + '/favicon.ico'; + + $iwIcon = new OOUI\IconWidget( [ + 'icon' => 'favicon' + ] ); + + $iwIcon->setAttributes( [ 'style' => "background-image:url($iwIconUrl);" ] ); + + return $iwIcon; + } } diff --git a/includes/widget/search/InterwikiSearchResultWidget.php b/includes/widget/search/InterwikiSearchResultWidget.php index 6b51db5aed..acd792d6f3 100644 --- a/includes/widget/search/InterwikiSearchResultWidget.php +++ b/includes/widget/search/InterwikiSearchResultWidget.php @@ -17,13 +17,10 @@ class InterwikiSearchResultWidget implements SearchResultWidget { protected $specialSearch; /** @var LinkRenderer */ protected $linkRenderer; - /** @var $iwPrefixDisplayTypes */ - protected $iwPrefixDisplayTypes; public function __construct( SpecialSearch $specialSearch, LinkRenderer $linkRenderer ) { $this->specialSearch = $specialSearch; $this->linkRenderer = $linkRenderer; - $this->iwPrefixDisplayTypes = $specialSearch->getConfig()->get( 'InterwikiPrefixDisplayTypes' ); } /** @@ -38,9 +35,6 @@ class InterwikiSearchResultWidget implements SearchResultWidget { $iwPrefix = $result->getTitle()->getInterwiki(); $titleSnippet = $result->getTitleSnippet(); $snippet = $result->getTextSnippet( $terms ); - $displayType = isset( $this->iwPrefixDisplayTypes[$iwPrefix] ) - ? $this->iwPrefixDisplayTypes[$iwPrefix] - : ""; if ( $titleSnippet ) { $titleSnippet = new HtmlArmor( $titleSnippet ); @@ -69,18 +63,7 @@ class InterwikiSearchResultWidget implements SearchResultWidget { ); } - switch ( $displayType ) { - case 'definition': - return "
" . - "{$link} {$redirect}: " . - $snippet . - "
"; - case 'quotation': - return "
{$snippet}
" . - "
{$link} {$redirect}
"; - default: - return "
{$link} {$redirect}
" . - "
{$snippet}
"; - } + return Html::rawElement( 'div', [ 'class' => 'iw-result__title' ], $link . ' ' . $redirect ) . + Html::rawElement( 'div', [ 'class'=> 'iw-result__content' ], $snippet ); } } diff --git a/languages/i18n/en.json b/languages/i18n/en.json index a6d3045dc4..e33ace22a6 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -992,7 +992,7 @@ "search-file-match": "(matches file content)", "search-suggest": "Did you mean: $1", "search-rewritten": "Showing results for $1. Search instead for $2.", - "search-interwiki-caption": "Sister projects", + "search-interwiki-caption": "Results from sister projects", "search-interwiki-default": "Results from $1:", "search-interwiki-custom": "", "search-interwiki-more": "(more)", diff --git a/resources/src/mediawiki.special/images/special.search/book-icon.png b/resources/src/mediawiki.special/images/special.search/book-icon.png deleted file mode 100644 index 07e3ec746e7edcbbfe7abc473da2815c9b4f0327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 zcmV+b2LJhqP)w$E0g~|+^1!7j?5cLm&4=^0!-&yL0HYe8Njim z{dO=VeW1iON$ahGOWsMJK@rG3Y!%UWKL>bK(ouY>*XwC{dAT{<78e&aGc%*RyE|Q6 zU|co79LLAUy1&1VUF=EPX+2;Nhz&{G(Q{T-R)ieOMIPskNk3!M$A(PKITE=jdov2m z0j8(k+S;1d*Vp?%j-qZra~vL`=%!)u-!fXqoBnXPpj_mxuC6u;9kp5EJ3HvNX?+-T zfFF43;i36?aYO3>xV^n~Uw}SnPcYXhR-K-n*7o+cHaGhWQY{~^I6H$%^lMb|*a0IE zw+GDrJ|5OIKobWISgd+*aG<$4jNMK9rhp9rOSdjgfd3`w=Y@rZCiZIF_c_%}1Yiaj z1|r<}=H{kzu!)>!T^gUd?lOi`E8yNREirw5e*VO|-8l09y#&SnDe05rIE`WQ*GdW) zD?k9a9{*!Xhyz6kU^qxAgWS}E>53S0%8H)U-v0qQNdZ4mvj>xTvDg>@hjmGDu`Mkv zHMw&TU@O>pJtq)?qkjm`xj9vS%hJBwxb{%Mbc`Fi@Q8yO5HMZn3)$QQV8n7mE?bRko!*|h(ZE82d_0GA5Q#VP(w!saF3gr#Gs zW%?Q~;HUr(#3iCF{3-x5cm^D6Xk3b8c6PR?c$jFw5D4)IP+YX65vy1erp{GQ6AhTu z5@#S(MqG#assWb@ z81x)VHz*BD#}bpc%K^qUx#uE>bJyU=uy=VHipS-On{NgOzN=-gT~V__QV<>jjRFs|iVx>WnP zSgfZ@SlUXgVQI!laRWdU#yG1j99fz*W7#YH32jD<1s5`N>0REj=hGLPdfiC z@h~ggeY3PgHW_KQR3fP68Gnt$V)OI!y1Kfm>89qL?8h`Vny~BcEw-Q7I+cDOX6M=O zl75u*x1@hxfc$$&zexJ7q7POAAHS{EH#T|w(;j>jYjR@AUdwus(igk>3OZv)89VaE z(#8$A$wKW$wAmpD*viDNG;dmawSYZvTE9Phb diff --git a/resources/src/mediawiki.special/images/special.search/book-icon.svg b/resources/src/mediawiki.special/images/special.search/book-icon.svg deleted file mode 100644 index 6c3fa5f2aa..0000000000 --- a/resources/src/mediawiki.special/images/special.search/book-icon.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - wikisource-icon - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/course-icon.png b/resources/src/mediawiki.special/images/special.search/course-icon.png deleted file mode 100644 index 9aad230aac1917275a1f745314c2226346c3cb53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2125 zcmV-T2(tHyP)=EZG-y5knVO1i(+@o8FrT0-I?7xyEBq#Z?f66d+)jD zyXSoOJZ2dFXM_FE@L~k;f8F9E79O#%4ks{p<*u9p{v(QyQ? z)3Z1$E8S!=CGmg#dN#nj`%jUuoePXJ_k*H+~X7b90vXxfv0O#tE}# z&F-$mQ&n-n zZqKf0#VW2-;&}kz)?-IIUdhYVJNd`>@hQm4eg;LwB>^DiTE1Vm8|7=?)D^Il$n;$7 zcT3g|0Nmf#dnRrAwAp&?nx6gu-dtOb%teb;MRs+aLt{e&9PP)^*Vm`l)&X)Z54bNW z0;XBS-|DKZy*sL_q7FOr7d(NQ+Fh#F?Cgw5hQ{1bXV!w}x0!61sHRt7j_gn-x>iuwjV= z&_#Bzsp(>2!E5PiTBfF^qUlgGX3o4XWC~fcZqIJfntI&AYC2f0R@aJ^1zqLq-U?fE zFxSwvG6sP%E!9Dn30*3|BQ7ou_RU*RT1t(Mz(GK_Z`&eT)W|`HO_yOoVX=#+tQ2!; zF^>l9U{DN4Gp64g!nIkmXXD7xR#>fp{keY&=vmwxPa0zOZ10UwB65A{;!_9I{zU^I=rlH-Rjy_ee@g!pk{%VdHqno&vrhpux>Q zMZj`i2lKb-;Nh@wm2P0N^668jV#Y1;lfVX3M@hIKz{MC^N5{dg*6#`dJm|jK3dXV| zfln`dGC+C9=U;NU6H$SHJK9fx++E8ceijv#ggscfJo2iE6H_Y_&G9vn8u$T#gKumq z3GbRTA)s_T+;S8P7e39cKZPQ?;pw)H{$1qKJpwZDPuuA=oIC6c&|;;3<~!j2H?G zZGiP~>2QD^pT7X}AD@r$DJi(;-f6H{EaLR;?(_KV*I#k+Vxc#fjg)^B(V>o>eD>O^tzr6n&! zsh_UPmeHeA9*L^OLy|dOu_+)2oM=wq*~92L++ax&H8;oxa7;;4Ibfy6fYIn=^6Ao` z+MWAhcsRf{0O(17$dChGzAXRCmX_wH{zZ_q6(!J zv52n~kpliMi9rYOjSnOjSJiY-0!(hQPi=v`9`*s2UMHgF7Eysd{(3qF@Ki*T>{j2m zF7In80j3jFwO0S7-~HW(Ai%-csQ91{y=q9`@@^mfO#tLi&!mH+Z~9FafV?hE3X!Gh zIg`KH9Nf=}05}HY8n=`uSX--hyt~Ea94MY^dnBN}lW0!hS#O;7QAp-eSYBA%+(Y;- z(L5&Nn*&kkWattuz~U=RL)Xf{u#^GfLtO@;)?ywL`pCghbz>LK1z5g~ugJ*0Z4~xL z^XgyhD#s>4GvL^^yY;I_0N;8W7^}gEg^fMmTQB_|OHG?Z^tNQ<00000NkvXXu0mjf D9SI-Y diff --git a/resources/src/mediawiki.special/images/special.search/course-icon.svg b/resources/src/mediawiki.special/images/special.search/course-icon.svg deleted file mode 100644 index 4fab1f3d4a..0000000000 --- a/resources/src/mediawiki.special/images/special.search/course-icon.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - wikiversity-icon - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/definition-icon.png b/resources/src/mediawiki.special/images/special.search/definition-icon.png deleted file mode 100644 index b279f4ed049c91c5907ea695758ca6a268ec9fc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 981 zcmV;`11kK9P)*|OU@CZQD)%X(hyGp6P%RExRnnrhac5riZ<6{3)bdQdXaC*vw!&oWRaGAsjuu>v* zm-!dcZ8RFVy1M#)fS;eA|E#XA{sQnQjhu)wt+h$%vN1d!k3qHpv;nZsP&TO#(`=h?D|gNhm*2$9CyR4F`tP;vG^tDKepkKe0X~rb|`BYinz$)oPf{ zX1KfK@;EQmY86{sTM}$Whs`M}r2z?0E59`4ixqF_xCfwwpuL{xTmKlP`{K6_xpVu9v-6G?V97;_4PIO_Vz?9CIMpL z$Y#7WO2hEuTHF6ikh8v-CHzdwkWv6<3SL}X;Oy)SJfPb{`pL-&j*pKe zSdESi)NnXVP5V*+9*st5Hk+u|>&9tY&t#V@OT?DM{rx?*x3^P=cn8e%dwF@8YcMtl z?RFddo+WHz=jZ39;Sp?B8F&YrmcAB5R(diB1js8J298aR%`Qv415RsDmU%kAva*u6 zCR6A3_STeuwBEe}COdREPtrQBP5aBsOR(`t#4F%vqep0A2ypN$#rBQkD)|o#>iuole_al(L5H+MAb-++KD%o%c1G^~y5H+FXsNXf^BmAWQWfauFKJM_ma}lg94e#6RxW~HgZkoj?6{kOO+SEY%*kyK$1>G zaX{4N7_yqRi%JRv?MF8vUI4o=RJ3jY{2Ecwg``L+T;dg-qmK4MN{5tAPnl4|NwEn{ z%dyE6tsa_IXj-9Zy+=UWrFp|%+uYp5!^49ayt}(=-=HbFM04%2hWQsehl{X?l(g2o zN$+tI`y`K7GcFhGxhNJ;h#eb6SVT(nMQh#I*x2|znM{80w~g`weikw$eq=24@DTCv zFMywgcwDTJne;7RF~e{E@!4mmSYHdVHUyCU{Pk@bSHK*`*L7*UQi!V`H$t$y7@L3c zo?v?sz#n(fqlEz2WAK+UbzpcYVfHvlVAx~umooJ~d-nEQVn*=P00000NkvXXu0mjf D68YXx diff --git a/resources/src/mediawiki.special/images/special.search/definition-icon.svg b/resources/src/mediawiki.special/images/special.search/definition-icon.svg deleted file mode 100644 index 1d58906244..0000000000 --- a/resources/src/mediawiki.special/images/special.search/definition-icon.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - wiktionary-icon - Created with Sketch. - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/dna-icon.png b/resources/src/mediawiki.special/images/special.search/dna-icon.png deleted file mode 100644 index 76ae7b97c30cf8ba426aaaa0ff866ef05d637b8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2105 zcmV-92*&q`P)(lxLjzGCMop-|o&vJFtAo_cP!7eDB{g z?>mefjx%S@jBjpk&g61AN+y%)P3uI|#~9mo_-fy&nah{9w6y%QwY9aUv$K-`8b>*H z4YV`BsZ?s|)~#DT3L!KM&;tVly9(L~;B)8BeR}QMwUtt-R5d?9kBp2c(0Rt#s7os| z=XL`4-o1M(Cr+H`E|p4ESfJ^}#YNq`2N`4Y%>vzUz<2N7J$dZdv75zWQJ8O`P^iKJ zUj}Fy$Pm1`7-Pj|fNnJ4wJg@uJGEI1GImSc%A*7qg?M)d6% zA0MZgnHf)hXw;@@+=F}NK&o1D4Z4vU&J$5u3EbP;E6f%H<_*xMPs602J$t4eDKf^| z-xR6&@pMk21#ajI+@Q4I{^R&Zxi=Q7_z>bB+kykMr=` zxw*LtFl}vZ^yJACb#8$%<|S$usOtr61B+Y)N+qH$=Nz08zTFDbZf~!)T9`guK#q2o z5xXA100k%YNHP%tEF=d&Z*b1N4}(-?Ms3~SiD-f`HtRyWn6p;EHn5lvsii8?Ld!2+ zy!dn9zI|^mEiF-BUv&oJoHxa+YXJ<6LbKjVKuQXV=ofHCve|5IYHCW{YD-g^Sv!r^ zaRK{*ohG8Jj~NPc*3A}wFE1}w+Y=U)d6+j8xO3|f)F645m093QCXbp{Lp zUlHP+Va>JLbzeW{(ur+8JT^8aOkECVgUzf)oxT5)pJIQ5G$RvwY6_AUcC6F&)lJY&N)ZU5zGU88oXK` z8u3_WjCsU529`*-vP2@mZM7$GUZb9j2_YqXbdE8m_;Msa=bU3n)V999PF-DHgs7~v zjpOF)<)TvXS4-XGRXr-x7i0EXPFg0Gs2Y?cg)3Ce@Ebuc#P8$)> zUyd~^N-+Sgbr5Ql&;FQ6HDL)LD!LWm@7C5vDNW`)TEFg{}f^MMcmjLoOR1OjkV z`xjSZ|L!iNF`le7K8XV|#|ZU^8XMEHftpc5%y&MM6uYh3{E z2op%j-SJap zT6`3p5#VnT`BBbMW~h!@l@c^nFA+s95^~N5o<4p0*};Pchm?$%ADqH0_~ZKIR$xeV&RZ+~VugJQ)yZ<M&clZf*DhVU^eaGKxNyOXtS$iy${M4( z5w}QayMInDL&=v*M={U1_ta3`uy!81hq0eM8 zQ@LF3D~rIjbSndKy95lM1NpEsjpB)5u6rw=x#krf67d8HGW?m;DO<#_n1| z*D{~a2X!lBgKZ{YZ#N!Z>bJYr(!gu@ZXTy;Nmqg1ANJc_t3HO@JdOb7w-u@;?KVxr zN;3#a8 diff --git a/resources/src/mediawiki.special/images/special.search/dna-icon.svg b/resources/src/mediawiki.special/images/special.search/dna-icon.svg deleted file mode 100644 index b6472d2975..0000000000 --- a/resources/src/mediawiki.special/images/special.search/dna-icon.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - wikispecies-icon - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/image-icon.png b/resources/src/mediawiki.special/images/special.search/image-icon.png deleted file mode 100644 index 1ebbc7414e883573255e478ef28d3c8fa70b0e8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 zcmV;r14aCaP)p8Hpl&RqSc0j9mc8Y}C&)wssK>;9=E zAry2|f`ut2R zvRU1fFX{1k95EZWx3@RFzP?6)kT##Aqob|M_`TchMsjzs@)(YTU9Z==zrPpXCmB*l z(&y*ro1X!DadF|obUA>L@x#NzCU6Q8-(_KoMY+4X+uRG&fG%j^0h6om@9&$O1#G*W zZyVd`bTpsOHyCejZbV)eu<(FwhLAD&nT6Rn8039*^*xqz|Jhlg5js3zf}_u3RN7rR zo5mJO!Ivp!6fhPcr-cO!n=dafo0uAnw3%jq_{jMB`Z~IZ{(O7O?lYH#1#IUYt;bAL zxk9uq1|U5gD^d%BkCt}+&StZyGP@YX?(y;a0HyMPhr?micU{a*k&lm$y<_Q)=Y*BC z2MKP)ZTIs^GHgqbvGMpgaXXrsbUQ_s%cZChIV~*11oQRvZ#PNrEYgDwD5fkkY8D(m z!UMJk2DW*ZmmDSMH#( c)WI?Q7yYVdOvD8fmjD0&07*qoM6N<$f)=~cRR910 diff --git a/resources/src/mediawiki.special/images/special.search/image-icon.svg b/resources/src/mediawiki.special/images/special.search/image-icon.svg deleted file mode 100644 index b68762e09c..0000000000 --- a/resources/src/mediawiki.special/images/special.search/image-icon.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - commons-icon - Created with Sketch. - - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/news-icon.png b/resources/src/mediawiki.special/images/special.search/news-icon.png deleted file mode 100644 index 6b79590dd378408a2af524c8719b8d86a909f2e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmVC(P6!0^E6RpyL2J?IMc6hIu(DfzxY zss0jR>UaQf)ut>3Pz&%Qfb#&5S)5*Ov{iwra4+SK==azNdP|xV`3hqHE)R1kk#klB zmKqw*iGSwW3|uyUZOR(H9(h|%-)gdk5Ylu`0e5=UPPj1OqHSpxJG(9YBTn%xZTb+lu zw0ls|jFZj6~-Q zJk$oj1%PddOPq`^4f!V*{yZhnH1pC@o3z5+MOIih8rooY(k!Iu;T?t1zBKe6*6dia zk9ldSV9hFO=HaXq3T0-%_sXLde^f#?J`UkIkc8L#sAY0Viz_9~osV#(#AK&Qc#Ht^ zqZUaRmXI-fhD*Rmbk4w~OH0i@l*D6NnYiF7em<-gDR5RMh!)X4(OvHg2fTks3*R*TW2+@toM^$M~9t1U9>kQJDf6>ru0#u?@n zzp*sh_ZArQ(^UzkZt-{>EF-_hLMO1})$Ob_M5Vy&IOeOwG1!^2w-+$I%tWEt%Mv&v zy9oEcSfI2vjfbg#(5$wYv9(tZvy(;7ES - - - wikinews-icon - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/quotation-icon.png b/resources/src/mediawiki.special/images/special.search/quotation-icon.png deleted file mode 100644 index 9d3ade30b800778a1c603b218caca5b95d56ffd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 680 zcmV;Z0$2TsP)oo*H5QXn%AOtdy0U{s+M1Tm80TCbqM1Tko0U|&IoNIf|8M{4QRoy+z>{k8RAM>dG z>T#=fCRj3?EEz8xc+oTN8TJe>SOoem>2&}bz>hed{Xy(jgFpH`iuvmUcpJbTfSs1Z z2LPKr0Tc2#_*-fDh_clL-UV<1fCrehK7biOf_4S6H(-{}1pxkbSxsPOk^b5hq^{nQ z4Ab#J$f{JWwSWmp*mmi5`L3E_I=mCI+CE4PUzVL7OMiB16vBr ztTMY+s{))8=@MY}?6s9N++Pfw8)QLj?Pbq&|U`C9Kg~pgw9yIA#coCl`u-3RnsuWxU%+h*SdaeOW zSC;JVhZ0sDQ3K3%kt>|WwgB8~ZcN<6jg9T2F}4lMSZx|$W>>S>TxHD4*g>`J!)l_o zm^4BHwkY!&0IL$mfVBZWRj#$ad`Q6Bq5o`HGgIYf5v!~KOTg?${(+Y)E83BlYV{&J zz!LD6L>jKw5G%flOA0?ANM;tR=7qI@v&t(%)q6#yfGzzb1y0IXb6pFZT~R{==KM{4 zIcWm(@4ytBl)WjpA+2U`R!bw0LON%)GAxy>_5*+xSn|i~=D&xQ9+nQ^z#S3t3`?bx zxb7w0+1Md!-opju<)Y=HHI0C)bU_=rO1nzWl#h?4f`0O`KV=q+-M&2438#NnFsX@X9jLGk9`A-XO=xKBeoF$ O0000 - - - wikiquote-icon - Created with Sketch. - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/textbook-icon.png b/resources/src/mediawiki.special/images/special.search/textbook-icon.png deleted file mode 100644 index 0de2821fadb8eefc22668577731d7b2bea2aa5fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1187 zcmV;U1YG-xP)O@ zdpw?!Wb?~RlKEy+p%W{W6XT^b@OQWP*}|u8;TaLNN=(9KkGb@_tQ)IVpNO9HfAIZSvX40twFPaeM1%=0RYbtg&(CymaS`lzG#U}=5z)SY z0SIsF=n1(ZqMt-GEJG{;et(Y}y5H~9(~~l60l3rY(Ea^=a9s2GoZFigHUXQC4y4|& zYkCmi@pw$Px3@vy)oMjoS1=ke1l;9DV7*!y*FFevwOXZS(`BF!oGi--pAazmXti3@ zZntT@Uen#(9qMC~RBK664gxG0h*5_vtaf-nVmV-0VB)xJHXHtXL_`nLXB-3=gTA>5 zd*^bwy#(5B6$v_-y z82`d7O$6=5(b=&BW0!gp0AnrTc#4)|2L=EZZX-%Ubgk2yly*C@U$Mj;`{nV4Fw#=-^N1j9@*Fa*G2QCvnCa84L_fiW=<@cB}y zSi|rEE4gU4h2Vezy4@}d5BwaIi(+6{=jEk%{v#KK-y|0PA}}6dg_-aSBnRMS4-Zxj zz$+J11GeNMJZmzUD4l$LZEen8xtJQTB^QzMd3)Q6sd~N684&#G4Ku~SN3ezgQjm+h zOpwq+W_^d2z1il#8W+ z1(6P_>?4*oA8pA+xHTpc6Q^@(T-PZVQv{aEMd$IBB5;{7v%r@suv9JLOcj`8=1alJVadgmfeUic18;?yDFaLIk63asWnk%B2}>@f3|x?lf%UwTi>U)k z-!AUL%+!IUZx?rRF?C>gu`_oLRflvEGBR0~?c|~e7+N@XPYYKTd^Z4~Xw2lFYpvlH zPwrBS;D}XKlw8C!_`(a+6U$g51*PPo2>7e_v?Ny^0E?`Jaf?R^tmL9AU&a|xt=E-o z6#=`1e||I&;`$DT^I}?F_~+YWQ2Jt9*~?}s%tR6ao``<VhnXt_5MwCZ?1=%FH12<` z4%hbHYvPf8Ct%TRpMgcwlyIf9g%dWOXy_+r;lIH%Nn1o-+8zJ^002ovPDHLkV1ji^ B9v%Py diff --git a/resources/src/mediawiki.special/images/special.search/textbook-icon.svg b/resources/src/mediawiki.special/images/special.search/textbook-icon.svg deleted file mode 100644 index 52446b88b1..0000000000 --- a/resources/src/mediawiki.special/images/special.search/textbook-icon.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - wikibooks-icon - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/images/special.search/travel-icon.png b/resources/src/mediawiki.special/images/special.search/travel-icon.png deleted file mode 100644 index 9540e5b568abc9422696c1134c72322a4362e2e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1226 zcmV;*1U37KP)Br5IvhHk)KS4CqN`bt_qn9Pk<6^h$r9;kgGzd1PDcV0zV~?A(c=^-BGjsou28r zbMN=FyIr-xes_NQ%<1XwnVv1|G1=NhED)EJ}l^I07n4)1n^<_?F)d< zb1(RufC=ytfXe{RHvoA9;5mR7b1c9dfbRmh4uF7rg^WK2aKCq;)PG9A*8tp`2&lzJ z;2ir&FYqY<(_A0T1XKaP0f1&dN_qj)bP2Xqeginr+9_*K&@}aC=>bfj1l%gW25X>W zIwv~61aQ##mNzG00&kKrfEiAnRXp!20A~RlGTIORze@5gr;2#Sy8}LMrBSG$dADp z<;rkhM^a0gFS9f&WI5&A>6^zi+p&EY!`|R&&(@Ss3M+-^wdt%5n~!#$^x50fMQe&M ztk_koslDqd>oMRh?ons|tG%Cl_=S0DfITy_d&S%1QFfDJ9?RBar}o~wUi<2ehhkT; zrpzn4cP$G{HWmp z0Ig+*lmIJ-u+CtqTMk%eb|t{oFmJJh2&;LUs1B)*ir)*K+G996**XCZ z>Aaf&cQG7gF50fuoY_9aST=Ci9*zQ0;j4IBX+W-=R({!Fhw1{XysrmjUBZ$&=!D~N z3gUJZ)p1V&Zao$%;??bmH?DX48P2q*fHD!4kSo)ZiF<=ND*(LH=6P9(I_Na#(tGZ- zw2Aq2*Lj$xLr0aW_6-)fvZe{Jo8H!veD6+cWr!*hC%~icv^I@p0{&V$ywn&bVDIYG z)^n8k&v{Mj)w#OwrAsX5gR6y6^`VkgMsGS(a8kObXU&w9K$neW+Hnjug@&wdrc~h?;ahQ0e-X z-`)Y(7BhS4rk4lj1$I^yy$WPgg<}k0nw|F`CE;Y=YpZ~s15-sf_P+?=j`M0D%|o!< z(_W!{Vco|7j+nP+TGq7HEd~322XL%npRFP9-*7#EYmUs*_Zxtx1E8zbO{W{wUKF^) z_5w~Ji%hBKMB%3A&k5Lq;R2)*jCv7IaFYYHN-Ps_mnlxw oc^~jpE4i-Y>@&Qs%uJ=%UjT|KOv|rYh5!Hn07*qoM6N<$f_)@GLjV8( diff --git a/resources/src/mediawiki.special/images/special.search/travel-icon.svg b/resources/src/mediawiki.special/images/special.search/travel-icon.svg deleted file mode 100644 index c61da34f03..0000000000 --- a/resources/src/mediawiki.special/images/special.search/travel-icon.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - wikivoyage-icon - Created with Sketch. - - - - - - - - - - \ No newline at end of file diff --git a/resources/src/mediawiki.special/mediawiki.special.search.commonsInterwikiWidget.js b/resources/src/mediawiki.special/mediawiki.special.search.commonsInterwikiWidget.js index f3d1fea6df..9518283d2c 100644 --- a/resources/src/mediawiki.special/mediawiki.special.search.commonsInterwikiWidget.js +++ b/resources/src/mediawiki.special/mediawiki.special.search.commonsInterwikiWidget.js @@ -30,7 +30,6 @@ return '
  • ' + '
    ' + - '' + '' + imagesText.escaped() + '' + '
    ' + '
    ' + @@ -73,7 +72,7 @@ multimediaWidgetTemplate = itemWrapperTemplate( pageUrl.query.search, itemTemplate( results ) ); /* we really only need to wait for document ready for DOM manipulation */ $( function () { - $( '.iw-results' ).prepend( multimediaWidgetTemplate ); + $( '.iw-results' ).append( multimediaWidgetTemplate ); } ); } ); diff --git a/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less b/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less index 3f23dc416d..92e3e1cccd 100644 --- a/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less +++ b/resources/src/mediawiki.special/mediawiki.special.search.interwikiwidget.styles.less @@ -1,197 +1,121 @@ /* interwiki search results */ /*==========================*/ -.iw-headline { - font-weight: bold; - font-size: 1rem; - font-size: 16px; - opacity: 0.7; -} - -.iw-results { - list-style: none; - margin: 0; -} - -.iw-resultset { - margin-bottom: 1.2em; - background-color: #f2f4f7; - vertical-align: top; - width: 100%; - float: left; - list-style-type: none; - word-break: break-word; -} - -/* clearfix */ -.iw-result:after { - visibility: hidden; - display: block; - font-size: 0; - content: ' '; - clear: both; - height: 0; -} - -* html .interwiki-result { /* IE6 */ - zoom: 1; -} -*:first-child + html .iw-resultset { /* IE7 */ - zoom: 1; -} - -/* padding each .iw-resultset section seperately. -This allows us greater flexibility in the design. -For example changing the background color on the -header and footer. */ -.iw-result__header, -.iw-result__title, -.iw-result__content, -.iw-result__footer { - padding: 0.25em 0.85em; -} - -/* definition titles appear inline, -to resemble a traditional dictionary definition */ -.iw-resultset--definition .iw-result__title { - display: inline; - padding: 0; -} - -.iw-resultset > div:first-child { - padding-top: 0.85em; -} - -.iw-resultset > div:last-child { - padding-bottom: 0.85em; -} - -.iw-result__title { - font-size: 16px; /* rem fallback */ - font-size: 1rem; -} - -.iw-result__title a.extiw { - font-weight: bold; -} - -.iw-result__content:after { /* clearfix */ - visibility: hidden; - display: block; - font-size: 0; - content: ' '; - clear: both; - height: 0; -} - -.iw-result__footer { - float: right; -} - -.iw-result__icon { - display: inline-block; - width: 24px; - height: 24px; - vertical-align: middle; - margin-right: 0.25em; - background: url( images/special.search/definition-icon.svg ) no-repeat 0 0; - background-size: 100% 100%; -} +@import 'mediawiki.ui/variables.less'; +@import 'mediawiki.mixins'; -@interwikiContentTypes: definition, travel, quotation, book, course, news, textbook, image; +.mw-searchresults-has-iw { -.generate-iwIcons(); - -.generate-iwIcons( @i:1 ) when ( @i =< length( @interwikiContentTypes ) ) { - @iwIcon: extract( @interwikiContentTypes, @i ); - - .iw-result__icon--@{iwIcon} { - /* stylelint-disable-next-line function-url-quotes */ - background-image: url( 'images/special.search/@{iwIcon}-icon.png' ); - /* stylelint-disable-next-line function-url-quotes */ - background-image: url( 'images/special.search/@{iwIcon}-icon.svg' ); + .iw-headline { + font-weight: bold; } - .generate-iwIcons( @i + 1 ); -} + .iw-results { + list-style: none; + margin: 0; + } -/* image search result */ -.iw-result__mini-gallery { - position: relative; - float: left; - width: 60%; - height: 200px; - box-sizing: border-box; - padding: 0.25rem; -} + .iw-resultset { + .box-sizing(border-box); + padding: 0.5em; + vertical-align: top; + width: 100%; + float: left; + background-color: @colorGray15; + margin-bottom: 1em; + word-break: break-word; + } -/* second and third images are small */ -.iw-result__mini-gallery:nth-child( 2 ), -.iw-result__mini-gallery:nth-child( 3 ) { /* stylelint-disable-line indentation */ - width: 40%; - height: 100px; -} + .iw-result__title { + font-size: 108%; /* matching regular search title */ + } -.iw-result__mini-gallery__image { - display: block; - position: relative; - width: 100%; - height: 100%; - background-size: cover; - background-repeat: no-repeat; - background-position: center center; -} + .iw-result:after, + .iw-result__content:after { /* clearfix */ + visibility: hidden; + display: block; + font-size: 0; + content: ' '; + clear: both; + height: 0; + } -.iw-result__mini-gallery__image > .iw-result__mini-gallery__caption { /* image gallery text */ - visibility: hidden; - position: absolute; - bottom: 0; - left: 0; - text-align: center; - color: #fff; - text-shadow: 0 0 10px rgba( 0, 0, 0, 0.4 ); /* improves legibility on white background */ - font-size: 0.8em; - padding: 5px; - background-color: rgba( 0, 0, 0, 0.5 ); -} + .iw-result__footer { + float: right; + font-size: 97%; /* matching main search result font-size */ + margin-top: 0.5em; + } + .iw-result__footer a { + vertical-align: middle; + color: @colorGray7; + font-style: italic; + } -.iw-result__mini-gallery__image:hover > .iw-result__mini-gallery__caption { - visibility: visible; -} + .oo-ui-icon-favicon { + padding-right: 1em; + } -/* different types of interwiki result boxes */ -/* quotation box */ -.iw-resultset--quotation .iw-result__content { - border-left: 4px solid #afb1b5; - margin-left: 1em; - padding-top: 0; - margin-top: 0.25em; -} -.iw-resultset--quotation .iw-result__title { - margin-left: 1em; -} -.iw-result--quotation .iw-result__title:before { - content: ' — '; - display: inline-block; -} -.iw-result--quotation .iw-result__footer { - text-align: right; -} + /* image search result */ + .iw-result__mini-gallery { + position: relative; + float: left; + width: 100%; + height: 200px; + .box-sizing(border-box); + padding: 0.25rem; + } -/* desktop only */ + /* second and third images are small */ + .iw-result__mini-gallery:nth-child( 2 ), + .iw-result__mini-gallery:nth-child( 3 ) { /* stylelint-disable-line indentation */ + width: 50%; + height: 100px; + } -@media only screen and ( min-width: @deviceWidthTablet ) { + .iw-result__mini-gallery__image { + display: block; + position: relative; + width: 100%; + height: 100%; + background-size: 100% auto; + background-size: cover; + background-repeat: no-repeat; + background-position: center center; + } - #mw-interwiki-results { - width: 30%; - display: inline-block; /* used to align iw sidebar with the top of the main search results */ - margin-left: 10%; + /* image gallery text */ + .iw-result__mini-gallery__image > .iw-result__mini-gallery__caption { + visibility: hidden; + position: absolute; + bottom: 0; + left: 0; + text-align: center; + color: #fff; + font-size: 0.8em; + padding: 0.5em; + background-color: rgba( 0, 0, 0, 0.5 ); } - .searchresults .mw-search-createlink, - .searchresults .mw-search-nonefound, - .searchresults .mw-search-results { - float: left; - width: 60%; + + .iw-result__mini-gallery__image:hover > .iw-result__mini-gallery__caption { + visibility: visible; } + /* tablet and up */ + + @media only screen and ( min-width: @deviceWidthTablet ) { + + #mw-interwiki-results { + width: 30%; + display: inline-block; /* used to align interwiki sidebar with the top of the main search results */ + margin-left: 10%; + } + .mw-search-createlink, + .mw-search-nonefound, + .mw-search-results { + float: left; + width: 60%; + clear: left; + max-width: 60%; + } + } } -- 2.20.1