This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
mithril-n with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
Pure DOM nodes in Mithril templates.
$ bower install mithril-n
$ npm install mithril-n
It's really just Mithril's
m(), which accepts DOM nodes as
children as well as original arguments.
import m from "mithril"; import n from "mithril-n"; m.render(document.body, n("home", document.createElement("papa"), n("mama", m(".son")), "A happy family" ) );
…will result in:
<home> <papa></papa> <mama> <div class="son"></div> </mama> A happy family </home>
* I'm using ES6 syntax here – brought to us today by great projects like babel. When you download a release of mithril-n, you get two versions bundled: one for ES6, one for ES5 (available as CommonJS, RequireJS and as a global variable).
If you're interested in implementation details, have a look at the annotated source.
Many thanks to this fine gentleman for his invaluable input: