「MediaWiki:Gadget-site.js」の版間の差分
提供: ひつじ小屋別館2代目
(Update from Snippets/Hide_prefix_in_category) |
|||
(2人の利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | /* | + | /*global mw, $, importScript, jsMsg */ |
// Add "mainpage" class to the body element | // Add "mainpage" class to the body element | ||
5行目: | 5行目: | ||
mw.config.get( 'wgMainPageTitle' ) === mw.config.get( 'wgPageName' ) && | mw.config.get( 'wgMainPageTitle' ) === mw.config.get( 'wgPageName' ) && | ||
mw.config.get( 'wgAction' ) === 'view' | mw.config.get( 'wgAction' ) === 'view' | ||
− | ) | + | ) { |
− | { | ||
$( document ).ready( function() { | $( document ).ready( function() { | ||
document.body.className += ' mainpage'; | document.body.className += ' mainpage'; | ||
13行目: | 12行目: | ||
// Editpage scripts | // Editpage scripts | ||
− | if( mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit' ) { | + | if ( mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit' ) { |
importScript( 'MediaWiki:Editpage.js' ); | importScript( 'MediaWiki:Editpage.js' ); | ||
} | } | ||
19行目: | 18行目: | ||
/* End of extra pages */ | /* End of extra pages */ | ||
− | /* Test if an element has a certain class | + | /** |
+ | * Test if an element has a certain class | ||
* | * | ||
− | * | + | * Based on script from en.wikipedia.org, 2008-09-15. |
+ | * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]] | ||
* | * | ||
− | * | + | * @deprecated since MediaWiki 1.17: Use jQuery(element).hasClass instead |
− | |||
*/ | */ | ||
− | var hasClass = ( function() { | + | var hasClass = ( function () { |
var reCache = {}; | var reCache = {}; | ||
− | return function( element, className ) { | + | return function ( element, className ) { |
return ( reCache[className] ? reCache[className] : ( reCache[className] = new RegExp( "(?:\\s|^)" + className + "(?:\\s|$)" ) ) ).test( element.className ); | return ( reCache[className] ? reCache[className] : ( reCache[className] = new RegExp( "(?:\\s|^)" + className + "(?:\\s|$)" ) ) ).test( element.className ); | ||
}; | }; | ||
})(); | })(); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
/** | /** | ||
* Hide prefix in category | * Hide prefix in category | ||
* | * | ||
− | * @source | + | * @source www.mediawiki.org/wiki/Snippets/Hide_prefix_in_category |
− | * @rev | + | * @rev 5 |
− | |||
*/ | */ | ||
− | + | ||
− | + | var prefix = $.trim( $( '#mw-cat-hideprefix' ).text() ) || ( mw.config.get( 'wgTitle' ) + '/' ); | |
− | + | $( '#mw-pages' ).find( 'a' ).text( function ( i, val ) { | |
− | + | return val.slice( 0, prefix.length ) === prefix ? val.slice( prefix.length ) : val; | |
− | + | } ); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | }); | ||
/** | /** | ||
148行目: | 50行目: | ||
* @author: Happy-melon | * @author: Happy-melon | ||
*/ | */ | ||
− | if( mw.config.get( 'wgPageName' ).match( /^MediaWiki_roadmap/ ) ) { | + | if ( mw.config.get( 'wgPageName' ).match( /^MediaWiki_roadmap/ ) ) { |
− | mw.loader. | + | mw.loader.load( 'ext.codereview.tooltips' ); |
} | } | ||
2014年3月12日 (水) 08:26時点における最新版
/*global mw, $, importScript, jsMsg */
// Add "mainpage" class to the body element
if (
mw.config.get( 'wgMainPageTitle' ) === mw.config.get( 'wgPageName' ) &&
mw.config.get( 'wgAction' ) === 'view'
) {
$( document ).ready( function() {
document.body.className += ' mainpage';
});
}
// Editpage scripts
if ( mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit' ) {
importScript( 'MediaWiki:Editpage.js' );
}
/* End of extra pages */
/**
* Test if an element has a certain class
*
* Based on script from en.wikipedia.org, 2008-09-15.
* Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
*
* @deprecated since MediaWiki 1.17: Use jQuery(element).hasClass instead
*/
var hasClass = ( function () {
var reCache = {};
return function ( element, className ) {
return ( reCache[className] ? reCache[className] : ( reCache[className] = new RegExp( "(?:\\s|^)" + className + "(?:\\s|$)" ) ) ).test( element.className );
};
})();
/**
* Hide prefix in category
*
* @source www.mediawiki.org/wiki/Snippets/Hide_prefix_in_category
* @rev 5
*/
var prefix = $.trim( $( '#mw-cat-hideprefix' ).text() ) || ( mw.config.get( 'wgTitle' ) + '/' );
$( '#mw-pages' ).find( 'a' ).text( function ( i, val ) {
return val.slice( 0, prefix.length ) === prefix ? val.slice( prefix.length ) : val;
} );
/**
* Load the CodeReview 'tooltips' gadget on [[MediaWiki roadmap]] subpages,
* so it's available for the revision reports where it's particularly useful
* @author: Happy-melon
*/
if ( mw.config.get( 'wgPageName' ).match( /^MediaWiki_roadmap/ ) ) {
mw.loader.load( 'ext.codereview.tooltips' );
}
/**
* Load withJS and withCSS
*
* @source: www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL#Load_withJS_and_withCSS
* @rev: 1
* @author: Krinkle
*/
/* withJS */
var extraJS = mw.util.getParamValue( 'withJS' );
if ( extraJS ) {
// Disallow some characters in file name
if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) {
importScript( extraJS );
// Don't use alert but the jsMsg system. Run jsMsg only once the DOM is ready.
} else {
$( document ).ready( function() {
jsMsg( extraJS + ' script not allowed to be loaded.', 'error' );
} );
}
}
/* withCSS */
var extraCSS = mw.util.getParamValue( 'withCSS' );
if ( extraCSS ) {
// Disallow some characters in file name
if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) {
importStylesheet( extraCSS );
// Don't use alert but the jsMsg system. Run jsMsg only once the DOM is ready.
} else {
$( document ).ready( function() {
jsMsg( extraCSS + ' stylesheet not allowed to be loaded.', 'error' );
} );
}
}