<commit_before>[![Build Status](https://secure.travis-ci.org/af/JSnoX.png)](http://travis-ci.org/af/JSnoX)

# JSnoX

Enjoy [React.js](http://facebook.github.io/react/), but not a fan of the JSX? JSnoX gives you a concise,
expressive way to build ReactElement trees in pure JavaScript. Works
with React v0.12 and above.


## Example

```js
var React = require('react')
var MyOtherComponent = require('./some/path.js')
var d = require('jsnox')(React)

var LoginForm = React.createClass({
    submitLogin: function() { ... },

    render: function() {
        return d('form[method=POST]', { onSubmit: this.submitLogin }, [
            d('h1.form-header', 'Login'),
            d('input:email[name=email]', { placeholder: 'Email' }),
            d('input:password[name=pass]', { placeholder: 'Password' }),
            d(MyOtherComponent, { myProp: 'foo' }),
            d('button:submit', 'Login')
        ])
    }
})
```


## API
<commit_msg>Add note about React Native to README<commit_after>[![Build Status](https://secure.travis-ci.org/af/JSnoX.png)](http://travis-ci.org/af/JSnoX)

# JSnoX

Enjoy [React.js](http://facebook.github.io/react/), but not a fan of the JSX? JSnoX gives you a concise,
expressive way to build ReactElement trees in pure JavaScript. 


## Works with
* React.js v0.12 and above
* React Native


## Example

```js
var React = require('react')
var MyOtherComponent = require('./some/path.js')
var d = require('jsnox')(React)

var LoginForm = React.createClass({
    submitLogin: function() { ... },

    render: function() {
        return d('form[method=POST]', { onSubmit: this.submitLogin }, [
            d('h1.form-header', 'Login'),
            d('input:email[name=email]', { placeholder: 'Email' }),
            d('input:password[name=pass]', { placeholder: 'Password' }),
            d(MyOtherComponent, { myProp: 'foo' }),
            d('button:submit', 'Login')
        ])
    }
})
```


## API

{'fraction_non_alphanumeric': 0.1781460383221129, 'fraction_numerical': 0.004142931123770067, 'mean_word_length': 3.1727861771058317, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1930467', 'n_tokens_mistral': 641, 'n_tokens_neox': 630, 'n_words': 144}