epub-maker2
Version:
Easily create epub files with javascript
48 lines • 1.75 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Handlebars = exports.compileTpl = exports.mimetypes = void 0;
const tslib_1 = require("tslib");
const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
exports.Handlebars = handlebars_1.default;
const upath2_1 = tslib_1.__importDefault(require("upath2"));
const fs_1 = require("fs");
const index_1 = tslib_1.__importDefault(require("./index"));
exports.mimetypes = {
'jpeg': 'image/jpeg',
'jpg': 'image/jpeg',
'bmp': 'image/bmp',
'png': 'image/png',
'svg': 'image/svg+xml',
'gif': 'image/gif',
'ttf': 'application/x-font-truetype',
'css': 'text/css',
};
handlebars_1.default.registerHelper('extension', function (str) {
return ext(str);
});
handlebars_1.default.registerHelper('mimetype', function (str) {
return exports.mimetypes[ext(str)];
});
handlebars_1.default.registerHelper('import', function (filePath, options) {
filePath = upath2_1.default.normalize(filePath);
let source = (0, fs_1.readFileSync)(filePath).toString();
// @ts-ignore
return new handlebars_1.default.SafeString(handlebars_1.default.compile(source)(Object.create(this)));
});
function ext(str) {
if (str === undefined) {
return str;
}
return str.substr(str.lastIndexOf('.') + 1);
}
function compileTpl(template, content, skipFormatting) {
return index_1.default.formatHTML(handlebars_1.default.compile(template)(content, {
// @ts-ignore
allowProtoMethodsByDefault: true,
// @ts-ignore
allowProtoPropertiesByDefault: true,
}), skipFormatting);
}
exports.compileTpl = compileTpl;
exports.default = handlebars_1.default;
//# sourceMappingURL=handlebar-helpers.js.map
;