mirror of
https://github.com/TiddlyWiki/TiddlyWiki5.git
synced 2026-04-28 06:04:37 +00:00
Move the editions into a subfolder
This commit is contained in:
58
editions/tw2/source/tiddlywiki/jquery/plugins/obsolete/jquery.tw.macro.js
Executable file
58
editions/tw2/source/tiddlywiki/jquery/plugins/obsolete/jquery.tw.macro.js
Executable file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
jquery.tw.macro.js
|
||||
macro parameter expansion
|
||||
*/
|
||||
(function($) {
|
||||
$.tw.extend({
|
||||
expandMacroParams: function(params) {
|
||||
// expand the macro parameters into a name:value hash
|
||||
// all parameters are also given a numeric name, starting at 1
|
||||
var opts = {};
|
||||
var unnamed = 1;
|
||||
var name,val;
|
||||
var t = $.trim(params);
|
||||
var s = 0;
|
||||
var i = findNakedSpace(t,s);
|
||||
var param = i==-1 ? t.substr(s) : t.substring(s,i);
|
||||
while(true) {
|
||||
var ci = param.indexOf(':');
|
||||
if(ci==-1) {
|
||||
// parameter is unnamed
|
||||
name = param ? unnamed++ : null;
|
||||
val = param;
|
||||
} else {
|
||||
name = param.substr(0,ci);
|
||||
val = param.substr(ci+1);
|
||||
}
|
||||
val = $.trim(val);
|
||||
if(val.charAt(0)=='"' && val.charAt(val.length-1)=='"') {
|
||||
val = val.substr(1,val.length-2);
|
||||
}
|
||||
if(name)
|
||||
opts[name] = val;
|
||||
if(i==-1)
|
||||
break;
|
||||
s = i+1;
|
||||
i = findNakedSpace(t,s);
|
||||
param = i==-1 ? t.substr(s) : t.substring(s,i);
|
||||
}
|
||||
return opts;
|
||||
}
|
||||
});
|
||||
|
||||
// Private functions.
|
||||
function findNakedSpace(text,start) {
|
||||
// find the next space not surrounded by quotes
|
||||
var d = text.indexOf(' ',start);
|
||||
if(d==-1)
|
||||
return -1;
|
||||
var qs = text.indexOf('"',start);
|
||||
if(qs==-1 || qs > d)
|
||||
return d;
|
||||
var qe = text.indexOf('"',qs+1);
|
||||
if(qe==-1)
|
||||
return d;
|
||||
return findNakedSpace(text,qe+1);
|
||||
}
|
||||
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user