UNPKG

818 BJavaScriptView Raw
1/**
2 * The LESS plugin
3 */
4define('seajs/plugin-less', ['./plugin-base', 'less'], function(require) {
5
6 var plugin = require('./plugin-base')
7 var less = require('less')
8
9
10 plugin.add({
11 name: 'less',
12
13 ext: ['.less'],
14
15 fetch: function(url, callback) {
16 less.Parser.importer(url, [], function(e, tree) {
17 createCSS(tree.toCSS(), url.replace(/[^\w]/g, '_'))
18 callback()
19 }, {})
20 }
21 })
22
23
24 function createCSS(cssText, id) {
25 var elem = document.getElementById(id)
26 if (elem) return
27
28 elem = document.createElement('style')
29 elem.id = id
30 document.getElementsByTagName('head')[0].appendChild(elem)
31
32 if (elem.styleSheet) { // IE
33 elem.styleSheet.cssText = cssText
34 } else { // W3C
35 elem.appendChild(document.createTextNode(cssText))
36 }
37 }
38
39});
40