JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<main></main>

<script id='template' type='text/ractive'>
    <h1>check the console</h1>
    <ul>
        {{#items}}
            <li>test{{this}}</li>
        {{/items}}
    </ul>
</script>

CSS

body {
    font-family: 'Helvetica Neue', arial, sans-serif;
    font-weight: 200;
    color: #353535;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 200;
}

JavaScript

var ractive = new Ractive({
    el: 'main',
    magic: true,
    template: '#template',
    data: {
        items: []
    }
});

console.group( 'initial observe' );
ractive.observe( 'items.*', function ( n, o, k, index ) {
    console.log( 'changed keypath is %s. index is %s. new value is %s', k, index, n );
});
console.groupEnd();

// try difference array mutations...
console.group( 'push' );
ractive.get( 'items' ).push( {test:'test'} );
console.groupEnd();