dist/jsmart.js
function (template, options) {
      var parsedTemplate
      if (!options) {
        options = {}
      }
      if (options.rdelim) {
        // If delimiters are passed locally take them.
        this.smarty.rdelim = options.rdelim
      } else if (jSmart.prototype.right_delimiter) {
        // Backward compatible. Old way to set via prototype.
        this.smarty.rdelim = jSmart.prototype.right_delimiter
      } else {
        // Otherwise default delimiters
        this.smarty.rdelim = '}'
      }
      if (options.ldelim) {
        // If delimiters are passed locally take them.
        this.smarty.ldelim = options.ldelim
      } else if (jSmart.prototype.left_delimiter) {
        // Backward compatible. Old way to set via prototype.
        this.smarty.ldelim = jSmart.prototype.left_delimiter
      } else {
        // Otherwise default delimiters
        this.smarty.ldelim = '{'
      }
      if (options.autoLiteral !== undefined) {
        // If autoLiteral is passed locally, take it.
        this.autoLiteral = options.autoLiteral
      } else if (jSmart.prototype.auto_literal !== undefined) {
        // Backward compatible. Old way to set via prototype.
        this.autoLiteral = jSmart.prototype.auto_literal
      }

      if (options.debugging !== undefined) {
        // If debugging is passed locally, take it.
        this.debugging = options.debugging
      } else if (jSmart.prototype.debugging !== undefined) {
        // Backward compatible. Old way to set via prototype.
        this.debugging = jSmart.prototype.debugging
      }

      if (options.escapeHtml !== undefined) {
        // If escapeHtml is passed locally, take it.
        this.escapeHtml = options.escapeHtml
      } else if (jSmart.prototype.escape_html !== undefined) {
        // Backward compatible. Old way to set via prototype.
        this.escapeHtml = jSmart.prototype.escape_html
      }

      // Is template string or at least defined?!
      template = String(template || '')

      // Generate the tree. We pass delimiters and many config values
      // which are needed by parser to parse like delimiters.
      jSmartParser.clear()
      jSmartParser.rdelim = this.smarty.rdelim
      jSmartParser.ldelim = this.smarty.ldelim
      jSmartParser.getTemplate = this.getTemplate
      jSmartParser.getConfig = this.getConfig
      jSmartParser.autoLiteral = this.autoLiteral
      jSmartParser.plugins = this.plugins
      jSmartParser.preFilters = this.filtersGlobal.pre
      // Above parser config are set, lets parse.
      parsedTemplate = jSmartParser.getParsed(template)
      this.tree = parsedTemplate.tree
      this.runTimePlugins = parsedTemplate.runTimePlugins
      this.blocks = parsedTemplate.blocks
      this.outerBlocks = parsedTemplate.outerBlocks
    }
function (template, options) {
      var parsedTemplate
      if (!options) {
        options = {}
      }
      if (options.rdelim) {
        // If delimiters are passed locally take them.
        this.smarty.rdelim = options.rdelim
      } else if (jSmart.prototype.right_delimiter) {
        // Backward compatible. Old way to set via prototype.
        this.smarty.rdelim = jSmart.prototype.right_delimiter
      } else {
        // Otherwise default delimiters
        this.smarty.rdelim = '}'
      }
      if (options.ldelim) {
        // If delimiters are passed locally take them.
        this.smarty.ldelim = options.ldelim
      } else if (jSmart.prototype.left_delimiter) {
        // Backward compatible. Old way to set via prototype.
        this.smarty.ldelim = jSmart.prototype.left_delimiter
      } else {
        // Otherwise default delimiters
        this.smarty.ldelim = '{'
      }
      if (options.autoLiteral !== undefined) {
        // If autoLiteral is passed locally, take it.
        this.autoLiteral = options.autoLiteral
      } else if (jSmart.prototype.auto_literal !== undefined) {
        // Backward compatible. Old way to set via prototype.
        this.autoLiteral = jSmart.prototype.auto_literal
      }

      if (options.debugging !== undefined) {
        // If debugging is passed locally, take it.
        this.debugging = options.debugging
      } else if (jSmart.prototype.debugging !== undefined) {
        // Backward compatible. Old way to set via prototype.
        this.debugging = jSmart.prototype.debugging
      }

      if (options.escapeHtml !== undefined) {
        // If escapeHtml is passed locally, take it.
        this.escapeHtml = options.escapeHtml
      } else if (jSmart.prototype.escape_html !== undefined) {
        // Backward compatible. Old way to set via prototype.
        this.escapeHtml = jSmart.prototype.escape_html
      }

      // Is template string or at least defined?!
      template = String(template || '')

      // Generate the tree. We pass delimiters and many config values
      // which are needed by parser to parse like delimiters.
      jSmartParser.clear()
      jSmartParser.rdelim = this.smarty.rdelim
      jSmartParser.ldelim = this.smarty.ldelim
      jSmartParser.getTemplate = this.getTemplate
      jSmartParser.getConfig = this.getConfig
      jSmartParser.autoLiteral = this.autoLiteral
      jSmartParser.plugins = this.plugins
      jSmartParser.preFilters = this.filtersGlobal.pre
      // Above parser config are set, lets parse.
      parsedTemplate = jSmartParser.getParsed(template)
      this.tree = parsedTemplate.tree
      this.runTimePlugins = parsedTemplate.runTimePlugins
      this.blocks = parsedTemplate.blocks
      this.outerBlocks = parsedTemplate.outerBlocks
    }
function ( template , options ) { var parsedTemplate if ( ! options ) { options = { } } if ( options . rdelim ) { // If delimiters are passed locally take them. this . smarty . rdelim = options . rdelim } else if ( jSmart . prototype . right_delimiter ) { // Backward compatible. Old way to set via prototype. this . smarty . rdelim = jSmart . prototype . right_delimiter } else { // Otherwise default delimiters this . smarty . rdelim = '}' } if ( options . ldelim ) { // If delimiters are passed locally take them. this . smarty . ldelim = options . ldelim } else if ( jSmart . prototype . left_delimiter ) { // Backward compatible. Old way to set via prototype. this . smarty . ldelim = jSmart . prototype . left_delimiter } else { // Otherwise default delimiters this . smarty . ldelim = '{' } if ( options . autoLiteral !== undefined ) { // If autoLiteral is passed locally, take it. this . autoLiteral = options . autoLiteral } else if ( jSmart . prototype . auto_literal !== undefined ) { // Backward compatible. Old way to set via prototype. this . autoLiteral = jSmart . prototype . auto_literal } if ( options . debugging !== undefined ) { // If debugging is passed locally, take it. this . debugging = options . debugging } else if ( jSmart . prototype . debugging !== undefined ) { // Backward compatible. Old way to set via prototype. this . debugging = jSmart . prototype . debugging } if ( options . escapeHtml !== undefined ) { // If escapeHtml is passed locally, take it. this . escapeHtml = options . escapeHtml } else if ( jSmart . prototype . escape_html !== undefined ) { // Backward compatible. Old way to set via prototype. this . escapeHtml = jSmart . prototype . escape_html } // Is template string or at least defined?! template = String ( template || '' ) // Generate the tree. We pass delimiters and many config values // which are needed by parser to parse like delimiters. jSmartParser . clear ( ) jSmartParser . rdelim = this . smarty . rdelim jSmartParser . ldelim = this . smarty . ldelim jSmartParser . getTemplate = this . getTemplate jSmartParser . getConfig = this . getConfig jSmartParser . autoLiteral = this . autoLiteral jSmartParser . plugins = this . plugins jSmartParser . preFilters = this . filtersGlobal . pre // Above parser config are set, lets parse. parsedTemplate = jSmartParser . getParsed ( template ) this . tree = parsedTemplate . tree this . runTimePlugins = parsedTemplate . runTimePlugins this . blocks = parsedTemplate . blocks this . outerBlocks = parsedTemplate . outerBlocks }
Initialize, jSmart, set settings and parse the template.
Initialize jSmart set settings and parse the template .