I like the approach of React. Instead of shoehorning a new language into HTML, JSX brings markup to JavaScript, so that any non-markup code you write is always just JavaScript, which you already know, and it's always easy to tell which variables are in scope.