ivy (aka. iv) is a lightweight JS template engine mixing concepts from ReactJS, Angular2 and Incremental DOM.
It is based on two independent pillars: on one hand, a template syntax named XJS that was designed as a refinement of React's JSX and, on the other hand, a state-management library (trax) that allows to track changes in data objects.
ivy introduces many new concepts, such as
- templates as functions, that can be read as a sequence of JavaScript statements
- js statements for loops, conditional blocks, local variables, etc.
- param nodes to support advanced component APIs with multiple named content blocks
- decorators to combine multiple behaviors on a same elements (or components)
- labels to retrieve references to generated HTML elements (or components)
- CMS content support - to dynamically interpret template fragments served by a CMS
- pre-processors to inject or modify a template content a compilation time
Please visit ivy documentation page for more details and examples
Code and documentation licensed under MIT
Copyright © 2020 Amadeus SAS