Isarra has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/213014

Change subject: Convert extension registration to use skin.json
......................................................................

Convert extension registration to use skin.json

Change-Id: I601b7c83bf78a9934ce59271ddcdb9a2f050cdc5
---
D BlueSky.i18n.php
M BlueSky.php
A skin.json
3 files changed, 196 insertions(+), 228 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/skins/BlueSky 
refs/changes/14/213014/1

diff --git a/BlueSky.i18n.php b/BlueSky.i18n.php
deleted file mode 100644
index 42233bf..0000000
--- a/BlueSky.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * 
https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShimb1f505ade9a49d1b' ) ) {
-       function wfJsonI18nShimb1f505ade9a49d1b( $cache, $code, &$cachedData ) {
-               $codeSequence = array_merge( array( $code ), 
$cachedData['fallbackSequence'] );
-               foreach ( $codeSequence as $csCode ) {
-                       $fileName = dirname( __FILE__ ) . 
"/skins/BlueSky/i18n/$csCode.json";
-                       if ( is_readable( $fileName ) ) {
-                               $data = FormatJson::decode( file_get_contents( 
$fileName ), true );
-                               foreach ( array_keys( $data ) as $key ) {
-                                       if ( $key === '' || $key[0] === '@' ) {
-                                               unset( $data[$key] );
-                                       }
-                               }
-                               $cachedData['messages'] = array_merge( $data, 
$cachedData['messages'] );
-                       }
-
-                       $cachedData['deps'][] = new FileDependency( $fileName );
-               }
-               return true;
-       }
-
-       $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 
'wfJsonI18nShimb1f505ade9a49d1b';
-}
diff --git a/BlueSky.php b/BlueSky.php
old mode 100644
new mode 100755
index 4acc5fc..425c964
--- a/BlueSky.php
+++ b/BlueSky.php
@@ -14,201 +14,22 @@
  * To install place the BlueSky folder (the folder containing this file!) into
  * skins/ and add this line to your wiki's LocalSettings.php:
  * require_once("$IP/skins/BlueSky/BlueSky.php");
+ *
+ * Soup has been moved to the skin.json. All comments have been removed 
because json is dumb.
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 'This is not a valid entry point to MediaWiki.' );
+if ( function_exists( 'wfLoadSkin' ) ) {
+       wfLoadSkin( 'BlueSky' );
+       // Keep i18n globals so mergeMessageFileList.php doesn't break
+       $wgMessagesDirs['BlueSky'] = __DIR__ . '/i18n';
+       $wgExtensionMessagesFiles['BlueSky'] = __DIR__ . '/BlueSky.alias.php';
+       wfWarn(
+               'Deprecated PHP entry point used for BlueSky skin. Please use 
wfLoadSkin instead, ' .
+               'see https://www.mediawiki.org/wiki/Extension_registration for 
more details.'
+       );
+       return;
+} else {
+       die( 'This version of the BlueSky skin requires MediaWiki 1.25+' );
 }
 
-// Skin credits that will show up on Special:Version
-$wgExtensionCredits['skin'][] = array(
-       'path' => __FILE__,
-       'name' => 'BlueSky',
-       'version' => '1.0',
-       'author' => array( 'wikiHow', 'Jack Phoenix' ),
-       // @todo To be moved into the i18n file eventually once i18n is stable 
enough.
-       // No need to cause translators unnecessary extra work before I finalize
-       // the description. (Suggestions for a better desc? Let me know!)
-       'description' => 'Skin based on the current version (late 2013-) of 
wikiHow\'s skin',
-       'url' => 'https://www.mediawiki.org/wiki/Skin:BlueSky',
-);
-
-// The first instance must be strtolower()ed so that useskin=bluesky works and
-// so that it does *not* force an initial capital (i.e. we do NOT want
-// useskin=Bluesky) and the second instance is used to determine the name of
-// *this* file.
-$wgValidSkinNames['bluesky'] = 'BlueSky';
-
-// Autoload the skin class, make it a valid skin, set up i18n, set up CSS & JS
-// (via ResourceLoader)
-$wgAutoloadClasses['SkinBlueSky'] = __DIR__ . '/BlueSky.skin.php';
-$wgAutoloadClasses['SkinBlueSkyHooks'] = __DIR__ . '/BlueSky.hooks.php';
-$wgExtensionMessagesFiles['SkinBlueSky'] = __DIR__ . '/BlueSky.i18n.php';
-$wgMessagesDirs['SkinBlueSky'] = __DIR__ . '/i18n';
-
-// Main CSS ResourceLoader module
-$wgResourceModules['skins.bluesky'] = array(
-       'styles' => array(
-               // MonoBook also loads these
-               #'skins/common/commonElements.css' => array( 'media' => 
'screen' ),
-               #'skins/common/commonContent.css' => array( 'media' => 'screen' 
),
-               'skins/common/commonInterface.css' => array( 'media' => 
'screen' ),
-               // Styles custom to this skin
-               'skins/BlueSky/resources/css/nonarticle.css' => array( 'media' 
=> 'screen' ),
-               'skins/BlueSky/resources/css/searchresults.css' => array( 
'media' => 'screen' ),
-               'skins/BlueSky/resources/css/special.css' => array( 'media' => 
'screen' ),
-               'skins/BlueSky/resources/css/printable.css' => array( 'media' 
=> 'print' ),
-               #'skins/BlueSky/resources/css/iphone.css' => array( 'media' => 
'only screen and (max-device-width: 480px)' ),
-       ),
-       'position' => 'top'
-);
-
-// zzz prefix is a hack to ensure that this module is loaded after the main
-// skins.bluesky module
-$wgResourceModules['zzzskins.bluesky.mainpage'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/home.css' => array( 'media' => 
'screen' ),
-       ),
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.externallinks.123'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/externallinks-123.css' => array( 
'media' => 'screen' ),
-       ),
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.externallinks.124'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/externallinks-124.css' => array( 
'media' => 'screen' ),
-       ),
-       'position' => 'top'
-);
-
-// LESS versions of things that used to be PHP-side core hacks
-$wgResourceModules['skins.bluesky.hacks.general'] = array(
-       'styles' => 'skins/BlueSky/resources/css/hacks/general.less',
-       'position' => 'top'
-);
-
-// Action-specific LESS hacks
-$wgResourceModules['skins.bluesky.hacks.action.delete'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.action.delete.less',
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.hacks.action.edit'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.action.edit.less',
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.hacks.action.history'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.action.history.less',
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.hacks.action.protect'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.action.protect.less',
-       'position' => 'top'
-);
-
-// Namespace-specific LESS hacks
-$wgResourceModules['skins.bluesky.hacks.filepage'] = array(
-       'styles' => 'skins/BlueSky/resources/css/hacks/mediawiki.filepage.less',
-       'position' => 'top'
-);
-
-// (Special) page-specific LESS hacks
-$wgResourceModules['skins.bluesky.hacks.special.log'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.special.log.less',
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.hacks.special.movepage'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.special.movepage.less',
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.hacks.special.recentchanges'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.special.recentchanges.less',
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.hacks.special.undelete'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.special.undelete.less',
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.hacks.special.watchlist'] = array(
-       'styles' => 
'skins/BlueSky/resources/css/hacks/mediawiki.special.watchlist.less',
-       'position' => 'top'
-);
-
-// Themes
-// The 'themeloader.' prefix is a hack around 
https://bugzilla.wikimedia.org/show_bug.cgi?id=66508
-$wgResourceModules['themeloader.skins.bluesky.blue'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/theme/blue.less' => array( 'media' 
=> 'screen' )
-       ),
-       'position' => 'top'
-);
-
-$wgResourceModules['themeloader.skins.bluesky.green'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/theme/green.less' => array( 
'media' => 'screen' )
-       ),
-       'position' => 'top'
-);
-
-$wgResourceModules['themeloader.skins.bluesky.grey'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/theme/grey.less' => array( 'media' 
=> 'screen' )
-       ),
-       'position' => 'top'
-);
-
-$wgResourceModules['themeloader.skins.bluesky.red'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/theme/red.less' => array( 'media' 
=> 'screen' )
-       ),
-       'position' => 'top'
-);
-
-$wgResourceModules['themeloader.skins.bluesky.white'] = array(
-       'styles' => array(
-               'skins/BlueSky/resources/css/theme/white.less' => array( 
'media' => 'screen' )
-       ),
-       'position' => 'top'
-);
-
-$wgResourceModules['skins.bluesky.js.easing'] = array(
-       'scripts' => 'skins/BlueSky/resources/js/jquery.easing.js',
-       'position' => 'top'
-);
-
-// Main JS module for this skin
-$wgResourceModules['skins.bluesky.js'] = array(
-       'scripts' => array(
-               // not ready yet
-               #'skins/BlueSky/resources/js/social.js',
-               'skins/BlueSky/resources/js/bluesky.js',
-       ),
-       'messages' => array(
-               'navlist_collapse', 'navlist_expand',
-               'userlogin-yourname-ph', 'userlogin-yourpassword-ph',
-               'bluesky-js-no-thanks'
-       ),
-       'dependencies' => array(
-               'jquery.client',
-               'skins.bluesky.js.easing',
-               // for the e-mail to a friend stuff (well, at least as long as 
it's
-               // there...)
-               'jquery.ui.dialog'
-       )
-);
-
 $blueSkyTOC = '';
-
-$wgHooks['OutputPageParserOutput'][] = 'SkinBlueSkyHooks::wfTOCCrap';
-$wgHooks['BeforePageDisplay'][] = 'SkinBlueSkyHooks::onBeforePageDisplayCrap';
diff --git a/skin.json b/skin.json
new file mode 100644
index 0000000..9987f9c
--- /dev/null
+++ b/skin.json
@@ -0,0 +1,182 @@
+{
+       "name": "BlueSky",
+       "version": "1.0",
+       "author": [
+               "wikiHow",
+               "Jack Phoenix"
+       ],
+       "url": "https://www.mediawiki.org/wiki/Skin:BlueSky";,
+       "description": "Skin based on the current version (late 2013-) of 
wikiHow's skin",
+       "type": "skin",
+       "ValidSkinNames": {
+               "bluesky": "BlueSky"
+       },
+       "MessagesDirs": {
+               "SkinBlueSky": [
+                       "i18n"
+               ]
+       },
+       "AutoloadClasses": {
+               "SkinBlueSky": "BlueSky.skin.php",
+               "SkinBlueSkyHooks": "BlueSky.hooks.php"
+       },
+       "ResourceModules": {
+               "skins.bluesky": {
+                       "styles": {
+                               "skins/common/commonInterface.css": {
+                                       "media": "screen"
+                               },
+                               "skins/BlueSky/resources/css/nonarticle.css": {
+                                       "media": "screen"
+                               },
+                               
"skins/BlueSky/resources/css/searchresults.css": {
+                                       "media": "screen"
+                               },
+                               "skins/BlueSky/resources/css/special.css": {
+                                       "media": "screen"
+                               },
+                               "skins/BlueSky/resources/css/printable.css": {
+                                       "media": "print"
+                               }
+                       },
+                       "position": "top"
+               },
+               "zzzskins.bluesky.mainpage": {
+                       "styles": {
+                               "skins/BlueSky/resources/css/home.css": {
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "skins.bluesky.externallinks.123": {
+                       "styles": {
+                               
"skins/BlueSky/resources/css/externallinks-123.css": {
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "skins.bluesky.externallinks.124": {
+                       "styles": {
+                               
"skins/BlueSky/resources/css/externallinks-124.css": {
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.general": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/general.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.action.delete": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.action.delete.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.action.edit": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.action.edit.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.action.history": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.action.history.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.action.protect": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.action.protect.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.filepage": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.filepage.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.special.log": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.special.log.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.special.movepage": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.special.movepage.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.special.recentchanges": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.special.recentchanges.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.special.undelete": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.special.undelete.less",
+                       "position": "top"
+               },
+               "skins.bluesky.hacks.special.watchlist": {
+                       "styles": 
"skins/BlueSky/resources/css/hacks/mediawiki.special.watchlist.less",
+                       "position": "top"
+               },
+               "themeloader.skins.bluesky.blue": {
+                       "styles": {
+                               "skins/BlueSky/resources/css/theme/blue.less": {
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "themeloader.skins.bluesky.green": {
+                       "styles": {
+                               "skins/BlueSky/resources/css/theme/green.less": 
{
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "themeloader.skins.bluesky.grey": {
+                       "styles": {
+                               "skins/BlueSky/resources/css/theme/grey.less": {
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "themeloader.skins.bluesky.red": {
+                       "styles": {
+                               "skins/BlueSky/resources/css/theme/red.less": {
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "themeloader.skins.bluesky.white": {
+                       "styles": {
+                               "skins/BlueSky/resources/css/theme/white.less": 
{
+                                       "media": "screen"
+                               }
+                       },
+                       "position": "top"
+               },
+               "skins.bluesky.js.easing": {
+                       "scripts": 
"skins/BlueSky/resources/js/jquery.easing.js",
+                       "position": "top"
+               },
+               "skins.bluesky.js": {
+                       "scripts": [
+                               "skins/BlueSky/resources/js/bluesky.js"
+                       ],
+                       "messages": [
+                               "navlist_collapse",
+                               "navlist_expand",
+                               "userlogin-yourname-ph",
+                               "userlogin-yourpassword-ph",
+                               "bluesky-js-no-thanks"
+                       ],
+                       "dependencies": [
+                               "jquery.client",
+                               "skins.bluesky.js.easing",
+                               "jquery.ui.dialog"
+                       ]
+               }
+       },
+       "Hooks": {
+               "OutputPageParserOutput": [
+                       "SkinBlueSkyHooks::wfTOCCrap"
+               ],
+               "BeforePageDisplay": [
+                       "SkinBlueSkyHooks::onBeforePageDisplayCrap"
+               ]
+       }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/213014
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I601b7c83bf78a9934ce59271ddcdb9a2f050cdc5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/skins/BlueSky
Gerrit-Branch: master
Gerrit-Owner: Isarra <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to