anchor.diff:  
   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
  
positive.code: 
  == Setup
  
  To build [path]_asciidoctor.js_, you'll need some tools:
  
  * {uri-nodejs}[Node.js] >= 0.12 and npm (we recommend {uri-nvm}[nvm] to manage multiple active Node.js versions)
  * {uri-bower}[Bower]
  
negative.code: = Contributing Code
  // settings:
  :experimental:
  :idprefix:
  :idseparator: -
  :toc: preamble
  // URIs:
  :uri-nodejs: http://nodejs.org
  :uri-opal: http://opalrb.org
  :uri-bower: http://bower.io
  :uri-nvm: https://github.com/creationix/nvm
  :uri-asciidoctor: http://asciidoctor.org
  :uri-repo: https://github.com/asciidoctor/asciidoctor.js
  
  This guide will give you all the necessary information you need to become a successful Asciidoctor.js developer and code contributor!
  
  == Introduction
  
  {uri-repo}[Asciidoctor.js] is direct port of {uri-asciidoctor}[Asciidoctor] from Ruby to JavaScript using {uri-opal}[Opal], a Ruby-to-JavaScript transpiler.
  The project includes a Rake build script that executes the Opal compiler on the Asciidoctor source code to produce the Asciidoctor.js scripts.
  A npm build is used to assemble and prepare the distribution files, using the Rake build underneath.
  
  