anchor.diff:  
   - A file that registers the extension (sometimes also contains the extension)
   - A file with the extension itself (when not defined in the registration file)
  -- A file with sample AsciiDoc source to use to test the section
  +- A file with sample AsciiDoc source to use to test the extension
   - Auxiliary assets needed by the extension
   
   For example, the emoji-inline-macro extension has four files:
  
positive.code: 
  A repository of sample and incubating Ruby-based extensions for Asciidoctor.
  
  If you just want to use the extensions here, skip ahead to <<using-an-extension>>.
  To create your own extension, we recommend that you first read the http://asciidoctor.org/docs/user-manual/#extensions[extensions section] in the Asciidoctor user manual.
  
  == Extension types
  
  We have these types of extensions in the lab:
  
  - *Preprocessor* - processes the AsciiDoc source before it is parsed
  - *IncludeProcessor* - intercepts the AsciiDoc include directive
  
negative.code: 
  === Formal
  
  If you're creating a more complex extension or want to enable reuse, you're encouraged to move the extension code to the [path]_extension.rb_ inside a directory with the same base name as the registration file.
  In the case of a block, block macro or inline macro, this enables you to register the extension multiple times.
  
  ._lib/sample-block.rb_
  ```ruby
  