Subversion Repositories pub

Compare Revisions

No changes between revisions

Ignore whitespace Rev 105 → Rev 106

/wp-js-syntax-highlighter/trunk/loader.js
1,2 → 1,2
//$Rev$ See <http://p.outlyer.net./wordpress/>
if("undefined"==typeof(jQuery)){var s=document.createElement("SCRIPT");s.src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js";s.type="text/javascript";document.getElementsByTagName("HEAD")[0].appendChild(s)}var shLoader={init:function(a){if(a){for(var b in a){this[b]=a[b]}}$(document).ready(function(){shLoader.load()})},load:function(){if(!jQuery){return}var a=this.path+"/sh/styles";var b=this.path+"/sh/scripts";this.detectLanguages();if(0==this.loadURLs.length){return}$('<link rel="stylesheet" href="'+a+'/shCore.css" type="text/css">').appendTo($("head"));$('<link rel="stylesheet" href="'+a+"/shTheme"+this.theme+'.css" type="text/css">').appendTo($("head"));$.ajax({url:b+"/shCore.js",dataType:"script",async:false});$(this.loadURLs).each(function(d,f){$.ajax({url:f,dataType:"script",async:false,})});if("undefined"==typeof(SyntaxHighlighter)){return}for(var c in this.configObj){SyntaxHighlighter.config[c]=this.configObj[c]}for(var c in this.defaultsObj){SyntaxHighlighter.defaults[c]=this.defaultsObj[c]}SyntaxHighlighter.all()},setDefaults:function(a){this.defaultsObj=a},setConfig:function(a){this.configObj=a},detectLanguages:function(){var a=[];var b=/brush: (\w+)/i;$(".brush\\:").each(function(){var d=$(this).attr("class");var c=d.match(b)[1];shLoader.reqLoad(c)})},reqLoad:function(b){var a=null;switch(b){case"cpp":case"c":case"c++":a="Cpp";break;case"c#":case"c-sharp":case"csharp":a="CSharp";break;case"css":a="Css";break;case"delphi":case"pascal":a="Delphi";break;case"java":a="Java";break;case"js":case"jscript":case"javascript":a="JScript";break;case"php":a="Php";break;case"py":case"python":a="Python";break;case"rb":case"ruby":case"rails":case"ror":a="Ruby";break;case"sql":a="Sql";break;case"vb":case"vb.net":a="Vb";break;case"xml":case"html":case"xhtml":case"xslt":a="Xml";break;default:}if(a){if(!this.loaded[a]){this.loadURLs[this.loadURLs.length]=this.path+"/sh/scripts/shBrush"+a+".js";this.loaded[a]=true}}},getDefaults:function(){return this.defaultsObj},getConfig:function(){return this.configObj},theme:"Default",path:"/wp-content/plugins/js-syntax-highlighter",loaded:[],loadURLs:[],configObj:{},defaultsObj:{},};
if("undefined"==typeof(jQuery)){var s=document.createElement("SCRIPT");s.src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js";s.type="text/javascript";document.getElementsByTagName("HEAD")[0].appendChild(s)}var shLoader={init:function(a){if(a){for(var b in a){this[b]=a[b]}}$(document).ready(function(){shLoader.load()})},load:function(){if(!jQuery){return}var a=this.path+"/sh/styles";var b=this.path+"/sh/scripts";this.detectLanguages();if(0==this.loadURLs.length){return}$('<link rel="stylesheet" href="'+a+'/shCore.css" type="text/css">').appendTo($("head"));$('<link rel="stylesheet" href="'+a+"/shTheme"+this.theme+'.css" type="text/css">').appendTo($("head"));$.ajax({url:b+"/shCore.js",dataType:"script",async:false,success:shLoader.apply,})},apply:function(){if("undefined"==typeof(SyntaxHighlighter)){return}$(shLoader.loadURLs).each(function(b,c){$.ajax({url:c,dataType:"script",async:false,})});for(var a in this.configObj){SyntaxHighlighter.config[a]=this.configObj[a]}for(var a in this.defaultsObj){SyntaxHighlighter.defaults[a]=this.defaultsObj[a]}SyntaxHighlighter.all()},setDefaults:function(a){this.defaultsObj=a},setConfig:function(a){this.configObj=a},detectLanguages:function(){var a=[];var b=/brush: ?(\w+)/i;$(".brush\\:").each(function(){var d=$(this).attr("class");var c=d.match(b)[1];shLoader.reqLoad(c)})},reqLoad:function(b){var a=null;switch(b){case"cpp":case"c":case"c++":a="Cpp";break;case"c#":case"c-sharp":case"csharp":a="CSharp";break;case"css":a="Css";break;case"delphi":case"pascal":a="Delphi";break;case"java":a="Java";break;case"js":case"jscript":case"javascript":a="JScript";break;case"php":a="Php";break;case"py":case"python":a="Python";break;case"rb":case"ruby":case"rails":case"ror":a="Ruby";break;case"sql":a="Sql";break;case"vb":case"vb.net":a="Vb";break;case"xml":case"html":case"xhtml":case"xslt":a="Xml";break;default:}if(a){if(!this.loaded[a]){this.loadURLs[this.loadURLs.length]=this.path+"/sh/scripts/shBrush"+a+".js";this.loaded[a]=true}}},getDefaults:function(){return this.defaultsObj},getConfig:function(){return this.configObj},theme:"Default",path:"/wp-content/plugins/js-syntax-highlighter",loaded:[],loadURLs:[],configObj:{},defaultsObj:{},};
/wp-js-syntax-highlighter/trunk/loader.full.js
53,7 → 53,10
}
$(document).ready(function() { shLoader.load(); });
}, // }}} // init()
load: function() { // {{{
/** {{{ // load() Actually load SyntaxHighlighter, if required
* Only if some code block is found it will be loaded.
*/
load: function() {
if (!jQuery) { return; }
var cssPath = this.path+'/sh/styles';
var jsPath = this.path+'/sh/scripts';
76,10 → 79,17
$.ajax({ // Like jQuery.getScript() but in synchronous mode
url: jsPath+'/shCore.js',
dataType: 'script',
async: false
async: false, // If loaded asynchronously sh fails. Why? No clue.
success: shLoader.apply,
});
}, // }}} // load()
apply: function() { // Initialise the SyntaxHighlighter plugin
if ('undefined' == typeof(SyntaxHighlighter)) {
// Something failed...
return;
}
 
$(this.loadURLs).each(function (i,e) {
$(shLoader.loadURLs).each(function (i,e) {
$.ajax({
url: e,
dataType: 'script',
86,12 → 96,6
async: false,
});
});
 
if ('undefined' == typeof(SyntaxHighlighter)) {
// Something failed...
return;
}
 
// Set any configuration and defaults
for (var prop in this.configObj) {
SyntaxHighlighter.config[prop] = this.configObj[prop];
100,9 → 104,9
SyntaxHighlighter.defaults[prop] = this.defaultsObj[prop];
}
 
// FIXME: It won't load sometimes. Why?
// FIXME: This used to fail on first load, it seems to fail from time to time now
SyntaxHighlighter.all(); // Actually apply syntax highlighting
}, // }}} // load()
}, // }}} // apply()
/** {{{ // setDefaults() // Sets the defaults object of SyntaxHighlighter
* Note the defaults won't be applied until init() is called and SyntaxHighlighter
* loaded.
124,8 → 128,9
}, // }}} // setConfig
detectLanguages: function() { // {{{ // Find any language used in the page
var detected = [];
var re = /brush: (\w+)/i;
$('.brush\\:').each(function() {
var re = /brush: ?(\w+)/i;
//$('.brush\\:') would not match stuff like 'brush:css' (but it will match 'brush: css')
$('[class^=brush:]').each(function() {
var cn = $(this).attr('class');
var lang = cn.match(re)[1];
shLoader.reqLoad(lang);
/wp-js-syntax-highlighter/trunk/plugin.php
5,7 → 5,7
* Plugin URI: http://p.outlyer.net./wordpress/
* Feed URI:
* Description: Adds automatic syntax highlighting of code from JavaScript. Using Alex Gorbatchev's SyntaxHighlighter code. It requires jQuery to work properly, which will be loaded from javascript if not present. It tries to make it less intrusive and allow for valid XHTML. See js/loader.full.js for details.
* Version: 0.4.0+3.0.83
* Version: 0.4.1+3.0.83
* Author: Toni Corvera
* Author URI: http://corvera.eu./
*/ // $Id$
/wp-js-syntax-highlighter/trunk/ChangeLog.txt
10,6 → 10,8
* Allow complete initialisation and theming
* Include SyntaxHighlighter version in version string
* Added Makefile
0.4.1: Delay call to SyntaxHighlighter.all() further
0.4.1: Allow no-space between brush and language in class
 
0.3.0 (2010-12-06):
* Port loader to jQuery instead of base2.DOM
/wp-js-syntax-highlighter/trunk
Property changes:
Modified: svn:mergeinfo
Merged /wp-js-syntax-highlighter/branches/0.4.1+3.0.83:r105