In EatDifferent, I have various places where I describe something about a user. For example:
- "Pamela Fox filled out her logs 3 days in a row.
- "In the last week, you haven't logged any measurements."
I wanted to be able to construct those sentences in JavaScript with some sort of mini templating language. I didn't find any existing libraries for it, so I wrote my own. Now to generate the above strings, I can write stuff like:
personalize('{{ They|name }}' filled out {{ their }} logs 3 days in a row.', {gender: 'male', person: 'third', name: 'Pamela Fox'}); personalize('In the last week, {{ they|name }} {{ have|not }} logged any measurements.', {gender: 'male', person: 'first'});
You can see the code for the library in this gist and check out a live demo on jsfiddle.
No comments:
Post a Comment