Skip to main content
Module

x/lume/engines/eta.js

πŸ”₯ Static site generator for Deno πŸ¦•
Very Popular
Go to Latest
File
import * as eta from "../deps/eta.js";
import TemplateEngine from "./templateEngine.js";
export default class Eta extends TemplateEngine { filters = {};
constructor(site, options = {}) { super(site, options);
eta.configure({ views: this.includes, useWith: true, }); }
//Update cache update(filenames) { for (const filename of filenames) { eta.templates.remove(filename); } }
async render(content, data, filename) { if (!eta.templates.get(filename)) { eta.templates.define(filename, eta.compile(content)); } data.filters = this.filters; const fn = eta.templates.get(filename); return await fn(data, eta.config); }
addFilter(name, fn) { this.filters[name] = fn; }}