template = function(md, opts = {}) {
const assignRE = /\$([a-zA-Z0-9_]+)[\s]*=/g;
const symRE = /\$([a-zA-Z0-9_]+)/g;
let fun = (strs, ...vals) => {
try {
return RiTa.RiScript.eval((strs.reduce
((a, s, i) => a + s + (vals[i] || ''), '')), thisVarsObj);
}
catch (e) {
console.error('[RiScript] ' + e.message);
return '[RiScript] ' + e.message;
}
}
if (!md) return fun;
return (s, ...v) => {
let res = md`${fun(s, v)}`;
Array.from(res.children).forEach((e,i) => {
if (e.tagName === 'P') e.style['white-space'] = 'break-spaces';
});
return res;
}
}