tateru-cli
Version:
Simple CLI static site builder tool with Twig.
23 lines • 1.98 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");
exports.twigServiceRender = (fileTwigConfig, fileRenderOptions, translations) => {
twig_1.default.extendFunction('trans', (key) => {
return getNestedValue_1.getNestedValue(translations, key) || key;
});
twig_1.default.extendFilter('sort_by', sortBy_1.sortBy);
try {
const template = twig_1.default.twig(fileTwigConfig).render(fileRenderOptions);
return template;
}
catch (error) {
throw new Error(`Failed to render template: ${error instanceof Error ? error.message : String(error)}`);
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpZ1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9zZXJ2aWNlcy90d2lnL3R3aWdTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUV4QiwrREFBNEQ7QUFDNUQsNkNBQTBDO0FBRTdCLFFBQUEsaUJBQWlCLEdBQUcsQ0FDN0IsY0FBaUMsRUFDakMsaUJBQXNCLEVBQ3RCLFlBQWlCLEVBQ25CLEVBQUU7SUFDQSxjQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQ3pDLE9BQU8sK0JBQWMsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0lBRUgsY0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsZUFBTSxDQUFDLENBQUM7SUFFckMsSUFBSTtRQUNBLE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFckUsT0FBTyxRQUFRLENBQUM7S0FDbkI7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQ1gsOEJBQThCLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUN6RixDQUFDO0tBQ0w7QUFDTCxDQUFDLENBQUMifQ==