23 comments

[ 2.7 ms ] story [ 19.2 ms ] thread
Using document.createElement to create elements and element.appendChild(node) to add them is tedious. But once you have abstractions in place, like var menu = createMenu(), subMenu=createMenu(), menu.add(subMenu) it becomes very powerful and more fun to work with the DOM.
Time to shill my own alternative.

https://github.com/NoHatCoder/DOM_Maker

No parser, just a bunch of JavaScript functions that nest nicely, to create dense and readable DOM generation code.

Might be time for putting a 1.0 sticker on it.

As for Bepis, the mechanism by which elements nest seem complicated, as far as I understand it is controlled by sprinkling , and . throughout the string, I don't get why this would be necessary.

Why no examples in the readme?
snap!
I guess I am better at writing libraries than marketing. So that is definitely on the todo list now.
It would be great for people just visiting DOM_Maker to be able to quickly see an example in the README file of the syntax etc.
The comma and dot seem weird; curly braces would feel more natural to me. In your example, style isn't terminated by a dot, but other one liners are, which I'm assuming is just a typo else I'm really confused.

What's the advantage over JSX?

I love me a good, simple, jokey template language. Reminds me of the one I made a few years back[1]. Everyone should write a small template language of their own - it's a neat parser-writing exercise, and the rendering implementation can be comparatively trivial (assuming you don't plan to actually use it in a place where rendering perf matters).

[1] http://ham.io/not.js/

Pepsi? why that company!
Lol I was hoping that's what the name would be referencing.