User:Dlrohrer2003/validate-css.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* Validate CSS
 * =============================================================================
 * Description: Add a tab to a CSS validation service on User and MediaMiki
 *              namespace CSS pages. This Script is inspired by and loosely
 *              based on a Wikimedia Commons gadget:
 *              [[Commons:MediaWiki:Gadget-CSSValidate.js]]
 *
 *      Author: [[User:Dlrohrer2003]]
 *
 *  Categories: [[Category:Wikipedia scripts]]
 */

mw.loader.using( [ 'mediawiki.util' ], function() {
	'use strict';

	const conf = mw.config.get( [ 'wgPageName', 'wgPageContentModel', 'wgServer' ] );

	if ( ( conf.wgPageContentModel === 'css' || conf.wgPageContentModel === 'sanitized-css' ) && !document.getElementById( 'ca-validate-css' ) ) {

		const pageURL = window.location.protocol + conf.wgServer + mw.util.getUrl( conf.wgPageName, {action: 'raw', ctype: 'text/css'} );
		const cssValidator = 'https://jigsaw.w3.org/css-validator/validator?' + $.param( { usermedium: 'all', warning: '1', lang: 'en', uri: pageURL } );

		mw.util.addPortletLink( 'p-cactions', cssValidator, 'Validate CSS', 'ca-validate-css', 'Validate CSS', '', null );

	}
});