Hi Guys,

I thought i'd post a sample using <cfscript language="javascript">

In this example i'm using the popular http://www.lesscss.org/

Note how easy it is to do server side javascript this is a simple UDF
which wraps the less parser all you need to do is download the js and
adjust the js path

Yes its crude in that you wouldn't want to use an inline style tag and
ideally read and write to a file but shows how easy it is to do the
main bit, i picked some random less so you can see whats happening

A

<cfsavecontent variable="csstoparse">
// Less CSS is awesome http://www.lesscss.org/

//Single line comments valid in less but don't show up in CSS neat huh

@base: #f938ab;

.box {
  border-color: lighten(@base, 40%);
}

@nice-blue: #5B83AD;
@light-blue: @nice-blue + #111;

#header { color: @light-blue; }

/*Mixin*/
.bordered {
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
#menu a {
  color: #111;
  .bordered;
}
.post a {
  color: red;
  .bordered;
}
.post b {
  color: red;
  .bordered;
}
</cfsavecontent>

<cffunction name="lesscssparse">
        <cfargument name="css" type="string" required="true">
        <cfargument name="pathtolesscss" default="/Users/alex/Sites/wwwroot/
test/lesscss.js" required="false">
        <cfscript language="javascript">
                load($cf.get("pathtolesscss"));
                var parser = new(less.Parser);
                var result='';
                parser.parse($cf.get("css"), function (err, tree) { if (err)
console(err);
                                result=tree.toCSS({ compress: true });  // 
Minify CSS output as
well otherwise leave the { compress: true } out :-)
                                $cf.tocfml("result")});
        </cfscript>
        <cfreturn result>
</cffunction>

<cfoutput>
<style>
#lesscssparse(csstoparse)#
</style>
</cfoutput>

Neat huh

Alex

-- 
online documentation: http://openbd.org/manual/
   google+ hints/tips: https://plus.google.com/115990347459711259462
     http://groups.google.com/group/openbd?hl=en

     Join us @ http://www.OpenCFsummit.org/ Dallas, Feb 2012

Reply via email to