I don't know if it's a good practice, but functions are evaluated, I'm doing conditions like that:
user = {
name: 'foo',
status: 'locked',
statusClass: function() {
if (this.status == 'locked')
return 'danger'
else
return 'success'
}
}
var template = Hogan.compile('<span class="label label-{{user.statusClass}}">{{user.status}}</span>')
alert(template.render({user: user}));