Skip to main content

Quickstart

import { QTemplate, TemplatesStore } from '@quik/templates';

await TemplatesStore.load('core', './templates');

class WelcomeTemplate extends QTemplate<{ name: string }> {
constructor(name: string) {
super('core.welcome', { name });
}
}

const output = new WelcomeTemplate('Quik').render();

Notes

  • Templates are addressed by lowercase module.filename keys (e.g. core.welcome, core.email.welcome for nested files) — the module argument to TemplatesStore.load(module, ...folders) becomes the key prefix.
  • There is no standalone render() export — always render through a QTemplate subclass's .render() method.
  • TemplatesStore.load() reads templates into memory once; call TemplatesStore.reload() (or clear() + load()) to pick up file changes, or set templates.disableCache to re-read from disk on every access.