mirror of https://github.com/ColorlibHQ/gentelella
40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
var path = require('path');
|
|
var utils = require('../utils');
|
|
|
|
module.exports = function(options) {
|
|
return function(app) {
|
|
|
|
this.define('decorate', function(name, app, options) {
|
|
app.option('name', name)
|
|
.option('fullname', options.fullname || name)
|
|
.option('path', options.path || '');
|
|
|
|
app.create('templates', {
|
|
cwd: path.resolve(options.path, 'templates'),
|
|
renameKey: function(key) {
|
|
return path.basename(key);
|
|
}
|
|
});
|
|
|
|
var base = this.base;
|
|
|
|
app.define('getFile', function(name) {
|
|
var view = base.files.getView.apply(base.files, arguments);
|
|
if (!view) {
|
|
view = app.templates.getView.apply(app.templates, arguments);
|
|
}
|
|
if (!view) return null;
|
|
view.basename = view.basename.replace(/^_/, '.');
|
|
view.basename = view.basename.replace(/^$/, '');
|
|
return view;
|
|
});
|
|
|
|
base.define('getFile', app.getFile);
|
|
base.files.getFile = base.files.getView.bind(base.files);
|
|
return this;
|
|
});
|
|
};
|
|
};
|