expless

LESS.js middleware dymanic for express.

Usage no npm install needed!

<script type="module">
  import expless from 'https://cdn.skypack.dev/expless';
</script>

README

Bueno este es unb modulo de nodejs, de rendirizacion de less.js. Su utilizacion es asi. Require consutir un new de esta forma. Se le tienen a;adir diferentes variables. aqui esta una tabla

Variable Descripsion Tipo Pre
scr* Donde usted va acontrurir sus *.less Dir NO
prefix El prefijo en la direccion del servidor String /css
debug Se supone que es un Debubg (Esta en TODO) Boolan false
query El nombre del query apra los UserAgent String ua
encoding Codificacion de los archivos String UTF-8
paths Carpetas adicionales de renderizacion Array NO

El scr, es el mas importate simpre debe estar. Un ejemplo es

var less = new require('expless')({
    scr : __dirname + '/css'	
}),
    app = express();

app.configure(function () {
    // Su confiuracion
    app.use( less.render() );
    app.use(express.static(__dirname + '/public'));
});

Cuando se haga la renderizacion automaticamente, se subiran las siguentes variables, en sus less.

Variable Descripsion y Tipo
@ua-family Nombre del navegador - String
@ua-major Version Mayor - Numbero
@ua-minor Version Menor - Numbero
@ua-patch Parche - Numbero
@ua-os Sistema operativo - String
@ua-webkit Boolsean
@ua-mozilla Boolsean
@ua-chrome Boolsean
@ua-safari Boolsean
@ua-mobile_safari Boolsean
@ua-opera Boolsean
@ua-ie Boolsean
@ua-firefox Boolsean
@ua-version Version - String

Sin embargo usted podra subir mas variables a sus less desde servidor. Aqui ahy un ejemplo

var less = new require('expless')({
    scr : __dirname + '/public'	
});
var nombre = 'variables',
    app = express();
app.configure(function () {
    // Su confiuracion
    app.use( function(res, req, next){
        req[ nombre ] = {
            var1 : true,
            var2 : false,
        }
        next();
    } );
    // Su confiuracion
    app.use( less.render( nombre ) );
    app.use(express.static(__dirname + '/public'));
});

En el less usted tendra asi las variables

@var1 : true;
@var2 : false;

Es preferible que las variables, sean Numeros o Boolseans, para que usted pueda ejecutar el meotod 'when', en less. Un ejemplo con los anteriores es asi.

.negro (@a) when (@a = true) { background : black; }
.blanco (@a) when (@a = true) { background : white; }
.rojo (@a) when (@a = true) { color : red; }

body {
    .negro( @ua-chrome ); //Mostrara el Body en Negro cuando sea Chrome
    .blanco( @ua-firefox ); //Mostrara el Body en Blanco cuando sea Firefox
    .rojo( @var1 ); //Mostrara el color de la tipografia en rojo si es true
}

Asi podra construir less, con mucho mas dinamismo y utlizar casi todas las funciones de less. Dado que este tipo de renderizaciones requieren que sean 'Online', o que no se guarden las Hojas de estilo dentro del servidor. Al igual se retraza la construcion de estas hojas de estilo aprox 120 milisegundos.