<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=MyWiki%3AWikiProject_User_scripts%2FScripts%2FSyntax_highlighter</id>
	<title>MyWiki:WikiProject User scripts/Scripts/Syntax highlighter - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=MyWiki%3AWikiProject_User_scripts%2FScripts%2FSyntax_highlighter"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=MyWiki:WikiProject_User_scripts/Scripts/Syntax_highlighter&amp;action=history"/>
	<updated>2026-04-22T17:57:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=MyWiki:WikiProject_User_scripts/Scripts/Syntax_highlighter&amp;diff=12289745&amp;oldid=prev</id>
		<title>imported&gt;Omegatron at 01:43, 4 April 2008</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=MyWiki:WikiProject_User_scripts/Scripts/Syntax_highlighter&amp;diff=12289745&amp;oldid=prev"/>
		<updated>2008-04-04T01:43:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Syntax highlighter ==&lt;br /&gt;
&lt;br /&gt;
This meta-script highlights anything that looks like css code inside pre tags by giving a class to each bit. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;A syntax highlighter is built into the site now, displaying on .js and .css pages.&amp;#039;&amp;#039;&amp;#039;  Deprecate this? — [[User:Omegatron|Omegatron]] 01:43, 4 April 2008 (UTC)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Makes it much easier to read. Use your monobook.css to format your monobook.css.  :-)&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s not perfect, and could be extended to do javascript, too.  Please fix it and make it better. (I&amp;#039;ve done a first example for this. -- [[User:Olliminatore|Olliminatore]])&lt;br /&gt;
&lt;br /&gt;
Sort of by [[User:Omegatron]], but &amp;#039;&amp;#039;heavily&amp;#039;&amp;#039; based on [http://simon.incutio.com/js/syntaxHighlight.html Simon Willison&amp;#039;s script].  Other related projects? [http://www.codeproject.com/jscript/highlight.asp] [http://www.dreamprojections.com/SyntaxHighlighter/ dp.SyntaxHighlighter] has some regexps for javascript highlighting.&lt;br /&gt;
&lt;br /&gt;
== Javascript ==&lt;br /&gt;
Add this to your user javascript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
&lt;br /&gt;
 if(document.title.indexOf(&amp;quot;.js&amp;quot;) == -1)     //   Ignore pages that end in .js&lt;br /&gt;
  addOnloadHook(function () {&lt;br /&gt;
  /* CSS syntax highlighting */&lt;br /&gt;
     multicommentRE = new RegExp(&amp;#039;(/\\*[\\s\\S]*?\\*/)&amp;#039;, &amp;#039;g&amp;#039;);&lt;br /&gt;
     ruleRE = new RegExp(&amp;#039;([^\\{]+)\\{([^\\}]+)\\}&amp;#039;, &amp;#039;g&amp;#039;);&lt;br /&gt;
     idselectorRE = new RegExp(&amp;#039;(#[a-zA-Z0-9\-\_]+)\\b&amp;#039;, &amp;#039;g&amp;#039;);&lt;br /&gt;
     classselectorRE = new RegExp(&amp;#039;(\\.[a-zA-Z0-9\-\_]+)\\b&amp;#039;, &amp;#039;g&amp;#039;);&lt;br /&gt;
     pairRE = new RegExp(&amp;#039;([a-zA-Z-]+):([^;]+);&amp;#039;, &amp;#039;g&amp;#039;);&lt;br /&gt;
     css = document.getElementsByTagName(&amp;#039;pre&amp;#039;);&lt;br /&gt;
     for (i = 0; i &amp;lt; css.length; i++) {&lt;br /&gt;
       c = css[i];&lt;br /&gt;
       content = c.innerHTML;&lt;br /&gt;
       content=content.replace(multicommentRE, &amp;#039;&amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;&amp;#039;);&lt;br /&gt;
       content = content.replace(ruleRE, function(text, selector, body) {&lt;br /&gt;
         selector = selector.replace(idselectorRE, &amp;#039;&amp;lt;span class=&amp;quot;idselector&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;&amp;#039;);&lt;br /&gt;
         selector = selector.replace(classselectorRE, &amp;#039;&amp;lt;span class=&amp;quot;classselector&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;&amp;#039;);&lt;br /&gt;
         body = body.replace(pairRE, &amp;#039;&amp;lt;span class=&amp;quot;property&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;:&amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;$2&amp;lt;/span&amp;gt;;&amp;#039;);&lt;br /&gt;
         return selector + &amp;#039;{&amp;#039; + body + &amp;#039;}&amp;#039;;&lt;br /&gt;
       });&lt;br /&gt;
       c.innerHTML = content;&lt;br /&gt;
     }&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
For additional JavaScript-Code (with optional gutter for line-numbers):&lt;br /&gt;
&lt;br /&gt;
  else { /* JS syntax highlighting */&lt;br /&gt;
    {{User:Olliminatore/shCore.js}}&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
Add this to your user CSS to style the different code bits.  Adjust to taste.&lt;br /&gt;
&lt;br /&gt;
/*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;*/&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighting style */&lt;br /&gt;
&lt;br /&gt;
pre span.idselector {&lt;br /&gt;
    color: red;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pre span.classselector {&lt;br /&gt;
    color: green;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pre span.property {&lt;br /&gt;
    color: blue;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pre span.value {&lt;br /&gt;
    color: orange;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pre span.comment {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pre {&lt;br /&gt;
    background: white;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;*/&lt;br /&gt;
&lt;br /&gt;
Additional for CSS-Code:&lt;br /&gt;
&lt;br /&gt;
/*&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;*/&lt;br /&gt;
&lt;br /&gt;
/* Extreme Syntax highlighting style */&lt;br /&gt;
&lt;br /&gt;
/* Main style for the table */&lt;br /&gt;
.dp-highlighter { width: 100%; overflow: auto; line-height: 100% !important; margin: 18px 0px 18px 0px; padding:3px 0 3px 0;}&lt;br /&gt;
.dp-highlighter table {width: 100%; margin: 2px 0px 2px 0px; border-collapse: collapse; border-bottom: 2px solid #eee; background-color: #fff;}&lt;br /&gt;
.dp-highlighter td { font-family: Courier New; font-size: 11px;}&lt;br /&gt;
/* Gutter with line number */&lt;br /&gt;
.dp-highlighter .gutter { padding-right: 5px; padding-left: 10px; width: 5px; background-color: #eee; border-right: 1px solid gray; color: gray; text-align: right; vertical-align: top;}&lt;br /&gt;
/* Single line style */&lt;br /&gt;
.dp-highlighter .line1, .line2 { padding-left: 10px; border-bottom: 1px solid #F7F7F7; white-space:nowrap;}&lt;br /&gt;
.dp-highlighter .line2 { background-color: #F7F7F7;}&lt;br /&gt;
/* Language specific styles */&lt;br /&gt;
.dp-c .comment { color: green; }&lt;br /&gt;
.dp-c .string { color: #69C; }&lt;br /&gt;
.dp-c .preprocessor { color: gray; }&lt;br /&gt;
.dp-c .keyword { color: blue; }&lt;br /&gt;
.dp-c .vars { color: #d00; }&lt;br /&gt;
&lt;br /&gt;
/*&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;*/&lt;/div&gt;</summary>
		<author><name>imported&gt;Omegatron</name></author>
	</entry>
</feed>