anchor.diff:  :lightguard: https://github.com/LightGuard
   :asciidoctorj: https://github.com/asciidoctor/asciidoctorj
   :asciidoctorj-name: AsciidoctorJ
  +:asciidoctorjs-name: Asciidoctor.js
   :asciidoctorj-epub-name: Asciidoctorj-EPUB
   :asciidoctorj-pdf-name: Asciidoctorj-PDF
   :lordofthejars: https://github.com/lordofthejars
  
positive.code: viewDistance:: Number of slides away from the current that are visible.
    Type is integer.
  
  == Upgrading From Older Versions of Asciidoctor
  
  NOTE: To help with migration the old plugin will print a number of messages to help with a conversion. The amount of text is controlled via `--warnings-mode` in Gradle 4.5+. For Gradle 4.0-4.4 use `--info` to get the full list of recommendations. Use of `--warnings-mode=none`  (Gradle 4.5+) or `--quiet` (Gradle 4.0-4.4) will produce migration information.
  
  Firstly replace plugin `org.asciidoctor.convert` with `org.asciidoctor.jvm.convert`.
  
  If you used `separateOutputDirs`, yout need to change that to `outputOptions.separateOutputDirs`. If you only use one backend in the task you can delete this and it will default to `false` for single backends and `true` for multiple backends.
  
  The base directory is now set to the directory of the root project. This may influence how your includes are processed. Either set `baseDir` to specific directory or or use the `includedir` which is automatically calculates to be the correct source directory.
  
  Gradle injected a number of attributes into the build. Some of these names have been changed from 1.5/1.6. to indicate that they are injected:
  
  [cols="4*"]
  |===
  | *Old name* | *New name* | Substituable | *Usage*
  | `projectdir` | `gradle-projectdir` | No | The Gradle project directory which is running the Asciidoctor task.
  | `rootdir` | `gradle-rootdir` | No | The rootproject directory in a multi-project build.
  | `project-name` | `gradle-project-name` | Yes | The name of the current Gradle subproject. (Or the root project in case of a single project).
  
negative.code: If you do not, then the plugin will refuse to bootstrap `kindlegen`.
  
  NOTE: The base plugin is automatically applied by the EPUB plugin. If you only produce EPUB3 formats with the EPUB plugin you do not have to agree to the usage of `kindlegen`.
  
  == Working with Asciidoctor.js instead
  [[asciidoctorjs]
  
  *TBC*
  
  ifndef::env-site[]
  == Development
  