User:Canadabonk/sandbox.js

From TestWiki
Revision as of 16:37, 12 June 2024 by Canadabonk (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
$(document).ready(function(){
	const
		mainBackgroundColor = $('body').css('background-color'),
		contentBackgroundColor = $('#mw-content').css('background-color'),
		fontColor = $('#mw-content').css('color'),
		linkColor = $('#content a:not(.new').css('color');
		
	function cssVar(name, val, desc) {
		this.name = name;
		this.val = val;
		this.desc = desc ? desc : "none";
	}
	
	const variablesList = {
		mainbgcolor: new cssVar('--main-background-color', mainBackgroundColor),
		contentbgcolor: new cssVar('--content-background-color', contentBackgroundColor),
		fontcolor: new cssVar('--font-color', fontColor),
		linkcolor: new cssVar('--link-color', linkColor)
	};
	
	function variablesListCSS() {
		text = "";
		for (var x in variablesList){
			text += `${variablesList[x].name}: ${variablesList[x].val};
`;
		}
		return text;
	}
		
	const newCSSVariables = 
`:root {
	${variablesListCSS()}
}`;
	
	mw.util.addCSS(newCSSVariables);
	
	$('#printCSSVars').html(`<pre>
	${newCSSVariables}
	</pre>`);
		
});