Hi folks,
The goal of the Miraj project is to support web programming, including definition and use of web components (specifically
Polymer 1.9.x in this version), in seamless and idiomatic Clojure. It seems to be somewhere in the vicinity of Alpha, so I'm looking for feedback and help.
Very briefly, it contains a functional HTML library, supports bits of sugar (e.g. :#foo for id attributes, etc.), and provides macros for defining pages, components and component libraries, such that the shape of such code is similar to that of ordinary deftype or defrecord. It tries to hide and automate as much low-level detail as possible (e.g. construction of the <head> element).
The code it generates could be used in production, but the libraries themselves should be considered alpha, since they depend on Clojure 1.9.0 alpha, and currently only Polymer version 1 is supported. There are a few loose ends in the Polymer support that will only be tied off in version 2.
For help: I've taken the liberty of creating a #miraj channel on Clojurians slack; I also monitor this list, #clojure, #clojurescript etc.
Thanks,
Gregg