Skip to main content

Template Engines

Built-in Support

Clovie supports popular template engines out of the box:

// Handlebars
import Handlebars from 'handlebars';
export default {
renderEngine: (template, data) => {
const compiled = Handlebars.compile(template);
return compiled(data);
}
};

// Nunjucks
import nunjucks from 'nunjucks';
export default {
renderEngine: (template, data) => {
return nunjucks.renderString(template, data);
}
};

// Pug
import pug from 'pug';
export default {
renderEngine: (template, data) => {
return pug.render(template, { ...data, pretty: true });
}
};

Custom Template Engine

export default {
renderEngine: (template, data) => {
// Simple variable replacement
return template.replace(/\{\{(\w+)\}\}/g, (match, key) => {
return data[key] || match;
});
}
};

String-based Engine Selection

export default {
renderEngine: 'handlebars', // Auto-configures Handlebars
// Also supports: 'nunjucks', 'pug', 'mustache', 'eta'
};