Sha256: 1eeb403703c239d324c316ca61b5de91e9ee755d8674dc33a469aa8d3b428f11
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
# LessAssets helper methods to render less css. # class window.LessAssets # Render less css with its variables to plain css # # @param [String] css the less css # @param [Object] variables the less variables # @param [HTMLDocument] element a target element to add the styles # @return [String] the css styles # @render: (name, css, variables = {}, doc = undefined) -> result = undefined newVariables = {} # Replace existing less variables # for variable, value of variables existing = ///@#{ variable }:\s*[^;]+;/// if existing.test css css = css.replace existing, "@#{ variable }: #{ value };" else newVariables[variable] = value # Add bew less variables # style = '' style += "@#{ variable }: #{ value };\n" for variable, value of newVariables style += css # Compile the less stylesheet # less.Parser().parse style, (err, tree) -> throw err if err result = tree.toCSS() # Add a style tag with the css when a document is given # if doc instanceof HTMLDocument id = "less_asset_#{ name.replace(/[^A-Za-z0-1_/-]/, '').replace(/[/-]/, '_') }" style = document.getElementById(id) || document.createElement 'style' style.type = 'text/css' style.id = id rules = document.createTextNode result if style.styleSheet style.styleSheet.cssText = rules.nodeValue else while style.hasChildNodes() style.removeChild style.lastChild style.appendChild rules head = document.getElementsByTagName('head')[0] head.appendChild(style); result
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
less_assets-0.2.0 | vendor/assets/javascripts/less_assets.js.coffee |