JSFiddle - React, Tailwind, and code Playground

by rich_harris

HTML

<main></main>

<script id='template' type='text/ractive'>
    <h1>Hello {{name}}!</h1>
    <p>We're using Ractive.js version {{version}}</p>
</script>

<script id='x' type='text/ractive'>
    {{#each list :i}}
        <y index='{{i}}' value='{{this}}'/>
    {{/each}}
</script>

<script id='y' type='text/ractive'>
    <button on-click='fire("remove",index)'>remove {{value}}</button>
</script>

CSS

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

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

.error {
    color: #d00;
    font-family: monospace;
}

JavaScript

var X = Ractive.extend({
    template: 'x'
});

var Y = Ractive.extend({
    template: 'y'
});

var ractive = new Ractive({
    el: 'main',
    template: '#template',
    data: {
        list: [ 'a', 'b', 'c', 'd' ]
    }
});