Значение замены для макроса можно также задавать функцией, например,
- template foo()
Today: %D
Snakeskin.compile(<шаблон>, {
macros: {
'%D': function () { return new Date(); }
}
});
Кейзов для такой фичи не так много, но добавить её было так просто, что я подумал "а почему бы и нет?".