From a1789ddde42033f1b05cc4929491214ee6e79383 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 17 Dec 2015 09:15:42 +0100 Subject: Update to MediaWiki 1.26.0 --- skins/ArchLinux/ArchLinuxTemplate.php | 11 +- skins/ArchLinux/Gruntfile.js | 20 ++++ skins/ArchLinux/composer.json | 10 ++ skins/ArchLinux/main.css | 7 +- skins/ArchLinux/skin.json | 7 +- skins/CologneBlue/Gruntfile.js | 20 ++++ skins/CologneBlue/SkinCologneBlue.php | 2 +- skins/CologneBlue/composer.json | 10 ++ skins/CologneBlue/i18n/arq.json | 8 ++ skins/CologneBlue/i18n/en.json | 3 + skins/CologneBlue/i18n/es.json | 7 +- skins/CologneBlue/i18n/fo.json | 9 +- skins/CologneBlue/i18n/hu.json | 6 +- skins/CologneBlue/i18n/ilo.json | 8 ++ skins/CologneBlue/i18n/ne.json | 5 +- skins/CologneBlue/i18n/nl.json | 4 +- skins/CologneBlue/i18n/pt-br.json | 9 +- skins/CologneBlue/i18n/scn.json | 7 +- skins/CologneBlue/skin.json | 4 +- skins/Modern/Gruntfile.js | 20 ++++ skins/Modern/composer.json | 10 ++ skins/Modern/i18n/arq.json | 8 ++ skins/Modern/i18n/en.json | 3 + skins/Modern/i18n/es.json | 5 +- skins/Modern/i18n/fo.json | 8 ++ skins/Modern/i18n/hu.json | 6 +- skins/Modern/i18n/ko.json | 2 +- skins/Modern/i18n/ne.json | 5 +- skins/Modern/i18n/nl.json | 4 +- skins/Modern/i18n/pt-br.json | 9 +- skins/Modern/i18n/scn.json | 6 +- skins/Modern/skin.json | 4 +- skins/MonoBook/Gruntfile.js | 20 ++++ skins/MonoBook/MonoBookTemplate.php | 11 +- skins/MonoBook/composer.json | 10 ++ skins/MonoBook/i18n/arq.json | 8 ++ skins/MonoBook/i18n/bs.json | 4 +- skins/MonoBook/i18n/dty.json | 8 ++ skins/MonoBook/i18n/es.json | 5 +- skins/MonoBook/i18n/fo.json | 8 ++ skins/MonoBook/i18n/ne.json | 5 +- skins/MonoBook/i18n/nl.json | 4 +- skins/MonoBook/i18n/pt-br.json | 7 +- skins/MonoBook/i18n/sah.json | 1 + skins/MonoBook/i18n/scn.json | 4 +- skins/MonoBook/main.css | 7 +- skins/MonoBook/skin.json | 7 +- skins/Vector/Gruntfile.js | 32 ++++++ skins/Vector/SkinVector.php | 7 +- skins/Vector/Vector.php | 2 +- skins/Vector/VectorTemplate.php | 124 +++++++-------------- skins/Vector/collapsibleTabs.js | 5 +- skins/Vector/components/common.less | 13 ++- skins/Vector/components/tabs.less | 2 + skins/Vector/components/watchstar.less | 4 +- skins/Vector/composer.json | 46 ++++---- skins/Vector/i18n/ady-cyrl.json | 15 ++- skins/Vector/i18n/aeb-latn.json | 14 +++ skins/Vector/i18n/aeb.json | 5 +- skins/Vector/i18n/an.json | 6 +- skins/Vector/i18n/ang.json | 5 +- skins/Vector/i18n/arn.json | 3 +- skins/Vector/i18n/arq.json | 3 +- skins/Vector/i18n/arz.json | 3 +- skins/Vector/i18n/ba.json | 6 +- skins/Vector/i18n/bho.json | 8 +- skins/Vector/i18n/bs.json | 9 +- skins/Vector/i18n/ce.json | 6 +- skins/Vector/i18n/din.json | 11 ++ skins/Vector/i18n/dty.json | 16 +++ skins/Vector/i18n/ee.json | 6 +- skins/Vector/i18n/eml.json | 9 ++ skins/Vector/i18n/fo.json | 1 + skins/Vector/i18n/frp.json | 3 +- skins/Vector/i18n/fy.json | 2 +- skins/Vector/i18n/glk.json | 13 +++ skins/Vector/i18n/gom-deva.json | 7 +- skins/Vector/i18n/gom-latn.json | 2 +- skins/Vector/i18n/gsw.json | 3 +- skins/Vector/i18n/gu.json | 2 +- skins/Vector/i18n/hil.json | 12 +- skins/Vector/i18n/hrx.json | 6 +- skins/Vector/i18n/ht.json | 6 +- skins/Vector/i18n/ilo.json | 2 +- skins/Vector/i18n/jut.json | 11 ++ skins/Vector/i18n/jv.json | 3 +- skins/Vector/i18n/kea.json | 9 ++ skins/Vector/i18n/khw.json | 3 +- skins/Vector/i18n/kk-cyrl.json | 2 +- skins/Vector/i18n/km.json | 3 +- skins/Vector/i18n/ko.json | 7 +- skins/Vector/i18n/ksh.json | 8 +- skins/Vector/i18n/ku-latn.json | 9 +- skins/Vector/i18n/kw.json | 3 +- skins/Vector/i18n/ky.json | 6 +- skins/Vector/i18n/lrc.json | 4 +- skins/Vector/i18n/lt.json | 4 +- skins/Vector/i18n/luz.json | 9 +- skins/Vector/i18n/mdf.json | 6 +- skins/Vector/i18n/mg.json | 3 +- skins/Vector/i18n/mk.json | 2 +- skins/Vector/i18n/mn.json | 6 +- skins/Vector/i18n/mzn.json | 3 +- skins/Vector/i18n/nan.json | 5 +- skins/Vector/i18n/nap.json | 2 +- skins/Vector/i18n/ne.json | 5 +- skins/Vector/i18n/nl.json | 4 +- skins/Vector/i18n/olo.json | 19 ++++ skins/Vector/i18n/or.json | 3 +- skins/Vector/i18n/pnb.json | 3 +- skins/Vector/i18n/prs.json | 11 ++ skins/Vector/i18n/ro.json | 3 +- skins/Vector/i18n/sa.json | 5 +- skins/Vector/i18n/sc.json | 4 +- skins/Vector/i18n/scn.json | 11 +- skins/Vector/i18n/sd.json | 11 +- skins/Vector/i18n/sgs.json | 4 +- skins/Vector/i18n/shy-latn.json | 8 ++ skins/Vector/i18n/si.json | 9 +- skins/Vector/i18n/sk.json | 5 +- skins/Vector/i18n/ta.json | 6 +- skins/Vector/i18n/tl.json | 3 +- skins/Vector/i18n/tr.json | 6 +- skins/Vector/i18n/ur.json | 5 +- skins/Vector/i18n/vec.json | 3 +- skins/Vector/i18n/vro.json | 3 +- skins/Vector/i18n/wo.json | 3 +- skins/Vector/i18n/wuu.json | 6 +- skins/Vector/i18n/xmf.json | 6 +- skins/Vector/i18n/yo.json | 3 +- skins/Vector/i18n/za.json | 6 +- skins/Vector/i18n/zh-hans.json | 2 +- skins/Vector/i18n/zh-hant.json | 5 +- skins/Vector/phpcs.xml | 7 ++ skins/Vector/responsive.less | 78 +++++++++++++ skins/Vector/skin.json | 19 +++- .../skinStyles/jquery.ui/jquery.ui.button.css | 13 --- .../Vector/skinStyles/mediawiki.notification.less | 14 ++- skins/Vector/skinStyles/ooui.less | 4 + 139 files changed, 866 insertions(+), 314 deletions(-) create mode 100644 skins/ArchLinux/Gruntfile.js create mode 100644 skins/ArchLinux/composer.json create mode 100644 skins/CologneBlue/Gruntfile.js create mode 100644 skins/CologneBlue/composer.json create mode 100644 skins/CologneBlue/i18n/arq.json create mode 100644 skins/CologneBlue/i18n/ilo.json create mode 100644 skins/Modern/Gruntfile.js create mode 100644 skins/Modern/composer.json create mode 100644 skins/Modern/i18n/arq.json create mode 100644 skins/Modern/i18n/fo.json create mode 100644 skins/MonoBook/Gruntfile.js create mode 100644 skins/MonoBook/composer.json create mode 100644 skins/MonoBook/i18n/arq.json create mode 100644 skins/MonoBook/i18n/dty.json create mode 100644 skins/MonoBook/i18n/fo.json create mode 100644 skins/Vector/Gruntfile.js create mode 100644 skins/Vector/i18n/aeb-latn.json create mode 100644 skins/Vector/i18n/din.json create mode 100644 skins/Vector/i18n/dty.json create mode 100644 skins/Vector/i18n/eml.json create mode 100644 skins/Vector/i18n/glk.json create mode 100644 skins/Vector/i18n/jut.json create mode 100644 skins/Vector/i18n/kea.json create mode 100644 skins/Vector/i18n/olo.json create mode 100644 skins/Vector/i18n/prs.json create mode 100644 skins/Vector/i18n/shy-latn.json create mode 100644 skins/Vector/phpcs.xml create mode 100644 skins/Vector/responsive.less create mode 100644 skins/Vector/skinStyles/ooui.less (limited to 'skins') diff --git a/skins/ArchLinux/ArchLinuxTemplate.php b/skins/ArchLinux/ArchLinuxTemplate.php index 22ae7a61..52c23aec 100644 --- a/skins/ArchLinux/ArchLinuxTemplate.php +++ b/skins/ArchLinux/ArchLinuxTemplate.php @@ -81,12 +81,17 @@ class ArchLinuxTemplate extends BaseTemplate { } ?> - getIndicators(); ?> + getIndicators(); + // Loose comparison with '!=' is intentional, to catch null and false too, but not '0' + if ( $this->data['title'] != '' ) { + ?>

html( 'title' ) ?>

+
msg( 'tagline' ) ?>
@@ -328,8 +333,8 @@ class ArchLinuxTemplate extends BaseTemplate { renderAfterPortlet( 'tb' ); ?> diff --git a/skins/ArchLinux/Gruntfile.js b/skins/ArchLinux/Gruntfile.js new file mode 100644 index 00000000..9c56558a --- /dev/null +++ b/skins/ArchLinux/Gruntfile.js @@ -0,0 +1,20 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + + grunt.initConfig( { + banana: { + all: 'i18n/' + }, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/skins/ArchLinux/composer.json b/skins/ArchLinux/composer.json new file mode 100644 index 00000000..fd380fb7 --- /dev/null +++ b/skins/ArchLinux/composer.json @@ -0,0 +1,10 @@ +{ + "require-dev": { + "jakub-onderka/php-parallel-lint": "0.9" + }, + "scripts": { + "test": [ + "parallel-lint . --exclude node_modules --exclude vendor" + ] + } +} diff --git a/skins/ArchLinux/main.css b/skins/ArchLinux/main.css index 809fe184..0abc7b31 100644 --- a/skins/ArchLinux/main.css +++ b/skins/ArchLinux/main.css @@ -309,7 +309,10 @@ input.searchButton { border: none; line-height: 1.4em; color: #2f6fab; - padding: 0 2em 0 3em; + padding: 0; + padding-right: 2em; + /* Avoid overlap with the logo. */ + padding-left: 14em; margin: 0; text-align: right; list-style-type: none; @@ -334,12 +337,10 @@ input.searchButton { text-decoration: none; color: #005896; padding-bottom: .2em; - background: none; } #p-personal li a:hover { background-color: white; - padding-bottom: .2em; text-decoration: none; } diff --git a/skins/ArchLinux/skin.json b/skins/ArchLinux/skin.json index e0522f59..0729e1cf 100644 --- a/skins/ArchLinux/skin.json +++ b/skins/ArchLinux/skin.json @@ -8,8 +8,12 @@ "ValidSkinNames": { "archlinux": "ArchLinux" }, + "SkinOOUIThemes": { + "archlinux": "Apex" + }, "ResourceModules": { "skins.archlinux.styles": { + "position": "top", "styles": { "main.css": { "media": "screen" @@ -33,5 +37,6 @@ "AutoloadClasses": { "SkinArchLinux": "SkinArchLinux.php", "ArchLinuxTemplate": "ArchLinuxTemplate.php" - } + }, + "manifest_version": 1 } diff --git a/skins/CologneBlue/Gruntfile.js b/skins/CologneBlue/Gruntfile.js new file mode 100644 index 00000000..9c56558a --- /dev/null +++ b/skins/CologneBlue/Gruntfile.js @@ -0,0 +1,20 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + + grunt.initConfig( { + banana: { + all: 'i18n/' + }, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/skins/CologneBlue/SkinCologneBlue.php b/skins/CologneBlue/SkinCologneBlue.php index 7b7aabd5..7a07c21f 100644 --- a/skins/CologneBlue/SkinCologneBlue.php +++ b/skins/CologneBlue/SkinCologneBlue.php @@ -116,7 +116,7 @@ class CologneBlueTemplate extends BaseTemplate { */ protected function renderAfterPortlet( $name ) { $content = ''; - wfRunHooks( 'BaseTemplateAfterPortlet', array( $this, $name, &$content ) ); + Hooks::run( 'BaseTemplateAfterPortlet', array( $this, $name, &$content ) ); $html = $content !== '' ? "
$content
" : ''; diff --git a/skins/CologneBlue/composer.json b/skins/CologneBlue/composer.json new file mode 100644 index 00000000..fd380fb7 --- /dev/null +++ b/skins/CologneBlue/composer.json @@ -0,0 +1,10 @@ +{ + "require-dev": { + "jakub-onderka/php-parallel-lint": "0.9" + }, + "scripts": { + "test": [ + "parallel-lint . --exclude node_modules --exclude vendor" + ] + } +} diff --git a/skins/CologneBlue/i18n/arq.json b/skins/CologneBlue/i18n/arq.json new file mode 100644 index 00000000..65d2cde0 --- /dev/null +++ b/skins/CologneBlue/i18n/arq.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Bachounda" + ] + }, + "cologneblue-desc": "A lightweight skin with minimal formatting" +} diff --git a/skins/CologneBlue/i18n/en.json b/skins/CologneBlue/i18n/en.json index 2f19694a..cb55ee94 100644 --- a/skins/CologneBlue/i18n/en.json +++ b/skins/CologneBlue/i18n/en.json @@ -1,4 +1,7 @@ { + "@metadata": { + "authors": [] + }, "cologneblue.css": "/* CSS placed here will affect users of the Cologne Blue skin */", "cologneblue.js": "/* Any JavaScript here will be loaded for users using the Cologne Blue skin */", "skinname-cologneblue": "Cologne Blue", diff --git a/skins/CologneBlue/i18n/es.json b/skins/CologneBlue/i18n/es.json index 5cbe6f1b..2c45cba1 100644 --- a/skins/CologneBlue/i18n/es.json +++ b/skins/CologneBlue/i18n/es.json @@ -4,11 +4,12 @@ "Fitoschido", "Locos epraix", "Sanbec", - "Vivaelcelta" + "Vivaelcelta", + "Macofe" ] }, "cologneblue.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia Cologne Blue */", - "cologneblue.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Colonia azul */", + "cologneblue.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Cologne Blue */", "skinname-cologneblue": "Colonia azul", - "cologneblue-desc": "Un tema ligero con formato minimalista" + "cologneblue-desc": "Una apariencia ligera con formato minimalista" } diff --git a/skins/CologneBlue/i18n/fo.json b/skins/CologneBlue/i18n/fo.json index e927df18..32b358c7 100644 --- a/skins/CologneBlue/i18n/fo.json +++ b/skins/CologneBlue/i18n/fo.json @@ -1,4 +1,9 @@ { - "@metadata": [], - "skinname-cologneblue": "Cologne-bláur" + "@metadata": { + "authors": [ + "EileenSanda" + ] + }, + "skinname-cologneblue": "Cologne-bláur", + "cologneblue-desc": "Ein lættvekts útsjónd við minimalari formatering" } diff --git a/skins/CologneBlue/i18n/hu.json b/skins/CologneBlue/i18n/hu.json index 91e33f20..14a6e53b 100644 --- a/skins/CologneBlue/i18n/hu.json +++ b/skins/CologneBlue/i18n/hu.json @@ -1,10 +1,12 @@ { "@metadata": { "authors": [ - "Dj" + "Dj", + "ViDam" ] }, "cologneblue.css": "/* Az ide elhelyezett CSS hatással lesz a Kölni kék felület használóira */", "cologneblue.js": "/* A Kölni kék felületet használó szerkesztők számára betöltendő JavaScriptek */", - "skinname-cologneblue": "Kölni kék" + "skinname-cologneblue": "Kölni kék", + "cologneblue-desc": "Egy pehelykönnyű felület minimális formázással" } diff --git a/skins/CologneBlue/i18n/ilo.json b/skins/CologneBlue/i18n/ilo.json new file mode 100644 index 00000000..61c5ace4 --- /dev/null +++ b/skins/CologneBlue/i18n/ilo.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Lam-ang" + ] + }, + "cologneblue-desc": "Ti nalag-an a kudil nga addaan iti bassit a pannakapormat" +} diff --git a/skins/CologneBlue/i18n/ne.json b/skins/CologneBlue/i18n/ne.json index 5201e772..75a52f16 100644 --- a/skins/CologneBlue/i18n/ne.json +++ b/skins/CologneBlue/i18n/ne.json @@ -1,9 +1,10 @@ { "@metadata": { "authors": [ - "सरोज कुमार ढकाल" + "सरोज कुमार ढकाल", + "राम प्रसाद जोशी" ] }, - "cologneblue.css": "/* यहाँ राखिएको CSS ले कोलोग्ने ब्लु स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ */", + "cologneblue.css": "/* यहाँ राखिएको CSS ले कोलोग्ने ब्लु स्किनको प्रयोगकर्ताहरूलाई प्रभावित गर्ने छ */", "skinname-cologneblue": "कोलोग्ने निलो" } diff --git a/skins/CologneBlue/i18n/nl.json b/skins/CologneBlue/i18n/nl.json index 26d7a693..ec81b6af 100644 --- a/skins/CologneBlue/i18n/nl.json +++ b/skins/CologneBlue/i18n/nl.json @@ -4,8 +4,8 @@ "Siebrand" ] }, - "cologneblue.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Keuls blauw */", - "cologneblue.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Keuls blauw gebruiken */", + "cologneblue.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op het uiterlijk Keuls blauw */", + "cologneblue.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die het uiterlijk Keuls blauw gebruiken */", "skinname-cologneblue": "Keuls blauw", "cologneblue-desc": "Een lichtgewicht uiterlijk met minimale opmaak" } diff --git a/skins/CologneBlue/i18n/pt-br.json b/skins/CologneBlue/i18n/pt-br.json index b970763b..72ddd5b1 100644 --- a/skins/CologneBlue/i18n/pt-br.json +++ b/skins/CologneBlue/i18n/pt-br.json @@ -1,9 +1,12 @@ { "@metadata": { "authors": [ - "Diego Queiroz" + "Diego Queiroz", + "Cainamarques" ] }, - "cologneblue.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin Azul colonial */", - "skinname-cologneblue": "Azul colonial" + "cologneblue.css": "/* o código CSS colocado aqui terá efeito nos usuários do tema Cologne Blue */", + "cologneblue.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do tema Cologne Blue */", + "skinname-cologneblue": "Azul Colonial", + "cologneblue-desc": "Um tema leve com formatação mínima" } diff --git a/skins/CologneBlue/i18n/scn.json b/skins/CologneBlue/i18n/scn.json index 093f1d55..8d0ea11e 100644 --- a/skins/CologneBlue/i18n/scn.json +++ b/skins/CologneBlue/i18n/scn.json @@ -1,8 +1,11 @@ { "@metadata": { "authors": [ - "Santu" + "Santu", + "Pippinu", + "Sarvaturi" ] }, - "skinname-cologneblue": "Cologne Blu" + "skinname-cologneblue": "Cologne Blu", + "cologneblue-desc": "Na peddi leggia cu picca furmattazzioni" } diff --git a/skins/CologneBlue/skin.json b/skins/CologneBlue/skin.json index 1aa03902..806de595 100644 --- a/skins/CologneBlue/skin.json +++ b/skins/CologneBlue/skin.json @@ -19,6 +19,7 @@ }, "ResourceModules": { "skins.cologneblue": { + "position": "top", "styles": { "resources/screen.css": { "media": "screen" @@ -41,5 +42,6 @@ "AutoloadClasses": { "SkinCologneBlue": "SkinCologneBlue.php", "CologneBlueTemplate": "SkinCologneBlue.php" - } + }, + "manifest_version": 1 } diff --git a/skins/Modern/Gruntfile.js b/skins/Modern/Gruntfile.js new file mode 100644 index 00000000..9c56558a --- /dev/null +++ b/skins/Modern/Gruntfile.js @@ -0,0 +1,20 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + + grunt.initConfig( { + banana: { + all: 'i18n/' + }, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/skins/Modern/composer.json b/skins/Modern/composer.json new file mode 100644 index 00000000..fd380fb7 --- /dev/null +++ b/skins/Modern/composer.json @@ -0,0 +1,10 @@ +{ + "require-dev": { + "jakub-onderka/php-parallel-lint": "0.9" + }, + "scripts": { + "test": [ + "parallel-lint . --exclude node_modules --exclude vendor" + ] + } +} diff --git a/skins/Modern/i18n/arq.json b/skins/Modern/i18n/arq.json new file mode 100644 index 00000000..6b0fbb33 --- /dev/null +++ b/skins/Modern/i18n/arq.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Bachounda" + ] + }, + "modern-desc": "A blue/grey theme with sidebar and top bar. Derived from MonoBook" +} diff --git a/skins/Modern/i18n/en.json b/skins/Modern/i18n/en.json index a22435e4..bd658848 100644 --- a/skins/Modern/i18n/en.json +++ b/skins/Modern/i18n/en.json @@ -1,4 +1,7 @@ { + "@metadata": { + "authors": [] + }, "modern.css": "/* CSS placed here will affect users of the Modern skin */", "modern.js": "/* Any JavaScript here will be loaded for users using the Modern skin */", "skinname-modern": "Modern", diff --git a/skins/Modern/i18n/es.json b/skins/Modern/i18n/es.json index 3a77b406..9f4e71d2 100644 --- a/skins/Modern/i18n/es.json +++ b/skins/Modern/i18n/es.json @@ -3,11 +3,12 @@ "authors": [ "Fitoschido", "Sanbec", - "Vivaelcelta" + "Vivaelcelta", + "Macofe" ] }, "modern.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia Moderna */", "modern.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Moderna */", "skinname-modern": "Moderna", - "modern-desc": "Un tema azul y gris, con barras lateral y superior. Derivado de MonoBook." + "modern-desc": "Un tema azul y gris, con barras lateral y superior. Derivado de MonoBook" } diff --git a/skins/Modern/i18n/fo.json b/skins/Modern/i18n/fo.json new file mode 100644 index 00000000..cd49044c --- /dev/null +++ b/skins/Modern/i18n/fo.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "EileenSanda" + ] + }, + "modern-desc": "Ein blá/grá útsjónd við síðu- og toppteigum. Grundað á MonoBook" +} diff --git a/skins/Modern/i18n/hu.json b/skins/Modern/i18n/hu.json index b4668654..b354c192 100644 --- a/skins/Modern/i18n/hu.json +++ b/skins/Modern/i18n/hu.json @@ -1,10 +1,12 @@ { "@metadata": { "authors": [ - "Dj" + "Dj", + "Tacsipacsi" ] }, "modern.css": "/* Az ide elhelyezett CSS hatással lesz a Modern felület használóira */", "modern.js": "/* A Modern felületet használó szerkesztők számára betöltendő JavaScriptek */", - "skinname-modern": "Modern" + "skinname-modern": "Modern", + "modern-desc": "Egy kék/szürke téma oldalsávval és felső sávval. A MonoBookból kifejlesztve" } diff --git a/skins/Modern/i18n/ko.json b/skins/Modern/i18n/ko.json index 4a4056e6..3a384c62 100644 --- a/skins/Modern/i18n/ko.json +++ b/skins/Modern/i18n/ko.json @@ -7,5 +7,5 @@ "modern.css": "/* 이 CSS 설정은 모던 스킨을 사용하는 사용자에게 적용됩니다 */", "modern.js": "/* 이 자바스크립트 설정은 모던 스킨을 사용하는 사용자에게 적용됩니다 */", "skinname-modern": "모던", - "modern-desc": "사이드바와 위 막대가 있는 파랑/회색 테마입니다. 모노북에서 파생되었습니다." + "modern-desc": "사이드바와 위 막대가 있는 파랑/회색 테마입니다. 모노북에서 파생되었습니다" } diff --git a/skins/Modern/i18n/ne.json b/skins/Modern/i18n/ne.json index 1d741853..75846b78 100644 --- a/skins/Modern/i18n/ne.json +++ b/skins/Modern/i18n/ne.json @@ -1,9 +1,10 @@ { "@metadata": { "authors": [ - "सरोज कुमार ढकाल" + "सरोज कुमार ढकाल", + "राम प्रसाद जोशी" ] }, - "modern.css": "/* यहाँ राखिएको CSS ले मोनोबुक मोडर्न प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ */", + "modern.css": "/* यहाँ राखिएको CSS ले मोनोबुक मोडर्न प्रयोगकर्ताहरूलाई प्रभावित गर्ने छ */", "skinname-modern": "मोडर्न" } diff --git a/skins/Modern/i18n/nl.json b/skins/Modern/i18n/nl.json index 27717073..e0fe90db 100644 --- a/skins/Modern/i18n/nl.json +++ b/skins/Modern/i18n/nl.json @@ -4,8 +4,8 @@ "Siebrand" ] }, - "modern.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Modern */", - "modern.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Modern gebruiken */", + "modern.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op het uiterlijk Modern */", + "modern.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die het uiterlijk Modern gebruiken */", "skinname-modern": "Modern", "modern-desc": "Een blauw-grijs uiterlijk met een zij- en bovenmenu, afgeleid van MonoBook" } diff --git a/skins/Modern/i18n/pt-br.json b/skins/Modern/i18n/pt-br.json index 3072dede..3c837e9c 100644 --- a/skins/Modern/i18n/pt-br.json +++ b/skins/Modern/i18n/pt-br.json @@ -1,9 +1,12 @@ { "@metadata": { "authors": [ - "Diego Queiroz" + "Diego Queiroz", + "Cainamarques" ] }, - "modern.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin Moderno */", - "skinname-modern": "Moderno" + "modern.css": "/* o código CSS colocado aqui terá efeito nos usuários do tema Modern */", + "modern.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do tema Modern */", + "skinname-modern": "Moderno", + "modern-desc": "Um tema azul/cinza com barras lateral e de topo. Derivado do MonoBook." } diff --git a/skins/Modern/i18n/scn.json b/skins/Modern/i18n/scn.json index 39b21c80..0ca1747b 100644 --- a/skins/Modern/i18n/scn.json +++ b/skins/Modern/i18n/scn.json @@ -1,8 +1,10 @@ { "@metadata": { "authors": [ - "Santu" + "Santu", + "Pippinu" ] }, - "skinname-modern": "Mudernu" + "skinname-modern": "Mudernu", + "modern-desc": "Nu tema blu/griciu cu na sbarra latirali e una di supra. Dirivatu di MonoBook" } diff --git a/skins/Modern/skin.json b/skins/Modern/skin.json index 98ba815a..c287c0a7 100644 --- a/skins/Modern/skin.json +++ b/skins/Modern/skin.json @@ -19,6 +19,7 @@ }, "ResourceModules": { "skins.modern": { + "position": "top", "styles": { "resources/main.css": { "media": "screen" @@ -36,5 +37,6 @@ "AutoloadClasses": { "SkinModern": "SkinModern.php", "ModernTemplate": "SkinModern.php" - } + }, + "manifest_version": 1 } diff --git a/skins/MonoBook/Gruntfile.js b/skins/MonoBook/Gruntfile.js new file mode 100644 index 00000000..9c56558a --- /dev/null +++ b/skins/MonoBook/Gruntfile.js @@ -0,0 +1,20 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + + grunt.initConfig( { + banana: { + all: 'i18n/' + }, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/skins/MonoBook/MonoBookTemplate.php b/skins/MonoBook/MonoBookTemplate.php index 12f7016f..c1022d9d 100644 --- a/skins/MonoBook/MonoBookTemplate.php +++ b/skins/MonoBook/MonoBookTemplate.php @@ -55,12 +55,17 @@ class MonoBookTemplate extends BaseTemplate { } ?> - getIndicators(); ?> + getIndicators(); + // Loose comparison with '!=' is intentional, to catch null and false too, but not '0' + if ( $this->data['title'] != '' ) { + ?>

html( 'title' ) ?>

+
msg( 'tagline' ) ?>
@@ -302,8 +307,8 @@ class MonoBookTemplate extends BaseTemplate { renderAfterPortlet( 'tb' ); ?> diff --git a/skins/MonoBook/composer.json b/skins/MonoBook/composer.json new file mode 100644 index 00000000..fd380fb7 --- /dev/null +++ b/skins/MonoBook/composer.json @@ -0,0 +1,10 @@ +{ + "require-dev": { + "jakub-onderka/php-parallel-lint": "0.9" + }, + "scripts": { + "test": [ + "parallel-lint . --exclude node_modules --exclude vendor" + ] + } +} diff --git a/skins/MonoBook/i18n/arq.json b/skins/MonoBook/i18n/arq.json new file mode 100644 index 00000000..1fdfa114 --- /dev/null +++ b/skins/MonoBook/i18n/arq.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Bachounda" + ] + }, + "monobook-desc": "The classic MediaWiki skin since 2004, named after the black-and-white photo of a book in the page background" +} diff --git a/skins/MonoBook/i18n/bs.json b/skins/MonoBook/i18n/bs.json index ddecc4c9..84115506 100644 --- a/skins/MonoBook/i18n/bs.json +++ b/skins/MonoBook/i18n/bs.json @@ -2,10 +2,12 @@ "@metadata": { "authors": [ "CERminator", - "Kal-El" + "Kal-El", + "Srdjan m" ] }, "skinname-monobook": "MonoKnjiga", + "monobook-desc": "Klasična MediaWiki tema od 2004. Dobila ime po crnobijeloj slici knjige u pozadini stranice.", "monobook.css": "/* CSS umetnut ovdje uticat će na korisnike koji koriste Monobook skin */", "monobook.js": "/* Bilo koja JavaScript će biti učitana za sve korisnike koji koriste MonoBook skin */" } diff --git a/skins/MonoBook/i18n/dty.json b/skins/MonoBook/i18n/dty.json new file mode 100644 index 00000000..b4b2fe11 --- /dev/null +++ b/skins/MonoBook/i18n/dty.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "राम प्रसाद जोशी" + ] + }, + "monobook.css": "/* यहाँ राख्याको CSS ले मोनोबुक स्किनको प्रयोगकर्ताहरूलाई प्रभावित गद्या छ */" +} diff --git a/skins/MonoBook/i18n/es.json b/skins/MonoBook/i18n/es.json index 48d424c7..6b41ae24 100644 --- a/skins/MonoBook/i18n/es.json +++ b/skins/MonoBook/i18n/es.json @@ -3,11 +3,12 @@ "authors": [ "Sanbec", "Vivaelcelta", - "Fitoschido" + "Fitoschido", + "Macofe" ] }, "skinname-monobook": "MonoBook", - "monobook-desc": "El tema clásico de MediaWiki desde 2004, cuyo nombre viene de la foto en blanco y negro de un libro en el fondo", + "monobook-desc": "La apariencia clásica de MediaWiki desde 2004, cuyo nombre viene de la foto en blanco y negro de un libro en el fondo", "monobook.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia \"MonoBook\" */", "monobook.js": "/* El código JavaScript que se ponga aquí será cargado por los usuarios de la apariencia MonoBook */" } diff --git a/skins/MonoBook/i18n/fo.json b/skins/MonoBook/i18n/fo.json new file mode 100644 index 00000000..fc99562c --- /dev/null +++ b/skins/MonoBook/i18n/fo.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "EileenSanda" + ] + }, + "monobook-desc": "Tann klassiska MediaWiki útsjóndin síðan 2004, uppkallað eftir svørt-hvítu myndini av einari bók í bakgrundini á síðuni" +} diff --git a/skins/MonoBook/i18n/ne.json b/skins/MonoBook/i18n/ne.json index 04516dd8..26574e5d 100644 --- a/skins/MonoBook/i18n/ne.json +++ b/skins/MonoBook/i18n/ne.json @@ -1,9 +1,10 @@ { "@metadata": { "authors": [ - "सरोज कुमार ढकाल" + "सरोज कुमार ढकाल", + "राम प्रसाद जोशी" ] }, "skinname-monobook": "मोनोबुक", - "monobook.css": "/* यहाँ राखिएको CSS ले मोनोबुक स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ */" + "monobook.css": "/* यहाँ राखिएको CSS ले मोनोबुक स्किनको प्रयोगकर्ताहरूलाई प्रभावित गर्ने छ */" } diff --git a/skins/MonoBook/i18n/nl.json b/skins/MonoBook/i18n/nl.json index b08e117c..d62f5ef2 100644 --- a/skins/MonoBook/i18n/nl.json +++ b/skins/MonoBook/i18n/nl.json @@ -7,6 +7,6 @@ }, "skinname-monobook": "Monobook", "monobook-desc": "De klassieke MediaWiki-vormgeving sinds 2004, genoemd naar de zwart-witfoto van een boek op de achtergrond van de pagina", - "monobook.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Monobook */", - "monobook.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Monobook gebruiken */" + "monobook.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op het uiterlijk Monobook */", + "monobook.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die het uiterlijk Monobook gebruiken */" } diff --git a/skins/MonoBook/i18n/pt-br.json b/skins/MonoBook/i18n/pt-br.json index afd441c8..92f7c2c0 100644 --- a/skins/MonoBook/i18n/pt-br.json +++ b/skins/MonoBook/i18n/pt-br.json @@ -1,11 +1,12 @@ { "@metadata": { "authors": [ - "Fabsouza1" + "Fabsouza1", + "Cainamarques" ] }, "skinname-monobook": "MonoBook", - "monobook-desc": "A skin clássica do MediaWiki desde 2004, assim chamada depois de uma foto preto-e-branco de um livro colocada plano de fundo da página", + "monobook-desc": "A skin clássica do MediaWiki desde 2004, assim chamada pela imagem preto e branco de um livro que é colocada no plano de fundo da página", "monobook.css": "/* o código CSS colocado aqui terá efeito nos usuários do tema Monobook */", - "monobook.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin MonoBook */" + "monobook.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do tema MonoBook */" } diff --git a/skins/MonoBook/i18n/sah.json b/skins/MonoBook/i18n/sah.json index 5f3cbfc9..8a8790f3 100644 --- a/skins/MonoBook/i18n/sah.json +++ b/skins/MonoBook/i18n/sah.json @@ -4,6 +4,7 @@ "HalanTul" ] }, + "monobook-desc": "MediaWiki классиката, 2004 сыллаахха баар буолбут. Сирэй кэтэх ойуутун (фонун) быһыытынан туттуллубут өҥө суох хаартыска аатынан ааттаммыт.", "monobook.css": "/* Манна оҥоһуллубут CSS Monobook диэн скиҥҥа туһаныллыа */", "monobook.js": "/* Эргэрбит; маны туһан:[[MediaWiki:common.js]] */" } diff --git a/skins/MonoBook/i18n/scn.json b/skins/MonoBook/i18n/scn.json index cba6acf2..58a5cf3d 100644 --- a/skins/MonoBook/i18n/scn.json +++ b/skins/MonoBook/i18n/scn.json @@ -3,10 +3,12 @@ "authors": [ "Santu", "Sarvaturi", - "Tonyfroio" + "Tonyfroio", + "Pippinu" ] }, "skinname-monobook": "MonoBook", + "monobook-desc": "La peddi tradizziunali di MediaWiki a pàrtiri dû 2004, chi pigghia lu nomu di na fotu n jancu e nìuru dûn libbru ca si vidi ntô sfunnu dâ pàggina", "monobook.css": "/* Li stili CSS nziriti ccà s'àpplicanu a l'utenti chi usanu la skin Monobook */", "monobook.js": "/* Lu còdici JavaScript nzirutu ccà veni carricatu di l'utenti c'ùsanu la skin MonoBook */" } diff --git a/skins/MonoBook/main.css b/skins/MonoBook/main.css index 809fe184..0abc7b31 100644 --- a/skins/MonoBook/main.css +++ b/skins/MonoBook/main.css @@ -309,7 +309,10 @@ input.searchButton { border: none; line-height: 1.4em; color: #2f6fab; - padding: 0 2em 0 3em; + padding: 0; + padding-right: 2em; + /* Avoid overlap with the logo. */ + padding-left: 14em; margin: 0; text-align: right; list-style-type: none; @@ -334,12 +337,10 @@ input.searchButton { text-decoration: none; color: #005896; padding-bottom: .2em; - background: none; } #p-personal li a:hover { background-color: white; - padding-bottom: .2em; text-decoration: none; } diff --git a/skins/MonoBook/skin.json b/skins/MonoBook/skin.json index 1a4efc8d..5d2ea0c8 100644 --- a/skins/MonoBook/skin.json +++ b/skins/MonoBook/skin.json @@ -12,6 +12,9 @@ "ValidSkinNames": { "monobook": "MonoBook" }, + "SkinOOUIThemes": { + "monobook": "Apex" + }, "MessagesDirs": { "MonoBook": [ "i18n" @@ -19,6 +22,7 @@ }, "ResourceModules": { "skins.monobook.styles": { + "position": "top", "styles": { "main.css": { "media": "screen" @@ -33,5 +37,6 @@ "AutoloadClasses": { "SkinMonoBook": "SkinMonoBook.php", "MonoBookTemplate": "MonoBookTemplate.php" - } + }, + "manifest_version": 1 } diff --git a/skins/Vector/Gruntfile.js b/skins/Vector/Gruntfile.js new file mode 100644 index 00000000..cf681717 --- /dev/null +++ b/skins/Vector/Gruntfile.js @@ -0,0 +1,32 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-contrib-jshint' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jscs' ); + var conf = grunt.file.readJSON( 'skin.json' ); + + grunt.initConfig( { + jshint: { + options: { + jshintrc: true + }, + all: [ + '*.js' + ] + }, + jscs: { + src: '<%= jshint.all %>' + }, + banana: conf.MessagesDirs, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jshint', 'jscs', 'jsonlint', 'banana' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/skins/Vector/SkinVector.php b/skins/Vector/SkinVector.php index f5e3634c..5d14628a 100644 --- a/skins/Vector/SkinVector.php +++ b/skins/Vector/SkinVector.php @@ -46,6 +46,11 @@ class SkinVector extends SkinTemplate { public function initPage( OutputPage $out ) { parent::initPage( $out ); + if ( $this->vectorConfig->get( 'VectorResponsive' ) ) { + $out->addMeta( 'viewport', 'width=device-width, initial-scale=1' ); + $out->addModuleStyles( 'skins.vector.styles.responsive' ); + } + // Append CSS which includes IE only behavior fixes for hover support - // this is better than including this in a CSS file since it doesn't // wait for the CSS file to load before fetching the HTC file. @@ -67,7 +72,7 @@ class SkinVector extends SkinTemplate { parent::setupSkinUserCss( $out ); $styles = array( 'mediawiki.skinning.interface', 'skins.vector.styles' ); - wfRunHooks( 'SkinVectorStyleModules', array( $this, &$styles ) ); + Hooks::run( 'SkinVectorStyleModules', array( $this, &$styles ) ); $out->addModuleStyles( $styles ); } diff --git a/skins/Vector/Vector.php b/skins/Vector/Vector.php index 872b5bf7..1a06ea9c 100644 --- a/skins/Vector/Vector.php +++ b/skins/Vector/Vector.php @@ -11,4 +11,4 @@ if ( function_exists( 'wfLoadSkin' ) ) { return true; } else { die( 'This version of the Vector skin requires MediaWiki 1.25+' ); -} \ No newline at end of file +} diff --git a/skins/Vector/VectorTemplate.php b/skins/Vector/VectorTemplate.php index fa3de5e0..ec2c87aa 100644 --- a/skins/Vector/VectorTemplate.php +++ b/skins/Vector/VectorTemplate.php @@ -87,6 +87,10 @@ class VectorTemplate extends BaseTemplate { $this->data['personal_urls'] = array_reverse( $this->data['personal_urls'] ); } + + $this->data['pageLanguage'] = + $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode(); + // Output HTML Page $this->html( 'headelement' ); ?> @@ -106,12 +110,14 @@ class VectorTemplate extends BaseTemplate { if ( is_callable( array( $this, 'getIndicators' ) ) ) { echo $this->getIndicators(); } + // Loose comparison with '!=' is intentional, to catch null and false too, but not '0' + if ( $this->data['title'] != '' ) { ?> -

html( 'title' ) ?>

+

html( 'title' ) + ?>

+ html( 'prebodyhtml' ) ?>
-
html( 'userlangattributes' ) - ?>>html( 'subtitle' ) ?>
+
html( 'userlangattributes' ) ?>>html( 'subtitle' ) + ?>
data['undelete'] ) { ?> @@ -142,13 +148,12 @@ class VectorTemplate extends BaseTemplate { msg( 'jumpto' ) ?> msg( 'jumptonavigation' ) - ?>msg( 'comma-separator' ) - ?> + ?>msg( 'comma-separator' ) ?> msg( 'jumptosearch' ) ?>
- html( 'bodycontent' ) ?> html( 'bodycontent' ); + if ( $this->data['printfooter'] ) { ?>
@@ -156,23 +161,13 @@ class VectorTemplate extends BaseTemplate {
- data['catlinks'] ) { - ?> - html( 'catlinks' ); - ?> - - data['dataAfterContent'] ) { - ?> - html( 'dataAfterContent' ); - ?> -
@@ -204,19 +199,11 @@ class VectorTemplate extends BaseTemplate { getFooterLinks() as $category => $links ) { ?> -