tateru-cli
Version:
Simple CLI static site builder tool with Twig.
24 lines • 2.08 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.twigServiceRender = void 0;
const twig_1 = __importDefault(require("twig"));
const getNestedValue_1 = require("./functions/getNestedValue");
const sortBy_1 = require("./filters/sortBy");
const twigServiceRender = (fileTwigConfig, renderData, translations) => {
twig_1.default.extendFunction('trans', (key) => {
return (0, getNestedValue_1.getNestedValue)(translations, key) || key;
});
twig_1.default.extendFilter('sort_by', sortBy_1.sortBy);
try {
const template = twig_1.default.twig(fileTwigConfig).render(renderData);
return template;
}
catch (error) {
throw new Error(`Failed to render template: ${error instanceof Error ? error.message : String(error)}`);
}
};
exports.twigServiceRender = twigServiceRender;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpZ1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9zZXJ2aWNlcy90d2lnL3R3aWdTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUV4QiwrREFBNEQ7QUFDNUQsNkNBQTBDO0FBRW5DLE1BQU0saUJBQWlCLEdBQUcsQ0FDN0IsY0FBaUMsRUFDakMsVUFBbUMsRUFDbkMsWUFBcUMsRUFDdkMsRUFBRTtJQUNBLGNBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDekMsT0FBTyxJQUFBLCtCQUFjLEVBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUVILGNBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLGVBQU0sQ0FBQyxDQUFDO0lBRXJDLElBQUksQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FDWCw4QkFBOEIsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3pGLENBQUM7SUFDTixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBcEJXLFFBQUEsaUJBQWlCLHFCQW9CNUIifQ==