123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- (function() {
- var async, fs, path, pug,
- extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
- hasProp = {}.hasOwnProperty;
- async = require('async');
- fs = require('fs');
- pug = require('pug');
- path = require('path');
- module.exports = function(env, callback) {
- var PugTemplate;
- PugTemplate = (function(superClass) {
- extend(PugTemplate, superClass);
- function PugTemplate(fn) {
- this.fn = fn;
- }
- PugTemplate.prototype.render = function(locals, callback) {
- var error;
- try {
- return callback(null, Buffer.from(this.fn(locals)));
- } catch (error1) {
- error = error1;
- return callback(error);
- }
- };
- return PugTemplate;
- })(env.TemplatePlugin);
- PugTemplate.fromFile = function(filepath, callback) {
- return async.waterfall([
- function(callback) {
- return fs.readFile(filepath.full, callback);
- }, (function(_this) {
- return function(buffer, callback) {
- var conf, error, rv;
- conf = env.config.pug || {};
- conf.filename = filepath.full;
- try {
- rv = pug.compile(buffer.toString(), conf);
- return callback(null, new _this(rv));
- } catch (error1) {
- error = error1;
- return callback(error);
- }
- };
- })(this)
- ], callback);
- };
- env.registerTemplatePlugin('**/*.*(pug|jade)', PugTemplate);
- return callback();
- };
- }).call(this);
|