clarkwinkelmann I would not say that... I would prefer to maintain my tpls away from a programming language... specially I would use an agnostic templting engine...
Looking into DisscussionHero.js as example
/**
* Build an item list for the contents of the discussion hero.
*
* @return {ItemList}
*/
items() {
const items = new ItemList();
const discussion = this.props.discussion;
const badges = discussion.badges().toArray();
if (badges.length) {
items.add('badges', <ul className="DiscussionHero-badges badges">{listItems(badges)}</ul>, 10);
}
items.add('title', <h2 className="DiscussionHero-title">{discussion.title()}</h2>);
return items;
}
For a template designer that's a full pain in the ass. Additionally temlates could be loaded and inserted into the dom and used byt the templating engine as needed, making piece of cake change the templates without having to change the js and in the case of Flarum do the transpile, etc...