From 849beb78ab4b509ed7ef9f12aaf10ed62fb02536 Mon Sep 17 00:00:00 2001 From: MatmaRex Date: Tue, 2 Oct 2012 21:47:07 +0200 Subject: [PATCH] CologneBlue rewrite: rework otherLanguages(), CSS: serif font We have to override SkinTemplate->formatLanguageName() in SkinCologneBlue not to capitalize the language names, as they are not actually used in the sidebar and look better this way. This change revealed that CologneBlue does not set the base font for the page, causing text marked as being in a different language (e.g., language links) to be displayed in a different fond in some browsers. Adding "font-family: serif" to body fixed the issue. Change-Id: I8b56ccb6f9a2ba47613f135754b5a133a6870412 --- skins/CologneBlue.php | 53 ++++++++++++++---------------------- skins/cologneblue/screen.css | 1 + 2 files changed, 22 insertions(+), 32 deletions(-) diff --git a/skins/CologneBlue.php b/skins/CologneBlue.php index a22bab6927..473ee2b441 100644 --- a/skins/CologneBlue.php +++ b/skins/CologneBlue.php @@ -43,7 +43,14 @@ class SkinCologneBlue extends SkinTemplate { $out->addModuleStyles( 'mediawiki.legacy.oldshared' ); $out->addModuleStyles( 'skins.cologneblue' ); } - + + /** + * Override langlink formatting behavior not to uppercase the language names. + * See otherLanguages() in CologneBlueTemplate. + */ + function formatLanguageName( $name ) { + return $name; + } } class CologneBlueTemplate extends BaseTemplate { @@ -77,46 +84,28 @@ class CologneBlueTemplate extends BaseTemplate { return $this->getSkin()->getLanguage()->pipeList( $s ); } + // @fixed function otherLanguages() { global $wgHideInterlanguageLinks; - if ( $wgHideInterlanguageLinks ) { - return ''; + return ""; } - $a = $this->getSkin()->getOutput()->getLanguageLinks(); - - if ( 0 == count( $a ) ) { - return ''; + // We override SkinTemplate->formatLanguageName() in SkinCologneBlue + // not to capitalize the language names. + $language_urls = $this->data['language_urls']; + if ( empty( $language_urls ) ) { + return ""; } - $s = wfMessage( 'otherlanguages' )->text() . wfMessage( 'colon-separator' )->text(); - $first = true; - - if ( $this->getSkin()->getLanguage()->isRTL() ) { - $s .= ''; - } - - foreach ( $a as $l ) { - if ( !$first ) { - $s .= wfMessage( 'pipe-separator' )->escaped(); - } - - $first = false; - - $nt = Title::newFromText( $l ); - $text = Language::fetchLanguageName( $nt->getInterwiki() ); - - $s .= Html::element( 'a', - array( 'href' => $nt->getFullURL(), 'title' => $nt->getText(), 'class' => "external" ), - $text == '' ? $l : $text ); - } - - if ( $this->getSkin()->getLanguage()->isRTL() ) { - $s .= ''; + $s = array(); + foreach ( $language_urls as $key => $data ) { + $s[] = $this->makeListItem( $key, $data, array( 'tag' => 'span' ) ); } - return $s; + return wfMessage( 'otherlanguages' )->text() + . wfMessage( 'colon-separator' )->text() + . $this->getSkin()->getLanguage()->pipeList( $s ); } // @fixed diff --git a/skins/cologneblue/screen.css b/skins/cologneblue/screen.css index a6f9f8ce31..aac786d5ef 100644 --- a/skins/cologneblue/screen.css +++ b/skins/cologneblue/screen.css @@ -2,6 +2,7 @@ body { margin: 0; padding: 0; color: black; + font-family: serif; } #specialform { -- 2.20.1