lib/html2jsx.js
function (html) {
    this.reset();

    var containerEl = createElement('div');
    containerEl.innerHTML = '\n' + this._cleanInput(html) + '\n';

    if (this.config.createClass) {
      if (this.config.outputClassName) {
        this.output = 'var ' + this.config.outputClassName + ' = React.createClass({\n';
      } else {
        this.output = 'React.createClass({\n';
      }
      this.output += this.config.indent + 'render: function() {' + "\n";
      this.output += this.config.indent + this.config.indent + 'return (\n';
    }

    if (this._onlyOneTopLevel(containerEl)) {
      // Only one top-level element, the component can return it directly
      // No need to actually visit the container element
      this._traverse(containerEl);
    } else {
      // More than one top-level element, need to wrap the whole thing in a
      // container.
      this.output += this.config.indent + this.config.indent + this.config.indent;
      this.level++;
      this._visit(containerEl);
    }
    this.output = this.output.trim() + '\n';
    if (this.config.createClass) {
      this.output += this.config.indent + this.config.indent + ');\n';
      this.output += this.config.indent + '}\n';
      this.output += '});';
    } else {
      this.output = this._removeJSXClassIndention(this.output, this.config.indent);
    }
    return this.output;
  }
function (html) {
    this.reset();

    var containerEl = createElement('div');
    containerEl.innerHTML = '\n' + this._cleanInput(html) + '\n';

    if (this.config.createClass) {
      if (this.config.outputClassName) {
        this.output = 'var ' + this.config.outputClassName + ' = React.createClass({\n';
      } else {
        this.output = 'React.createClass({\n';
      }
      this.output += this.config.indent + 'render: function() {' + "\n";
      this.output += this.config.indent + this.config.indent + 'return (\n';
    }

    if (this._onlyOneTopLevel(containerEl)) {
      // Only one top-level element, the component can return it directly
      // No need to actually visit the container element
      this._traverse(containerEl);
    } else {
      // More than one top-level element, need to wrap the whole thing in a
      // container.
      this.output += this.config.indent + this.config.indent + this.config.indent;
      this.level++;
      this._visit(containerEl);
    }
    this.output = this.output.trim() + '\n';
    if (this.config.createClass) {
      this.output += this.config.indent + this.config.indent + ');\n';
      this.output += this.config.indent + '}\n';
      this.output += '});';
    } else {
      this.output = this._removeJSXClassIndention(this.output, this.config.indent);
    }
    return this.output;
  }
function ( html ) { this . reset ( ) ; var containerEl = createElement ( 'div' ) ; containerEl . innerHTML = '\n' + this . _cleanInput ( html ) + '\n' ; if ( this . config . createClass ) { if ( this . config . outputClassName ) { this . output = 'var ' + this . config . outputClassName + ' = React.createClass({\n' ; } else { this . output = 'React.createClass({\n' ; } this . output += this . config . indent + 'render: function() {' + "\n" ; this . output += this . config . indent + this . config . indent + 'return (\n' ; } if ( this . _onlyOneTopLevel ( containerEl ) ) { // Only one top-level element, the component can return it directly // No need to actually visit the container element this . _traverse ( containerEl ) ; } else { // More than one top-level element, need to wrap the whole thing in a // container. this . output += this . config . indent + this . config . indent + this . config . indent ; this . level ++ ; this . _visit ( containerEl ) ; } this . output = this . output . trim ( ) + '\n' ; if ( this . config . createClass ) { this . output += this . config . indent + this . config . indent + ');\n' ; this . output += this . config . indent + '}\n' ; this . output += '});' ; } else { this . output = this . _removeJSXClassIndention ( this . output , this . config . indent ) ; } return this . output ; }
Main entry point to the converter. Given the specified HTML, returns a
JSX object representing it.
@param {string} html HTML to convert
@return {string} JSX
Main entry point to the converter . Given the specified HTML returns a JSX object representing it .