component-render

Render html files from template files for component

component-render

Render html file from template file for component

With Component previously installed:

    $ npm install -g component-render
 
  Usage: component-render [options] <template>
 
  Options:
 
    -V, --version              
    -h, --help                 output usage information
    -l, --local <json>         local <json> file
    -o, --out <path>           output html file <path>
    -u, --use <name>           use the given render <name> plugin
 
    # redner html file from template file
    $ component render simple.jade
 
    # render html file from template file with local json file
    $ component render -l user.json user.jade
 
    # render html file to output path
    $ component render -o ./static/html/simple.html simple.jade
 
    # render html file with plugin
    $ component render -u component-render-hogan -l user.json user.mustache
 

Use Jade template engine. Hogan, EJS, and other template engine, you can support with plugin.

You need to implement below function.

  • Function have template, program and fn arugments.
  • template: a template file path.
  • program: commander object.
  • fn: a callback function. specify error, html to arguments.
 
var hogan = require('hogan.js');
var path = require('path');
var fs = require('fs');
 
module.exports = function (templateprogramfn) {
  var local = {};
  if (program.local) {
    var resolve_path = path.resolve(program.local);
    local = fs.existsSync(resolve_path) ? require(resolve_path) : require(resolve_path + '.json');
  }
  fs.readFile(template, { encoding: 'utf8' }, function (errdata) {
    if (err) { return fn(err); }
    var renderer = hogan.compile(data);
    var html = renderer.render(local);
    fn(null, html);
  });
};
 

MIT license.

See the LICENSE.