1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- (function() {
- var LessPlugin;
- module.exports = LessPlugin = (function() {
- LessPlugin.identifier = 'less';
- LessPlugin.version = '1.0';
- function LessPlugin(window, host) {
- this.window = window;
- this.host = host;
- }
- LessPlugin.prototype.reload = function(path, options) {
- if (this.window.less && this.window.less.refresh) {
- if (path.match(/\.less$/i)) {
- return this.reloadLess(path);
- }
- if (options.originalPath.match(/\.less$/i)) {
- return this.reloadLess(options.originalPath);
- }
- }
- return false;
- };
- LessPlugin.prototype.reloadLess = function(path) {
- var i, len, link, links;
- links = (function() {
- var i, len, ref, results;
- ref = document.getElementsByTagName('link');
- results = [];
- for (i = 0, len = ref.length; i < len; i++) {
- link = ref[i];
- if (link.href && link.rel.match(/^stylesheet\/less$/i) || (link.rel.match(/stylesheet/i) && link.type.match(/^text\/(x-)?less$/i))) {
- results.push(link);
- }
- }
- return results;
- })();
- if (links.length === 0) {
- return false;
- }
- for (i = 0, len = links.length; i < len; i++) {
- link = links[i];
- link.href = this.host.generateCacheBustUrl(link.href);
- }
- this.host.console.log("LiveReload is asking LESS to recompile all stylesheets");
- this.window.less.refresh(true);
- return true;
- };
- LessPlugin.prototype.analyze = function() {
- return {
- disable: !!(this.window.less && this.window.less.refresh)
- };
- };
- return LessPlugin;
- })();
- }).call(this);
|