For anyone interested in making little games in Golang, Termloop[1] is a terminal-based engine (though it uses text to render rather than this iTerm-specific feature).
Also, for non terminal-based things, Raylib is really nice.
It's originally a C-based games-library, but the bindings work well for playing around in Golang.
There are a number of projects for transpiling X language into JavaScript. Most aren't super robust, but generally good enough for basic purposes. I feel once WebAssembly gets more steam, this will get even more robust.
Not claiming this is a good solution, but definitely would be one possible route.
The idea of supplying a spec to transform arbitrary data is interesting to me. I did one in JavaScript called Reshaper[1], and then hooked it up to a library wrapper called Smolder[2].
The result was a sort of system whereby data going into a function would be automatically 'reshaped'. It worked well as a proof-of-concept, but obviously was too fragile for most uses (though it's used in the automatic graphs in Kajero[3]).
The difference here seems to be that the spec defines the actual transformations, rather than just the desired final structure.
And DSSSL before that. But I guess XML is just not hip enough anymore.
Actually, having done some work on XSLT these days again I was joking to a colleague at work that one day someone will surely think what a great idea it would be to create a programming language in JSON to transform JSON to other JSON. And lo and behold, a few days later I stumble over this.
I have to admit, XSLT looks far nicer to me, but that might be familiarity and a proper specification to read to understand things instead of just a bunch of examples.
Yup, Tonic is super cool. This is more for presenting data than demoing libraries, but I'd like it to be as useful as possible for many things.
If you save it as an HTML file you can obviously add your own client-side JS. Node packages are a ways off right now though - would need to think about how to do it as it's all client-side.
Perhaps Browserify would be something that would work in this use case. Awesome job!
In addition, it might be cool to have in-line substitution of data. For example, in your analytics notebook[0], I noticed you referenced the number in text afterwards, but if Kajero was pulling from a live data source, it'd be neat to do something like this:
Predictably, most came from the US ({{data.analytics[0]}}). There were also a lot ({{data.analytics[1]}}) from the UK - this is probably mainly due to it being posted on my Facebook page, with these hits being from friends rather than internet randoms.