diff --git a/Vector.php b/Vector.php index f3f2507..872b5bf 100644 --- a/Vector.php +++ b/Vector.php @@ -1,111 +1,14 @@ __FILE__, - 'name' => 'Vector', - 'namemsg' => 'skinname-vector', - 'descriptionmsg' => 'vector-skin-desc', - 'url' => 'https://www.mediawiki.org/wiki/Skin:Vector', - 'author' => array( 'Trevor Parscal', 'Roan Kattouw', '...' ), - 'license-name' => 'GPL-2.0+', -); - -// Register files -$GLOBALS['wgAutoloadClasses']['SkinVector'] = __DIR__ . '/SkinVector.php'; -$GLOBALS['wgAutoloadClasses']['VectorTemplate'] = __DIR__ . '/VectorTemplate.php'; -$GLOBALS['wgMessagesDirs']['Vector'] = __DIR__ . '/i18n'; - -// Register skin -$GLOBALS['wgValidSkinNames']['vector'] = 'Vector'; - -// Register config -$GLOBALS['wgConfigRegistry']['vector'] = 'GlobalVarConfig::newInstance'; - -// Configuration options -/** - * Search form look. - * - true = use an icon search button - * - false = use Go & Search buttons - */ -$GLOBALS['wgVectorUseSimpleSearch'] = true; - -/** - * Watch and unwatch as an icon rather than a link. - * - true = use an icon watch/unwatch button - * - false = use watch/unwatch text link - */ -$GLOBALS['wgVectorUseIconWatch'] = true; - -// Register modules -$GLOBALS['wgResourceModules']['skins.vector.styles'] = array( - 'styles' => array( - 'screen.less' => array( 'media' => 'screen' ), - 'screen-hd.less' => array( 'media' => 'screen and (min-width: 982px)' ), - ), - 'remoteSkinPath' => 'Vector', - 'localBasePath' => __DIR__, -); - -$GLOBALS['wgResourceModules']['skins.vector.js'] = array( - 'scripts' => array( - 'collapsibleTabs.js', - 'vector.js', - ), - 'position' => 'top', - 'dependencies' => array( - 'jquery.throttle-debounce', - 'jquery.tabIndex', - ), - 'remoteSkinPath' => 'Vector', - 'localBasePath' => __DIR__, -); - -// Apply module customizations -$GLOBALS['wgResourceModuleSkinStyles']['vector'] = array( - 'jquery.tipsy' => 'skinStyles/jquery.tipsy.less', - 'jquery.ui.core' => array( - 'skinStyles/jquery.ui/jquery.ui.core.css', - 'skinStyles/jquery.ui/jquery.ui.theme.css', - ), - 'jquery.ui.accordion' => 'skinStyles/jquery.ui/jquery.ui.accordion.css', - 'jquery.ui.autocomplete' => 'skinStyles/jquery.ui/jquery.ui.autocomplete.css', - 'jquery.ui.button' => 'skinStyles/jquery.ui/jquery.ui.button.css', - 'jquery.ui.datepicker' => 'skinStyles/jquery.ui/jquery.ui.datepicker.css', - 'jquery.ui.dialog' => 'skinStyles/jquery.ui/jquery.ui.dialog.css', - 'jquery.ui.menu' => 'skinStyles/jquery.ui/jquery.ui.menu.css', - 'jquery.ui.progressbar' => 'skinStyles/jquery.ui/jquery.ui.progressbar.css', - 'jquery.ui.resizable' => 'skinStyles/jquery.ui/jquery.ui.resizable.css', - 'jquery.ui.selectable' => 'skinStyles/jquery.ui/jquery.ui.selectable.css', - 'jquery.ui.slider' => 'skinStyles/jquery.ui/jquery.ui.slider.css', - 'jquery.ui.spinner' => 'skinStyles/jquery.ui/jquery.ui.spinner.css', - 'jquery.ui.tabs' => 'skinStyles/jquery.ui/jquery.ui.tabs.css', - 'jquery.ui.tooltips' => 'skinStyles/jquery.ui/jquery.ui.tooltips.css', - 'mediawiki.notification' => 'skinStyles/mediawiki.notification.less', - '+mediawiki.sectionAnchor' => 'skinStyles/mediawiki.sectionAnchor.less', - 'mediawiki.special' => 'skinStyles/mediawiki.special.less', - 'mediawiki.special.preferences' => 'skinStyles/mediawiki.special.preferences.less', - 'remoteSkinPath' => 'Vector', - 'localBasePath' => __DIR__, -); +if ( function_exists( 'wfLoadSkin' ) ) { + wfLoadSkin( 'Vector' ); + // Keep i18n globals so mergeMessageFileList.php doesn't break + $wgMessagesDirs['Vector'] = __DIR__ . '/i18n'; + /* wfWarn( + 'Deprecated PHP entry point used for Vector skin. Please use wfLoadSkin instead, ' . + 'see https://www.mediawiki.org/wiki/Extension_registration for more details.' + ); */ + return true; +} else { + die( 'This version of the Vector skin requires MediaWiki 1.25+' ); +} \ No newline at end of file diff --git a/skin.json b/skin.json new file mode 100644 index 0000000..1d1ac1b --- /dev/null +++ b/skin.json @@ -0,0 +1,85 @@ +{ + "name": "Vector", + "author": [ + "Trevor Parscal", + "Roan Kattouw", + "..." + ], + "url": "https://www.mediawiki.org/wiki/Skin:Vector", + "descriptionmsg": "vector-skin-desc", + "namemsg": "skinname-vector", + "license-name": "GPL-2.0+", + "type": "skin", + "ConfigRegistry": { + "vector": "GlobalVarConfig::newInstance" + }, + "ValidSkinNames": { + "vector": "Vector" + }, + "MessagesDirs": { + "Vector": [ + "i18n" + ] + }, + "AutoloadClasses": { + "SkinVector": "SkinVector.php", + "VectorTemplate": "VectorTemplate.php" + }, + "ResourceModules": { + "skins.vector.styles": { + "styles": { + "screen.less": { + "media": "screen" + }, + "screen-hd.less": { + "media": "screen and (min-width: 982px)" + } + } + }, + "skins.vector.js": { + "scripts": [ + "collapsibleTabs.js", + "vector.js" + ], + "position": "top", + "dependencies": [ + "jquery.throttle-debounce", + "jquery.tabIndex" + ] + } + }, + "ResourceFileModulePaths": { + "localBasePath": "", + "remoteSkinPath": "Vector" + }, + "ResourceModuleSkinStyles": { + "vector": { + "jquery.tipsy": "skinStyles/jquery.tipsy.less", + "jquery.ui.core": [ + "skinStyles/jquery.ui/jquery.ui.core.css", + "skinStyles/jquery.ui/jquery.ui.theme.css" + ], + "jquery.ui.accordion": "skinStyles/jquery.ui/jquery.ui.accordion.css", + "jquery.ui.autocomplete": "skinStyles/jquery.ui/jquery.ui.autocomplete.css", + "jquery.ui.button": "skinStyles/jquery.ui/jquery.ui.button.css", + "jquery.ui.datepicker": "skinStyles/jquery.ui/jquery.ui.datepicker.css", + "jquery.ui.dialog": "skinStyles/jquery.ui/jquery.ui.dialog.css", + "jquery.ui.menu": "skinStyles/jquery.ui/jquery.ui.menu.css", + "jquery.ui.progressbar": "skinStyles/jquery.ui/jquery.ui.progressbar.css", + "jquery.ui.resizable": "skinStyles/jquery.ui/jquery.ui.resizable.css", + "jquery.ui.selectable": "skinStyles/jquery.ui/jquery.ui.selectable.css", + "jquery.ui.slider": "skinStyles/jquery.ui/jquery.ui.slider.css", + "jquery.ui.spinner": "skinStyles/jquery.ui/jquery.ui.spinner.css", + "jquery.ui.tabs": "skinStyles/jquery.ui/jquery.ui.tabs.css", + "jquery.ui.tooltips": "skinStyles/jquery.ui/jquery.ui.tooltips.css", + "mediawiki.notification": "skinStyles/mediawiki.notification.less", + "+mediawiki.sectionAnchor": "skinStyles/mediawiki.sectionAnchor.less", + "mediawiki.special": "skinStyles/mediawiki.special.less", + "mediawiki.special.preferences": "skinStyles/mediawiki.special.preferences.less" + } + }, + "config": { + "VectorUseSimpleSearch": true, + "VectorUseIconWatch": true + } +}