anchor.diff:  
   This command produces some files in the [path]_dist_ directory:
   
  -* *dist/*
  -- *asciidoctor.js* (includes core and extensions)
  -- *asciidoctor-core.js* (no extensions API)
  -- *asciidoctor-extensions.js* (extensions API only)
  -- *asciidoctor-docbook.js* (DocBook backends: docbook45 & docbook5)
  -- *asciidoctor-all.js* (core, extension and Opal. DocBook isn't the main target of webapp, for this reason we choose to keep it separate)
  +dist/::
  +* *asciidoctor.js* -- includes core and extensions
  +* *asciidoctor-core.js* -- no extensions API
  +* *asciidoctor-extensions.js* -- extensions API only
  +* *asciidoctor-docbook.js* -- DocBook (4.5 and 5) converters
  +* *asciidoctor-all.js* -- core, extensions API and Opal +
  +  _(DocBook isn't the main target of webapp. For this reason, we choose to keep it separate.)_
   
  -* *dist/npm* (to use with npm)
  -- *asciidoctor-core.js* (no extensions API, will automatically load the DocBook backends)
  -- *asciidoctor-extensions.js* (extensions API only)
  -- *asciidoctor-docbook.js* (DocBook backends: docbook45 & docbook5)
  +dist/npm/::
  +* *asciidoctor-core.js* -- no extensions API, will automatically load the DocBook converters
  +* *asciidoctor-extensions.js* -- extensions API only
  +* *asciidoctor-docbook.js* -- DocBook (4.5 and 5) converters
   
  -Each file has a `minified` and `gz` version.
  +//Each file has a minified (`.min.js`) and compressed (`.js.gz`) version.
  +Each file has a minified (`.min.js`) version.
   
   You'll see these scripts in action when you run the examples, described next.
   
  -== Building and running the examples
  +=== Building and running the examples
   
   To build the examples, simply run the Rake `examples` task from the root of the project:
   
  
positive.code: All the JavaScript in that file was generated from a Ruby script by Opal.
  
  Point your browser at [path]_build/asciidoctor_example.html_.
  You should see the AsciiDoc Syntax Quick Reference document.
  The content on the page was rendered from AsciiDoc by asciidoctor.js when you loaded the page!
  
  == Changes to Asciidoctor (from upstream)
  
  Compiling Asciidoctor to JavaScript currently requires some changes in Asciidoctor.
  The goal is to eventually eliminate all of these differences so that Asciidoctor can be compiled to JavaScript as is.
  
  Here's a list of some of the changes that are currently needed:
  
  * Named posix groups in regular expressions are replaced with their ASCII equivalent
    - JavaScript doesn't support named posix groups, such as [x-]`[[:alpha:]]`)
  * A shim library is needed to implement missing classes in Opal, such as `File` and `Dir`
  * All mutable String operations have been replaced with assignments (this is done at build time)
    - JavaScript doesn't support mutable strings
  * `$~[0]` used in place of `$&` and `$~[n]` in place of `$n` after running a regular expression (where n is 1, 2, 3...)
  * Opal doesn't recognize modifiers on a regular expression (e.g., multiline)
  * Optional, non-matching capture groups resolve to empty string in gsub block in Firefox (see http://www.bennadel.com/blog/1916-different-browsers-use-different-non-matching-captured-regex-pattern-values.htm)
  * Assignments without a matching value are set to empty string instead of nil (in the following example, `b` is set to empty string)
  
    a, b = "value".split ',', 2
  
  == Debugging
  
  
negative.code: 
  The call trace is displayed as breadcrumb navigation, which you can use to jump through the stack.
  You can inspect the state at any location by looking through the panels on the right.
  
  == Modifications to Asciidoctor (for compatibility)
  
  Compiling Asciidoctor to JavaScript currently requires some changes in Asciidoctor.
  The goal is to eventually eliminate all of these differences so that Asciidoctor can be compiled to JavaScript as is.
  
  Here's a list of some of the changes that are currently needed:
  
  * Named posix groups in regular expressions are replaced with their ASCII equivalent
    - JavaScript doesn't support named posix groups, such as [x-]`[[:alpha:]]`)
  * A shim library is needed to implement missing classes in Opal, such as `File` and `Dir`
  * All mutable String operations have been replaced with assignments (this is done at build time)
    - JavaScript doesn't support mutable strings
  * `$~[0]` used in place of `$&` and `$~[n]` in place of `$n` after running a regular expression (where n is 1, 2, 3...)
  * Opal doesn't recognize modifiers on a regular expression (e.g., multiline)
  * Optional, non-matching capture groups resolve to empty string in gsub block in Firefox (see http://www.bennadel.com/blog/1916-different-browsers-use-different-non-matching-captured-regex-pattern-values.htm)
  * Assignments without a matching value are set to empty string instead of nil (in the following example, `b` is set to empty string)
  
    a, b = "value".split ',', 2
  