Dynamic
by TimPietrusky
HTML
<script src="http://lesscss.googlecode.com/files/less-1.3.0.min.js"></script>
CSS
@shit: #000;
@homo: #000;
body {
background:@shit;
}
JavaScript
var style = $('head style[type="text/css"]');
var clone = style.clone();
style.attr('type', 'text/less');
less.refreshStyles();
// Get the content of the stylesheet
var content = clone.text();
// Find & replace variables
content = content.replace(/(@[\w]*)[:]{1}[\s]*([\w#\\(\\)]*)[\s]*[;]{1}/gim, callback);
// Clone the clone
var new_clone = clone.clone();
// Set new content
new_clone.text(content);
// Add less type
new_clone.attr('type', 'text/less');
// Add to body
style.replaceWith(new_clone);
// Parse with less
less.refreshStyles();
function callback(match, key, value) {
if (key == '@shit') {
var myregexp = new RegExp('[:]{1}[\\s]*[\\w#\\(\\)]*', "gim");
return match.replace(myregexp, ':' + '#616161');
} else {
return match;
}
}