Skip to content

Instantly share code, notes, and snippets.

@rwaldron
Forked from cowboy/ba-ghettotmpl.js
Created June 11, 2011 14:25
Show Gist options
  • Save rwaldron/1020600 to your computer and use it in GitHub Desktop.
Save rwaldron/1020600 to your computer and use it in GitHub Desktop.
Ghetto fabulous templating system. More ghetto than fabulous.
// Ghetto fabulous template system for replacing values in strings. If {{.foo}}
// or {{.bar[0].baz}} is encountered (leading dot), attempt to access properties
// of data object like `data.foo` or `data.bar[0].baz`. Alternately, if {{foo}}
// or {{bar("baz")}} is encountered (no leading dot), simply evaluate `foo` or
// `bar("baz")`. If an error occurs, return empty string. @rworth++
function ghettoTmpl(data, str) {
return (str + '').replace(/\{\{((\.)?.*?)\}\}/g, function(_, str, dot) {
return eval('try{' + (dot ? 'data' : '') + str + '}catch(e){""}');
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment