coffeex
v4.0.3
Published
Coffee DSL for React Virtual DOM instead of JSX
Downloads
16
Readme
CoffeeX
Coffee DSL for React Virtual DOM instead of JSX
This is inspired by coffeekup and vk
Usage
In JavaScript
React.createElement('div', {}, [
React.createElement('h1', { style: { textAlign: 'center' } }, [
React.createElement('span', {}, [
'text',
React.createElement('br'),
'text',
React.createElement('br'),
'text',
React.createElement('br')
])
]),
React.createElement('h2', {}, [
'text1',
React.createElement('br'),
'text2'
])
]);
In CoffeeX:
cfx ($, _) ->
$.div ->
$.h1 style: { textAlign: 'center' }, ->
$.span ->
for i in [1..3]
_ 'text'
$.br
$.h2 ->
_ 'text1'
$.br
_ 'text2'
API
cfx: Function
cfx(block: Function($, _))
$: Function
Example:
$ 'div', '#main.container', { style: { width: '960px' } }, ->
# children...
Arguments Pattern:
| tag name (String) / component (ReactComponent) | id and class (CSSSelectorString) | attribute (Object) | children (Function / String) | |:---------------------------------------------------:|:--------------------------------:|:------------------:|:----------------------------:| | ✓ | ✓ | ✓ | ✓ | | ✓ | ✓ | ✓ | | | ✓ | ✓ | | ✓ | | ✓ | | ✓ | ✓ | | | ✓ | ✓ | ✓ | | ✓ | ✓ | | | | ✓ | | ✓ | | | ✓ | | | ✓ | | | | ✓ | ✓ | | ✓ | | | |