Ir al contenido principal

Juno Cheerio


He publicado mi primer módulo de node ^^

https://github.com/akobashikawa/juno-cheerio

https://www.npmjs.com/package/juno-cheerio

juno-cheerio es un template engine para Express que permite hacer unobtrusive templating usando cheerio.

Explicando

Express usa template engines para renderizar html con cierto código de template incluido. Por default es jade, pero puede usar handlebars, nunjucks, etc.

Usar un template engine típico involucra aprender el lenguaje de templating y hacer disección y reagrupamiento del html base para adecuarlo a los requerimientos del template.

Unobtrusivo es respetar el html base lo más que se pueda.

¿Por qué no una forma unobtrusiva de trabajar con el html base?

La ventaja es similar a la que se tiene al trabajar de modo unobtrusivo en el frontend: Es más fácil de mantener el html y el javascript por separado. Pero otra ventaja (aún no implementada en juno) es que se podría usar html de un url externo, no solamente de archivos locales.

En el lado del frontend, jQuery ayuda a trabajar de forma unobtrusiva. ¿Qué tal si pudiéramos aplicar esta idea al lado backend?

Cheerio provee las funcionalidades de jQuery para Node en el backend.

juno-cheerio es un ejemplo de cómo usar cheerio para proveer unobtrusive templating.

Con juno-cheerio, uno puede usar su experiencia jQuery para hacer templating en Express de una manera unobtrusiva.

El proceso de publicación

Separé el módulo en una carpeta json-cheerio, con index.js con el código del módulo y package.json con la descripción.

package.json
{
    "name": "juno-cheerio",
    "description": "Simple Express template engine for unobtrusive templating with cheerio",
    "author": "Rulo Kobashikawa <akobashikawa gmail.com> (http://akcdev.blogspot.com)",
    "version": "1.0.0",
    "main": "index.js",
    "license": "MIT",
    "repository": {
        "type": "git",
        "url": "https://github.com/akobashikawa/juno-cheerio"
    },
    "dependencies": {
        "cheerio": "^0.19.0",
        "fs": "0.0.2"
    }
}

index.js
var cheerio = require('cheerio');
var fs = require('fs');

module.exports = function(filePath, options, callback) {
    fs.readFile(filePath, function(err, content) {
        if (err) return callback(new Error(err));
        var html = content.toString();
        $ = cheerio.load(html);
        if (typeof options.replaces === 'function') {
            options.replaces($);
        }
        var rendered = $.html();
        return callback(null, rendered);
    });
};

Luego, obtuve una cuenta en https://npmjs.com. Allí indiqué cual sería mi nombre de usuario y mi password.

En la consola, me ubique en el directorio del proyecto y ejecuté npm adduser. Nos pedirá las credenciales que indicamos en npmjs.com

Finalmente, ejecuté npm publish ./

Si el nombre del proyecto ya estuviera tomado se obtendría un error.

Si ya hubiera publicada una versión con el mismo número, también se obtendría un error.

Entradas populares de este blog

Cómo abrir un balde de pintura

Cómo abrir un balde de pintura Estuve como media hora intentando palanquear con un desarmador y hasta de cortar parte de la tapa con una cuchilla. Entonces tome un pequeño alicate y jalé uno de los extremos donde había cortado. Me dí cuenta que la parte inferior del borde de la tapa era un sello de seguridad que puede ser jalado. Lo jalé con el alicate alrededor del borde. Quitado el sello, fue relativamente fácil usar las manos para abrir la tapa.

Pizarra acrílica casera y portátil

Pizarra acrílica casera y portátil El papel contact es auto adhesivo y tiene múltiples usos en arte, decoración, etc.
Busqué papel contact transparente porque quiero hacer el enmicado casero de unas tarjetas de juego, sobre las que hay que hacer anotaciones que se puedan borrar fácilmente.
Se me ocurrió que podrían funcionar bien unos marcadores para pizarra.
Descubrí que con marcadores de pizarra se puede escribir muy bien sobre el papel contact. Lo escrito permanece y se borra con la misma facilidad que en una pizarra acrílica. Eureka :-D
Se puede pegar el papel contact en una superficie plana, como una pared, el lado de la refrigeradora, en un biombo, etc, etc y tener fácilmente el equivalente a una pizarra acrílica, por un costo mucho, mucho menor.


Además, por ser transparente, se puede colocar debajo papel de colores, cuadriculado, o con otro diseño que te resulte útil.
Podrías llevarte el papel y tener así una pizarra portátil.
Si tuvieras una pizarra antigua, de las que usan t…

Root y Link2SD para Galaxy S3 Mini (GT-I8190L)

Root y Link2SD para Galaxy S3 Mini (GT-I8190L)Consideraciones previas:El proceso de rooteo aquí descrito se supone que no es destructivo, pero siempre es recomendable hacer un backup, principalmente de la información más importante.El proceso puede tardar como 10 minutos. Asegurarse que la batería del celular tenga una buena cantidad de carga (yo lo hice con 20% aunque se recomienda 80%).Tener a mano el cable de conexión USB para conectar el celular a la PC (pero no conectarlo hasta que la guía lo indique).Que en el celular esté activado el modo de depuración.Tener activa la conexión a Internet en la PC.Puede ser que si está instalado una versión antigua de Kies, Odin no reconozca al dispositivo. (A mi me pasó, pero el inconveniente es salvable. Desinstalé Kies y los drivers asociados y más bien instalé los drivers usando el mini toolkit.)Ver las guias completas antes de realizar los pasos.Este post es sólo con fines educativos. La responsabilidad de la ejecución es tuya.Ejecutar Sam…