<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://w.hil.su/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AMailGik%2FPrism.js</id>
		<title>Участник:MailGik/Prism.js - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://w.hil.su/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AMailGik%2FPrism.js"/>
		<link rel="alternate" type="text/html" href="https://w.hil.su/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:MailGik/Prism.js&amp;action=history"/>
		<updated>2026-04-26T23:06:54Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>https://w.hil.su/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:MailGik/Prism.js&amp;diff=2120&amp;oldid=prev</id>
		<title>MailGik: Новая страница: «/**  * Prism: Lightweight, robust, elegant syntax highlighting  * MIT license http://www.opensource.org/licenses/mit-license.php/  * @author Lea Verou http://lea.…»</title>
		<link rel="alternate" type="text/html" href="https://w.hil.su/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:MailGik/Prism.js&amp;diff=2120&amp;oldid=prev"/>
				<updated>2016-08-17T22:56:51Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «/**  * Prism: Lightweight, robust, elegant syntax highlighting  * MIT license http://www.opensource.org/licenses/mit-license.php/  * @author Lea Verou http://lea.…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Prism: Lightweight, robust, elegant syntax highlighting&lt;br /&gt;
 * MIT license http://www.opensource.org/licenses/mit-license.php/&lt;br /&gt;
 * @author Lea Verou http://lea.verou.me&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
(function(){&lt;br /&gt;
&lt;br /&gt;
// Private helper vars&lt;br /&gt;
var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;&lt;br /&gt;
&lt;br /&gt;
var _ = self.Prism = {&lt;br /&gt;
	util: {&lt;br /&gt;
		type: function (o) { &lt;br /&gt;
			return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];&lt;br /&gt;
		},&lt;br /&gt;
		&lt;br /&gt;
		// Deep clone a language definition (e.g. to extend it)&lt;br /&gt;
		clone: function (o) {&lt;br /&gt;
			var type = _.util.type(o);&lt;br /&gt;
&lt;br /&gt;
			switch (type) {&lt;br /&gt;
				case &amp;#039;Object&amp;#039;:&lt;br /&gt;
					var clone = {};&lt;br /&gt;
					&lt;br /&gt;
					for (var key in o) {&lt;br /&gt;
						if (o.hasOwnProperty(key)) {&lt;br /&gt;
							clone[key] = _.util.clone(o[key]);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					&lt;br /&gt;
					return clone;&lt;br /&gt;
					&lt;br /&gt;
				case &amp;#039;Array&amp;#039;:&lt;br /&gt;
					return o.slice();&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			return o;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	languages: {&lt;br /&gt;
		extend: function (id, redef) {&lt;br /&gt;
			var lang = _.util.clone(_.languages[id]);&lt;br /&gt;
			&lt;br /&gt;
			for (var key in redef) {&lt;br /&gt;
				lang[key] = redef[key];&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			return lang;&lt;br /&gt;
		},&lt;br /&gt;
		&lt;br /&gt;
		// Insert a token before another token in a language literal&lt;br /&gt;
		insertBefore: function (inside, before, insert, root) {&lt;br /&gt;
			root = root || _.languages;&lt;br /&gt;
			var grammar = root[inside];&lt;br /&gt;
			var ret = {};&lt;br /&gt;
				&lt;br /&gt;
			for (var token in grammar) {&lt;br /&gt;
			&lt;br /&gt;
				if (grammar.hasOwnProperty(token)) {&lt;br /&gt;
					&lt;br /&gt;
					if (token == before) {&lt;br /&gt;
					&lt;br /&gt;
						for (var newToken in insert) {&lt;br /&gt;
						&lt;br /&gt;
							if (insert.hasOwnProperty(newToken)) {&lt;br /&gt;
								ret[newToken] = insert[newToken];&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					&lt;br /&gt;
					ret[token] = grammar[token];&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			return root[inside] = ret;&lt;br /&gt;
		},&lt;br /&gt;
		&lt;br /&gt;
		// Traverse a language definition with Depth First Search&lt;br /&gt;
		DFS: function(o, callback) {&lt;br /&gt;
			for (var i in o) {&lt;br /&gt;
				callback.call(o, i, o[i]);&lt;br /&gt;
				&lt;br /&gt;
				if (_.util.type(o) === &amp;#039;Object&amp;#039;) {&lt;br /&gt;
					_.languages.DFS(o[i], callback);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	highlightAll: function(async, callback) {&lt;br /&gt;
		var elements = document.querySelectorAll(&amp;#039;code[class*=&amp;quot;language-&amp;quot;], [class*=&amp;quot;language-&amp;quot;] code, code[class*=&amp;quot;lang-&amp;quot;], [class*=&amp;quot;lang-&amp;quot;] code&amp;#039;);&lt;br /&gt;
		_.highlightElements(elements, async === true, callback);&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	highlightElements: function( elements, async, callback ) {&lt;br /&gt;
		for (var i=0, element; element = elements[i++];) {&lt;br /&gt;
			_.highlightElement(element, async === true, callback);&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
		&lt;br /&gt;
	highlightElement: function(element, async, callback) {&lt;br /&gt;
		// Find language&lt;br /&gt;
		var language, grammar, parent = element;&lt;br /&gt;
		&lt;br /&gt;
		while (parent &amp;amp;&amp;amp; !lang.test(parent.className)) {&lt;br /&gt;
			parent = parent.parentNode;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if (parent) {&lt;br /&gt;
			language = (parent.className.match(lang) || [,&amp;#039;&amp;#039;])[1];&lt;br /&gt;
			grammar = _.languages[language];&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (!grammar) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// Set language on the element, if not present&lt;br /&gt;
		element.className = element.className.replace(lang, &amp;#039;&amp;#039;).replace(/\s+/g, &amp;#039; &amp;#039;) + &amp;#039; language-&amp;#039; + language;&lt;br /&gt;
		&lt;br /&gt;
		// Set language on the parent, for styling&lt;br /&gt;
		parent = element.parentNode;&lt;br /&gt;
		&lt;br /&gt;
		if (/pre/i.test(parent.nodeName)) {&lt;br /&gt;
			parent.className = parent.className.replace(lang, &amp;#039;&amp;#039;).replace(/\s+/g, &amp;#039; &amp;#039;) + &amp;#039; language-&amp;#039; + language; &lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var code = element.textContent;&lt;br /&gt;
		&lt;br /&gt;
		if(!code) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		code = code.replace(/&amp;amp;/g, &amp;#039;&amp;amp;amp;&amp;#039;).replace(/&amp;lt;/g, &amp;#039;&amp;amp;lt;&amp;#039;)&lt;br /&gt;
		           .replace(/&amp;gt;/g, &amp;#039;&amp;amp;gt;&amp;#039;).replace(/\u00a0/g, &amp;#039; &amp;#039;);&lt;br /&gt;
		//console.time(code.slice(0,50));&lt;br /&gt;
		&lt;br /&gt;
		var env = {&lt;br /&gt;
			element: element,&lt;br /&gt;
			language: language,&lt;br /&gt;
			grammar: grammar,&lt;br /&gt;
			code: code&lt;br /&gt;
		};&lt;br /&gt;
		&lt;br /&gt;
		_.hooks.run(&amp;#039;before-highlight&amp;#039;, env);&lt;br /&gt;
		&lt;br /&gt;
		if (async &amp;amp;&amp;amp; self.Worker) {&lt;br /&gt;
			var worker = new Worker(_.filename);	&lt;br /&gt;
			&lt;br /&gt;
			worker.onmessage = function(evt) {&lt;br /&gt;
				env.highlightedCode = Token.stringify(JSON.parse(evt.data));&lt;br /&gt;
				env.element.innerHTML = env.highlightedCode;&lt;br /&gt;
				&lt;br /&gt;
				callback &amp;amp;&amp;amp; callback.call(env.element);&lt;br /&gt;
				//console.timeEnd(code.slice(0,50));&lt;br /&gt;
				_.hooks.run(&amp;#039;after-highlight&amp;#039;, env);&lt;br /&gt;
			};&lt;br /&gt;
			&lt;br /&gt;
			worker.postMessage(JSON.stringify({&lt;br /&gt;
				language: env.language,&lt;br /&gt;
				code: env.code&lt;br /&gt;
			}));&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			env.highlightedCode = _.highlight(env.code, env.grammar)&lt;br /&gt;
			env.element.innerHTML = env.highlightedCode;&lt;br /&gt;
			&lt;br /&gt;
			callback &amp;amp;&amp;amp; callback.call(element);&lt;br /&gt;
			&lt;br /&gt;
			_.hooks.run(&amp;#039;after-highlight&amp;#039;, env);&lt;br /&gt;
			//console.timeEnd(code.slice(0,50));&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	highlight: function (text, grammar) {&lt;br /&gt;
		return Token.stringify(_.tokenize(text, grammar));&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	tokenize: function(text, grammar) {&lt;br /&gt;
		var Token = _.Token;&lt;br /&gt;
		&lt;br /&gt;
		var strarr = [text];&lt;br /&gt;
		&lt;br /&gt;
		var rest = grammar.rest;&lt;br /&gt;
		&lt;br /&gt;
		if (rest) {&lt;br /&gt;
			for (var token in rest) {&lt;br /&gt;
				grammar[token] = rest[token];&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			delete grammar.rest;&lt;br /&gt;
		}&lt;br /&gt;
								&lt;br /&gt;
		tokenloop: for (var token in grammar) {&lt;br /&gt;
			if(!grammar.hasOwnProperty(token) || !grammar[token]) {&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			var pattern = grammar[token], &lt;br /&gt;
				inside = pattern.inside,&lt;br /&gt;
				lookbehind = !!pattern.lookbehind || 0;&lt;br /&gt;
			&lt;br /&gt;
			pattern = pattern.pattern || pattern;&lt;br /&gt;
			&lt;br /&gt;
			for (var i=0; i&amp;lt;strarr.length; i++) { // Don’t cache length as it changes during the loop&lt;br /&gt;
				&lt;br /&gt;
				var str = strarr[i];&lt;br /&gt;
				&lt;br /&gt;
				if (strarr.length &amp;gt; text.length) {&lt;br /&gt;
					// Something went terribly wrong, ABORT, ABORT!&lt;br /&gt;
					break tokenloop;&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				if (str instanceof Token) {&lt;br /&gt;
					continue;&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				pattern.lastIndex = 0;&lt;br /&gt;
				&lt;br /&gt;
				var match = pattern.exec(str);&lt;br /&gt;
				&lt;br /&gt;
				if (match) {&lt;br /&gt;
					if(lookbehind) {&lt;br /&gt;
						lookbehind = match[1].length;&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					var from = match.index - 1 + lookbehind,&lt;br /&gt;
					    match = match[0].slice(lookbehind),&lt;br /&gt;
					    len = match.length,&lt;br /&gt;
					    to = from + len,&lt;br /&gt;
						before = str.slice(0, from + 1),&lt;br /&gt;
						after = str.slice(to + 1); &lt;br /&gt;
&lt;br /&gt;
					var args = [i, 1];&lt;br /&gt;
					&lt;br /&gt;
					if (before) {&lt;br /&gt;
						args.push(before);&lt;br /&gt;
					}&lt;br /&gt;
					&lt;br /&gt;
					var wrapped = new Token(token, inside? _.tokenize(match, inside) : match);&lt;br /&gt;
					&lt;br /&gt;
					args.push(wrapped);&lt;br /&gt;
					&lt;br /&gt;
					if (after) {&lt;br /&gt;
						args.push(after);&lt;br /&gt;
					}&lt;br /&gt;
					&lt;br /&gt;
					Array.prototype.splice.apply(strarr, args);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return strarr;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	hooks: {&lt;br /&gt;
		all: {},&lt;br /&gt;
		&lt;br /&gt;
		add: function (name, callback) {&lt;br /&gt;
			var hooks = _.hooks.all;&lt;br /&gt;
			&lt;br /&gt;
			hooks[name] = hooks[name] || [];&lt;br /&gt;
			&lt;br /&gt;
			hooks[name].push(callback);&lt;br /&gt;
		},&lt;br /&gt;
		&lt;br /&gt;
		run: function (name, env) {&lt;br /&gt;
			var callbacks = _.hooks.all[name];&lt;br /&gt;
			&lt;br /&gt;
			if (!callbacks || !callbacks.length) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			for (var i=0, callback; callback = callbacks[i++];) {&lt;br /&gt;
				callback(env);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var Token = _.Token = function(type, content) {&lt;br /&gt;
	this.type = type;&lt;br /&gt;
	this.content = content;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Token.stringify = function(o) {&lt;br /&gt;
	if (typeof o == &amp;#039;string&amp;#039;) {&lt;br /&gt;
		return o;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (Object.prototype.toString.call(o) == &amp;#039;[object Array]&amp;#039;) {&lt;br /&gt;
		return o.map(Token.stringify).join(&amp;#039;&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var env = {&lt;br /&gt;
		type: o.type,&lt;br /&gt;
		content: Token.stringify(o.content),&lt;br /&gt;
		tag: &amp;#039;span&amp;#039;,&lt;br /&gt;
		classes: [&amp;#039;token&amp;#039;, o.type],&lt;br /&gt;
		attributes: {}&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	if (env.type == &amp;#039;comment&amp;#039;) {&lt;br /&gt;
		env.attributes[&amp;#039;spellcheck&amp;#039;] = &amp;#039;true&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	_.hooks.run(&amp;#039;wrap&amp;#039;, env);&lt;br /&gt;
	&lt;br /&gt;
	var attributes = &amp;#039;&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	for (var name in env.attributes) {&lt;br /&gt;
		attributes += name + &amp;#039;=&amp;quot;&amp;#039; + (env.attributes[name] || &amp;#039;&amp;#039;) + &amp;#039;&amp;quot;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;lt;&amp;#039; + env.tag + &amp;#039; class=&amp;quot;&amp;#039; + env.classes.join(&amp;#039; &amp;#039;) + &amp;#039;&amp;quot; &amp;#039; + attributes + &amp;#039;&amp;gt;&amp;#039; + env.content + &amp;#039;&amp;lt;/&amp;#039; + env.tag + &amp;#039;&amp;gt;&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
if (!self.document) {&lt;br /&gt;
	// In worker&lt;br /&gt;
	self.addEventListener(&amp;#039;message&amp;#039;, function(evt) {&lt;br /&gt;
		var message = JSON.parse(evt.data),&lt;br /&gt;
		    lang = message.language,&lt;br /&gt;
		    code = message.code;&lt;br /&gt;
		&lt;br /&gt;
		self.postMessage(JSON.stringify(_.tokenize(code, _.languages[lang])));&lt;br /&gt;
		self.close();&lt;br /&gt;
	}, false);&lt;br /&gt;
	&lt;br /&gt;
	return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prism.languages.css = {&lt;br /&gt;
	&amp;#039;comment&amp;#039;: /\/\*[\w\W]*?\*\//g,&lt;br /&gt;
	&amp;#039;atrule&amp;#039;: /@[\w-]+?(\s+[^;{]+)?(?=\s*{|\s*;)/gi,&lt;br /&gt;
	&amp;#039;url&amp;#039;: /url\(([&amp;quot;&amp;#039;]?).*?\1\)/gi,&lt;br /&gt;
	&amp;#039;selector&amp;#039;: /[^\{\}\s][^\{\}]*(?=\s*\{)/g,&lt;br /&gt;
	&amp;#039;property&amp;#039;: /(\b|\B)[a-z-]+(?=\s*:)/ig,&lt;br /&gt;
	&amp;#039;string&amp;#039;: /(&amp;quot;|&amp;#039;)(\\?.)*?\1/g,&lt;br /&gt;
	&amp;#039;important&amp;#039;: /\B!important\b/gi,&lt;br /&gt;
	&amp;#039;ignore&amp;#039;: /&amp;amp;(lt|gt|amp);/gi,&lt;br /&gt;
	&amp;#039;punctuation&amp;#039;: /[\{\};:]/g&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prism.languages.clike = {&lt;br /&gt;
	&amp;#039;comment&amp;#039;: {&lt;br /&gt;
		pattern: /(^| |\t|\n|[^\\](?=\/\/ ))(\/\*[\w\W]*?\*\/|\/\/.*)/g,&lt;br /&gt;
		lookbehind: true&lt;br /&gt;
	},&lt;br /&gt;
	&amp;#039;string&amp;#039;: /(&amp;quot;|&amp;#039;)(\\?.)*?\1/g,&lt;br /&gt;
	&amp;#039;keyword&amp;#039;: /\b(if|else|while|do|for|return|in|instanceof|function|new|try|catch|finally|null|break|continue)\b/g,&lt;br /&gt;
	&amp;#039;boolean&amp;#039;: /\b(true|false)\b/g,&lt;br /&gt;
	&amp;#039;number&amp;#039;: /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,&lt;br /&gt;
	&amp;#039;operator&amp;#039;: /[-+]{1,2}|!|=?&amp;amp;lt;|=?&amp;amp;gt;|={1,2}|(&amp;amp;amp;){1,2}|\|?\||\?|\*|\//g,&lt;br /&gt;
	&amp;#039;ignore&amp;#039;: /&amp;amp;(lt|gt|amp);/gi,&lt;br /&gt;
	&amp;#039;punctuation&amp;#039;: /[{}[\];(),.:]/g&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prism.languages.javascript = Prism.languages.extend(&amp;#039;clike&amp;#039;, {&lt;br /&gt;
	&amp;#039;keyword&amp;#039;: /\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|catch|finally|null|break|continue)\b/g,&lt;br /&gt;
	&amp;#039;number&amp;#039;: /\b(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g,&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
Prism.languages.insertBefore(&amp;#039;javascript&amp;#039;, &amp;#039;keyword&amp;#039;, {&lt;br /&gt;
	&amp;#039;regex&amp;#039;: {&lt;br /&gt;
		pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,&lt;br /&gt;
		lookbehind: true&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prism.languages.lua = Prism.languages.extend(&amp;#039;clike&amp;#039;, {&lt;br /&gt;
	&amp;#039;keyword&amp;#039;: /\b(break|do|else|elseif|end|for|function|goto|if|in|local|nil|repeat|return|then|until|while|\.\.\.)\b/g,&lt;br /&gt;
	&amp;#039;number&amp;#039;: /\b(-?0x\d*[\da-f]+|nan|-?inf)\b/g,&lt;br /&gt;
	&amp;#039;comment&amp;#039;: /\-\-(\[\[[\w\W]*?\]\]|.*)/g,&lt;br /&gt;
	&amp;#039;string&amp;#039;: /(?:(&amp;quot;|&amp;#039;)(\\?.)*?\1)|(?:\[\[([^\]]*)\]\])/g,&lt;br /&gt;
	&amp;#039;operator&amp;#039;: /[-+]|~=|=?&amp;amp;lt;|=?&amp;amp;gt;|={1,2}|\b(and|or|not)\b|\b#|\.\.|%|\^|\*|\//g,&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* MediaWiki compatibility */&lt;br /&gt;
mw.hook( &amp;#039;wikipage.content&amp;#039; ).add( function( $content ) {&lt;br /&gt;
	$content.find( &amp;#039;pre.mw-js&amp;#039; ).addClass( &amp;#039;mw-code&amp;#039; ).wrapInner( &amp;#039;&amp;lt;code class=&amp;quot;language-javascript&amp;quot; /&amp;gt;&amp;#039; );&lt;br /&gt;
	$content.find( &amp;#039;pre.mw-css&amp;#039; ).addClass( &amp;#039;mw-code&amp;#039; ).wrapInner( &amp;#039;&amp;lt;code class=&amp;quot;language-css&amp;quot; /&amp;gt;&amp;#039; );&lt;br /&gt;
	$content.find( &amp;#039;pre.mw-lua, pre.mw-script&amp;#039; ).addClass( &amp;#039;mw-code&amp;#039; ).wrapInner( &amp;#039;&amp;lt;code class=&amp;quot;language-lua&amp;quot; /&amp;gt;&amp;#039; );&lt;br /&gt;
	$content.find( &amp;#039;code.mw-js&amp;#039; ).addClass( &amp;#039;mw-code language-javascript&amp;#039; );&lt;br /&gt;
	$content.find( &amp;#039;code.mw-css&amp;#039; ).addClass( &amp;#039;mw-code language-css&amp;#039; );&lt;br /&gt;
	$content.find( &amp;#039;code.mw-lua, code.mw-script&amp;#039; ).addClass( &amp;#039;mw-code language-lua&amp;#039; );&lt;br /&gt;
	&lt;br /&gt;
	var $elements = $content.find( &amp;#039;code[class*=&amp;quot;language-&amp;quot;], [class*=&amp;quot;language-&amp;quot;] code&amp;#039; );&lt;br /&gt;
	if ( $elements.length ) {&lt;br /&gt;
		Prism.highlightElements( $elements.get() );&lt;br /&gt;
	}&lt;br /&gt;
} );&lt;/div&gt;</summary>
		<author><name>MailGik</name></author>	</entry>

	</feed>