Moving to JSX is a godsend after that - it feels a bit odd, but once you realize that you're really writing HTML that you could always copy-paste into something-that's-not-React if you ever decided to move away from React, it's incredibly liberating.
There's this thread: https://groups.google.com/forum/#!topic/elm-discuss/uXjcVyZ5... - but no other activity on a JSX preprocessor. Has anyone else been looking into this?
[1] http://www.yesodweb.com/book/shakespearean-templates [2] http://jinja.pocoo.org/
See Polymer for an example of using this in current browsers:
https://www.polymer-project.org
The markup is just custom html elements separate from the behaviour (in js). e.g. a dialog:
https://elements.polymer-project.org/elements/paper-dialog?v...
<paper-dialog>
<h2>Header</h2>
<paper-dialog-scrollable>
Lorem ipsum...
</paper-dialog-scrollable>
<div class="buttons">
<paper-button dialog-dismiss>Cancel</paper-button>
<paper-button dialog-confirm>Accept</paper-button>
</div>
</paper-dialog>As an aside, PyCharm is a great editor, it can understand Angular, HTML, CSS, and Jinja all in the same file, and does lots of helpful introspection for me. For example, I can command click any property to jump to it's definition, as well as syntax highlighting for all these languages.
And that's pretty much the most simple component you could create. The author is determined to reach their 10,000 lines of elm: that'd just be like, 10 reasonably-complex components! ;) But that's just the HTML part of the pie... the actual code seems quite beautiful.