Intention.js

- DOM manipulation based on an html attribute spec.

Why Intention.js

The interface to define differences between documents should be in HTML. The manipulation of attributes is a better way to restructure a page than media queries, because relying on CSS/HTML document flow patterns to change the hierarchy of a design is not sufficient to convey appropriate information.

Intention.js allows for dynamic html restructuring, so that the html for a given context transforms into an ideal state for that structure.