JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<main></main>
<script id='template' type='text/ractive'>
<h1>groceries</h1>
{{#each items}}
<p><strong>{{name}}</strong>: {{formatPrice(price)}}</p>
{{/each}}
</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 ractive = new Ractive({
el: 'main',
template: '#template',
data: {
items: [
{ name: 'apple', price: 0.29 },
{ name: 'beer', price: 2.50 },
{ name: 'cake', price: 5.49 }
],
formatPrice: function ( price ) {
var pence, pounds;
if ( price < 1 ) {
return Math.round( 100 * price ) + 'p';
}
pence = ( price % 1 );
pounds = Math.round( price - pence );
pence = Math.round( 100 * pence );
if ( pence < 10 ) {
pence = '0' + pence;
}
return '£' + pounds + '.' + pence;
}
}
});