Code Monkey home page Code Monkey logo

asciidoctor-gradle-examples's Introduction

Asciidoctor

Asciidoctor is a fast, open source, Ruby-based text processor for parsing AsciiDoc® into a document model and converting it to output formats such as HTML 5, DocBook 5, manual pages, PDF, EPUB 3, and other formats.

Asciidoctor also has an ecosystem of extensions, converters, build plugins, and tools to help you author and publish content written in AsciiDoc. You can find the documentation for these projects at https://docs.asciidoctor.org.

In addition to running on Ruby, Asciidoctor can be executed on a JVM using AsciidoctorJ or in any JavaScript environment using Asciidoctor.js.

This document is also available in the following languages:
简体中文 | Deutsch | Français | 日本語

Latest Release library (API) docs Build Status (GitHub Actions) Project Chat (Zulip)

Sponsors

We want to recognize our sponsors for their commitment to improving the state of technical documentation by supporting this project. Thank you sponsors! Without your generous support, Asciidoctor would not be possible.

You can support this project by becoming a sponsor through OpenCollective.

AsciiDoc Processing and Built-in Converters

AsciiDoc is the language.
Asciidoctor is the processor.

Asciidoctor reads the AsciiDoc source, as shown in the panel on the left in the image below, and converts it to publishable formats, such as HTML 5, as shown rendered in the panel on the right.

Preview of AsciiDoc source and corresponding rendered HTML

Asciidoctor provides built-in converters for three output formats by default: HTML 5, DocBook 5, and man page (short for manual page). Additional converters, such as PDF and EPUB 3, are provided by separate gems. Asciidoctor also provides an out-of-the-box HTML experience complete with a default stylesheet and built-in integrations like Font Awesome (for icons), highlight.js, Rouge, and Pygments (for source highlighting), and MathJax (for STEM processing).

Asciidoctor Ecosystem

Although Asciidoctor is written in Ruby, it does not mean you need Ruby to use it. Asciidoctor can be executed on a JVM using AsciidoctorJ or in any JavaScript environment (including the browser) using Asciidoctor.js.

Installing an Asciidoctor processor is just the beginning of your publishing experience. Asciidoctor gives you access to a ecosystem of extensions and tools, ranging from add-on converters, to extended syntax, to build plugins, to integrated writing and preview environments:

Asciidoctor is the successor to AsciiDoc.py. If you’re using AsciiDoc.py, see Migrate from AsciiDoc.py to learn how to upgrade to Asciidoctor.

Requirements

Asciidoctor works on Linux, macOS and Windows and requires one of the following implementations of Ruby:

  • CRuby (aka MRI) 2.7 - 3.3

  • JRuby 9.2 - 9.4

  • TruffleRuby (GraalVM)

🔥

If you’re using a non-English Windows environment, you may bump into an Encoding::UndefinedConversionError when invoking Asciidoctor. To solve this issue, we recommend overriding the default external and internal character encodings to utf-8. You can do so by setting the RUBYOPT environment variable as follows:

RUBYOPT="-E utf-8:utf-8"

Once you make this change, all your Unicode headaches should be behind you.

If you’re using an IDE like Eclipse, make sure you set the encoding to UTF-8 there as well. Asciidoctor is optimized to work with UTF-8 as the default encoding.

Installation

Asciidoctor is packaged and distributed to RubyGems.org as a RubyGem (aka gem) named asciidoctor. The asciidoctor gem can be installed on all major operating systems using Ruby packaging tools (gem or bundle). Asciidoctor is also distributed as a Docker image, as a package for numerous Linux distributions, and as a package for macOS (via Homebrew and MacPorts).

Linux package managers

The version of Asciidoctor installed by the package manager may not match the latest release of Asciidoctor. Consult the package repository for your distribution to find out which version is packaged per distribution release.

If you want to use a version of Asciidoctor that’s newer than what is installed by the package manager, see the gem installation instructions.

apk (Alpine Linux)

To install the gem on Alpine Linux, open a terminal and type:

$ sudo apk add asciidoctor

pacman (Arch Linux)

To install the gem on Arch-based distributions, open a terminal and type:

$ sudo pacman -S asciidoctor

APT

On Debian and Debian-based distributions such as Ubuntu, use APT to install Asciidoctor. To install the package, open a terminal and type:

$ sudo apt-get install -y asciidoctor

DNF

On RPM-based Linux distributions, such as Fedora, CentOS, and RHEL, use the DNF package manager to install Asciidoctor. To install the package, open a terminal and type:

$ sudo dnf install -y asciidoctor

macOS

Homebrew

You can use Homebrew, the macOS package manager, to install Asciidoctor. If you don’t have Homebrew on your computer, complete the installation instructions first.

Once Homebrew is installed, you’re ready to install the asciidoctor gem. Open a terminal and type:

$ brew install asciidoctor

Homebrew installs the asciidoctor gem into an exclusive prefix that’s independent of system gems.

MacPorts

You can also use MacPorts, another package manager for macOS, to install Asciidoctor. If you don’t have MacPorts on your computer, complete the installation instructions first.

Once MacPorts is installed, you’re ready to install the asciidoctor gem via the Asciidoctor port. Open a terminal and type:

$ sudo port install asciidoctor

Windows

To use Asciidoctor with Windows, you have two options.

Chocolatey

When you already use chocolatey on your machine, you can use:

choco install ruby

Rubyinstaller

Or you use the Rubyinstaller, download the package for your Windows Version and after the installation go ahead with gem installation instructions.

gem install

Before installing Asciidoctor using gem install, you should set up RVM (or similar) to install Ruby in your home directory (i.e., user space). Then, you can safely use the gem command to install or update the Asciidoctor gem, or any other gem for that matter. When using RVM, gems are installed in a location isolated from the system. (You should never use the gem command to install system-wide gems).

Once you’ve installed Ruby using RVM, and you have activated it using rvm use 3.0, open a terminal and type:

$ gem install asciidoctor

If you want to install a pre-release version (e.g., a release candidate), use:

$ gem install asciidoctor --pre

Bundler

  1. Create a Gemfile in the root folder of your project (or the current directory)

  2. Add the asciidoctor gem to your Gemfile as follows:

    source 'https://rubygems.org'
    gem 'asciidoctor'
    # or specify the version explicitly
    # gem 'asciidoctor', '2.0.22'
  3. Save the Gemfile

  4. Open a terminal and install the gem using:

    $ bundle

To upgrade the gem, specify the new version in the Gemfile and run bundle again. Using bundle update (without specifying a gem) is not recommended as it will also update other gems, which may not be the desired result.

Upgrade

If you installed Asciidoctor using a package manager, your operating system is probably configured to automatically update packages, in which case you don’t need to update the gem manually.

apk (Alpine Linux)

To upgrade the gem, use:

$ sudo apk add -u asciidoctor

APT

To upgrade the gem, use:

$ sudo apt-get upgrade -y asciidoctor

DNF

To upgrade the gem, use:

$ sudo dnf update -y asciidoctor

Homebrew (macOS)

To upgrade the gem, use:

$ brew update
$ brew upgrade asciidoctor

MacPorts (macOS)

To upgrade the gem, use:

$ sudo port selfupdate
$ sudo port upgrade asciidoctor

gem install

If you previously installed Asciidoctor using the gem command, you’ll need to manually upgrade Asciidoctor when a new version is released. You can upgrade the gem by typing:

$ gem install asciidoctor

When you install a new version of the gem using gem install, you end up with multiple versions installed. Use the following command to remove the old versions:

$ gem cleanup asciidoctor

Usage

If the Asciidoctor gem installed successfully, the asciidoctor command line interface (CLI) will be available on your PATH. To verify it’s available, run the following in your terminal:

$ asciidoctor --version

You should see information about the Asciidoctor version and your Ruby environment printed in the terminal.

Asciidoctor 2.0.22 [https://asciidoctor.org]
Runtime Environment (ruby 3.0.1p64 [x86_64-linux]) (lc:UTF-8 fs:UTF-8 in:UTF-8 ex:UTF-8)

Command line interface (CLI)

The asciidoctor command allows you to invoke Asciidoctor from the command line (i.e., a terminal).

The following command converts the file README.adoc to HTML and saves the result to the file README.html in the same directory. The name of the generated HTML file is derived from the source file by changing its file extension to .html.

$ asciidoctor README.adoc

You can control the Asciidoctor processor by adding various flags and switches, which you can learn about using:

$ asciidoctor --help

For instance, to write the file to a different directory, use:

$ asciidoctor -D output README.adoc

The asciidoctor man page provides a complete reference of the command line interface.

Refer to the following resources to learn more about how to use the asciidoctor command.

Ruby API

Asciidoctor also provides an API. The API is intended for integration with other Ruby software, such as Rails, GitHub, and GitLab, as well as other languages, such as Java (via AsciidoctorJ) and JavaScript (via Asciidoctor.js).

To use Asciidoctor in your application, you first need to require the gem:

require 'asciidoctor'

You can then convert an AsciiDoc source file to an HTML file using:

Asciidoctor.convert_file 'README.adoc', to_file: true, safe: :safe
⚠️
When using Asciidoctor via the API, the default safe mode is :secure. In secure mode, several core features are disabled, including the include directive. If you want to enable these features, you’ll need to explicitly set the safe mode to :server (recommended) or :safe.

You can also convert an AsciiDoc string to embeddable HTML (for inserting in an HTML page) using:

content = '_Zen_ in the art of writing https://asciidoctor.org[AsciiDoc].'
Asciidoctor.convert content, safe: :safe

If you want the full HTML document, enable the header_footer option as follows:

content = '_Zen_ in the art of writing https://asciidoctor.org[AsciiDoc].'
html = Asciidoctor.convert content, header_footer: true, safe: :safe

If you need access to the parsed document, you can split the conversion into discrete steps:

content = '_Zen_ in the art of writing https://asciidoctor.org[AsciiDoc].'
document = Asciidoctor.load content, header_footer: true, safe: :safe
puts document.doctitle
html = document.convert

Keep in mind that if you don’t like the output Asciidoctor produces, you can change it! Asciidoctor supports custom converters that can handle converting from the parsed document to the generated output.

One easy way to customize the output piecemeal is by using the template converter. The template converter allows you to supply a Tilt-supported template file to handle converting any node in the document.

However you go about it, you can have 100% control over the output. For more information about how to use the API or to customize the output, see:

Contributing

New contributors are always welcome! If you discover errors or omissions in the source code, documentation, or website content, please don’t hesitate to submit an issue or open a pull request with a fix.

Here are some ways you can contribute:

  • by using prerelease (alpha, beta or preview) versions

  • by reporting bugs

  • by suggesting new features

  • by writing or editing documentation

  • by writing code with tests — No patch is too small.

    • fix typos

    • add comments

    • clean up inconsistent whitespace

    • write tests!

  • by refactoring code

  • by fixing issues

  • by reviewing patches

The Contributing guide provides information on how to create, style, and submit issues, feature requests, code, and documentation to Asciidoctor.

Getting Help

Asciidoctor is developed to help you easily write and publish your content. But we can’t do it without your input. If you need assistance or want to provide feedback, please follow the links to the resources listed on the Get Help page in the docs. Here’s a quick summary:

Project chat (Zulip)

https://chat.asciidoctor.org

Discussion list (archived)

https://discuss.asciidoctor.org

Social media (Twitter)

Follow @asciidoctor or search the #asciidoctor hashtag

Further information and documentation about Asciidoctor can be found on the project’s website.

Home | News | Docs

The Asciidoctor organization on GitHub hosts the project’s source code, issue tracker, and sub-projects.

Code of Conduct

The core Asciidoctor project is governed by the Code of Conduct for the Asciidoctor community of projects. By participating, you’re agreeing to honor this code. Let’s work together to make this a welcoming, professional, inclusive, and safe environment for everyone.

Versioning and Release Policy

This project adheres to semantic versioning (major.minor.patch). Typically, patch releases are only made for the current minor release. However, exceptions are made on a case-by-case basis to address security vulnerabilities and other high-priority issues.

Copyright © 2012-present Dan Allen, Sarah White, Ryan Waldron, and the individual contributors to Asciidoctor. Use of this software is granted under the terms of the MIT License.

See the LICENSE for the full license text.

Authors

Asciidoctor is led by Dan Allen and Sarah White and has received contributions from many individuals in Asciidoctor’s awesome community. The project was initiated in 2012 by Ryan Waldron based on a prototype written by Nick Hengeveld for the Git website.

AsciiDoc.py was started and maintained by Stuart Rackham from 2002 to 2013 and has received contributions from many individuals in the AsciiDoc.py community.

Trademarks

AsciiDoc® and AsciiDoc Language™ are trademarks of the Eclipse Foundation, Inc.

Changelog

Refer to the CHANGELOG for a complete list of changes in older releases.

asciidoctor-gradle-examples's People

Contributors

craigburke avatar danhyun avatar fwilhe avatar ggrossetie avatar kubamarchwicki avatar ldaley avatar mojavelinux avatar nobusugi246 avatar rwinch avatar schauder avatar vogella avatar xamde avatar ysb33r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asciidoctor-gradle-examples's Issues

Add custom template example

Via asciidoctor/asciidoctor#2436 I learned from @mojavelinux that Asciidoc supports converter templates for influencing the HTML output.
As far as I googled this feature is not (well) documented. It would be great to have a working example for the Gradle build so that we can "copy" it for our build.

cc @fap-

Including gems in build.gradle

In the asciidoc-diagram-to-html-example/build.gradle we find a way to include a gem in the build:

...
dependencies {
    gems 'rubygems:asciidoctor-diagram:1.4.0'
}

asciidoctorj {
    version = '1.5.4'
}

asciidoctor {
    dependsOn jrubyPrepare
    requires = ['asciidoctor-diagram']
    gemPath = jrubyPrepare.outputDir
...

I would like to use asciidoctor-mathematical in the pdf task of my own build.gradle. So, as a test, I replaced the asciidoctor-diagram references with asciidoctor-mathematical:

 ...
dependencies {
    gems 'rubygems:asciidoctor-mathematical:0.0.5'
}

asciidoctorj {
    version = '1.5.4'
}

asciidoctor {
    dependsOn jrubyPrepare
    requires = ['asciidoctor-mathematical']
    gemPath = jrubyPrepare.outputDir
...

I get the error:

Execution failed for task ':pdf'.
> (LoadError) no such file to load -- asciidoctor-mathematical

Is this a problem with my gem environment (brew upgrade seemed to mess things up yesterday) or is it an issue with asciidoctor-gradle?

gem list reveals:

addressable (2.4.0)
afm (0.2.2)
Ascii85 (1.0.2)
asciidoctor (1.5.4)
asciidoctor-diagram (1.5.1)
asciidoctor-epub3 (1.5.0.alpha.6)
asciidoctor-mathematical (0.0.5)
asciidoctor-pdf (1.5.0.alpha.12)
asciimath (1.0.4)
bibtex-ruby (4.4.2)
bigdecimal (1.2.8)
citeproc (1.0.3)
...

gem env gives:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.6.2
  - RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-darwin15]
  - INSTALLATION DIRECTORY: /usr/local/bin
  - USER INSTALLATION DIRECTORY: /Users/paulvickers/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin/bin
  - SPEC CACHE DIRECTORY: /Users/paulvickers/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.3.1/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-15
  - GEM PATHS:
     - /usr/local/bin
     - /Users/paulvickers/.gem/ruby/2.3.0
     - /usr/local/lib/ruby/gems/2.3.0
     - /usr/local/Cellar/ruby/2.3.1/lib/ruby/gems/2.3.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-document"
     - "install" => "--no-rdoc --no-ri"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /opt/X11/bin
     - /usr/local/git/bin
     - /Library/TeX/texbin

but which ruby gives /usr/local/bin/ruby

By the way, I should like to say thanks to Dan et al for this brilliant project. It has come on a long way in the last two years and it's exciting to see it develop so well.

Example project - build fails

I have been trying to get this example running and have tried many combinations of JDK with Gradle versions but always seem to run into a build failure. I am particularly interested in getting the revealjs example to work.
If this build works for others, I would be happy just to know which versions of what are being run.
Here are my current settings, and the current error.

PS C:\git-repos\asciidoctor-gradle-examples> java --version
openjdk 17.0.5 2022-10-18
OpenJDK Runtime Environment JBR-17.0.5+1-653.14-nomod (build 17.0.5+1-b653.14)
OpenJDK 64-Bit Server VM JBR-17.0.5+1-653.14-nomod (build 17.0.5+1-b653.14, mixed mode)
PS C:\git-repos\asciidoctor-gradle-examples> .\gradlew --version


Gradle 7.3

Build time: 2021-11-09 20:40:36 UTC
Revision: 96754b8c44399658178a768ac764d727c2addb37

Kotlin: 1.5.31
Groovy: 3.0.9
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 17.0.5 (JetBrains s.r.o. 17.0.5+1-b653.14)
OS: Windows 11 10.0 amd64

PS C:\git-repos\asciidoctor-gradle-examples> .\gradlew asciidoctor

FAILURE: Build failed with an exception.

  • What went wrong:
    'void org.gradle.wrapper.PathAssembler.(java.io.File)'

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.3/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 952ms

invalid style for listing block: plantuml

Hello - I am struggling to see what's wrong with my gradle file.
It builds correctly but it fails to activate asciidoctor-diagram, causing - as such - the error in subject and no images embedded in the generated html file.

Any hint appreciated...

here follows the output of the build

./gradlew clean asciidoctor

> Task :jrubyPrepare
Successfully installed asciidoctor-diagram-1.5.6
Successfully installed asciidoctor-1.5.6.1
2 gems installed

> Task :asciidoctor
Converting /home/fabrizio/gitlab/ipt-analytics/bayawak/src/docs/test.adoc
asciidoctor: WARNING: test.adoc: line 6: invalid style for listing block: plantuml


BUILD SUCCESSFUL in 16s

This is my adoc file (test.adoc)

= Test

A PlantUML diagram

[plantuml, "diag", png]
----
@startuml

actor User

component Comp1
component Comp2

folder "System"

User --> System
System ..> Comp1
System ..> Comp2

@enduml
----

Here we are!

and finally this is my build.gradle

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'org.asciidoctor:asciidoctorj-diagram:1.5.4.1'
        classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.6'
    }
}

plugins {
    id "org.asciidoctor.convert" version "1.5.6"
    id 'com.github.jruby-gradle.base' version '1.4.0'
}
apply plugin: 'org.asciidoctor.convert'

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    gems 'rubygems:asciidoctor-diagram:1.5.6'
}

asciidoctorj {
    version = '1.5.6'
}

asciidoctor {
    sourceDir = file('src/docs')
    sources {
        include 'test.adoc'
    }
    outputDir = file('build/docs')
    logDocuments = true

    dependsOn jrubyPrepare
    requires = ['asciidoctor-diagram']
    gemPath = jrubyPrepare.outputDir

    attributes   \
            'build-gradle': file('build.gradle'),
            'source-highlighter': 'coderay',
            'imagesdir': 'images',
            'toc': 'left',
            'icons': 'font',
            'allow-uri-read': true,

            backends = ['html5']
}

wrapper {
    gradleVersion = '4.2'
}

Continuously monitor and upgrade the examples to use the latest version of Gradle

Looks like many of the examples are still using Gradle 2.12 (released on Mar 14, 2016). However Gradle is now at 4.7.

Consequently some of the examples are not working with Gradle versions >= 4.0 as they throw exceptions (c.f. jruby-gradle/jruby-gradle-plugin#326).

Many frameworks (e.g. Spring Boot 2.0.x), depend on Gradle versions >= 4.0 and consequently none of these examples work with a Spring Boot 2 project.

Please keep the examples up-to-date with the latest versions of Gradle so that issues like this are proactively discovered.

build issues "Cookie rejected"

Upon fresh checkout, the command:

gradle clean asciidoctor

leads to several messages like (among loads of downloads...):

Cookie rejected: "$Version=0; logged_in=no; $Path=/; $Domain=.github.com". Illegal domain attribute ".github.com". Domain of origin: "github.com"

build nevertheless works fine, but the message might irritate others :-)

Fix converters and extensions dependency configuration

As seen in asciidoctor/asciidoctor-gradle-plugin#203, the right way to setup converters and extensions is using the asciidoctor configuration in the project's dependencies.
Current examples define them as classpath dependencies in the buildscript section, which causes issues running with the gradle daemon.

Currently, the following examples should be fixed:

  • asciidoc-to-all-example
  • asciidoct-to-epu3-example
  • asciidoc-to-pdf-example
  • asciidoc-to-pdf-with-theme-example

could you explain the build script snippet

// what's this asciidoctj for?
asciidoctorj {
    version = '1.5.5'
}

asciidoctor {
// there seem to be a syntax error in ItelliJ idea,what's "\" is for?
// but weird it works. are the lines below "\" is a Map? 
    attributes \
        'build-gradle': file('build.gradle'),
        'sourcedir': project.sourceSets.main.java.srcDirs[0],
        'endpoint-url': 'http://example.org',
        'source-highlighter': 'coderay',
        'imagesdir': './images',
        //'toc': 'left',
        'icons': 'font',
        'setanchors': '',
        'idprefix': '',
        'idseparator': '-'
        //'docinfo1': ''
}

I also refer to Ascidoc plugin which is quite different from the syntax in your build script!

Failed to generate PDF documentation

Hi

I have Spring REST Docs project that integrates ascii-doctor Gradle plugin to generate HTML5 documentation.
Here is build.gradle:

plugins {
     id 'org.springframework.boot' version '2.2.1.RELEASE' apply true
     id "org.asciidoctor.convert" version "2.4.0"
}

ext {
    restDocsVersion = '2.0.4.RELEASE'
    snippetsDir = file('build/generated-snippets')
}

test { 
   outputs.dir snippetsDir
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}")
    { exclude group: "org.springframework.boot", module: "spring-boot-starter" }
   testCompile 'org.springframework.restdocs:spring-restdocs-mockmvc:' + restDocsVersion  	
   asciidoctor 'org.springframework.restdocs:spring-restdocs-asciidoctor:' + restDocsVersion      
}

asciidoctor {
	inputs.dir snippetsDir 
	dependsOn test 
}

I tried to add Asciidoctor PDF Gradle plugin based on your example:

plugins {
     id 'org.springframework.boot' version '2.2.1.RELEASE' apply true
     id "org.asciidoctor.convert" version "2.4.0"
     id 'org.asciidoctor.jvm.pdf' version '2.4.0'
     id 'org.asciidoctor.jvm.gems' version '2.4.0'
}

However I got an exception:

An exception occurred applying plugin request [id: 'org.asciidoctor.jvm.pdf', version: '2.4.0']
> Failed to apply plugin [class 'org.asciidoctor.gradle.jvm.AsciidoctorJBasePlugin']
   > Cannot add extension with name 'asciidoctorj', as there is an extension already registered with that name.

Error "entity expansion has grown too large" when trying to create PDF from adoc

Hello,
I'm trying to convert my adoc to PDF. Therefore I've utilized your example build.gradle from this repository. Posted my build.gradle after the stacktrace. I had to comment out the sourcedir property line, because it is unknown > Could not get unknown property 'sourceSets' for root project 'threat models' of type org.gradle.api.Project.

Unfortunately my build process breaks with the error entity expansion has grown too large, see stacktrace below.

I'm using gradle-wrapper version 8.4. I

Any idea how I can fix this prob to get my adoc in pdf-format?

> Task :asciidoctorPdf
Feb. 08, 2024 10:20:56 VORM. org.asciidoctor.jruby.internal.JRubyAsciidoctor convertFile
SCHWERWIEGEND: (RuntimeError) entity expansion has grown too large
Exception in thread "main" org.asciidoctor.gradle.remote.AsciidoctorRemoteExecutionException: Error running Asciidoctor whilst attempting to process X:\develop\elwis\docs\ThreatModel\src\docs\asciidoc\elwis_threat_model.adoc using backend pdf
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:91)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
	at groovy.lang.Closure.call(Closure.java:412)
	at groovy.lang.Closure.call(Closure.java:428)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2357)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2342)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2395)
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.convertFiles(AsciidoctorJavaExec.groovy:82)
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.access$1(AsciidoctorJavaExec.groovy)
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.doCall(AsciidoctorJavaExec.groovy:73)
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_run_closure3.call(AsciidoctorJavaExec.groovy)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2357)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2342)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2383)
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:68)
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:49)
Caused by: org.asciidoctor.jruby.internal.AsciidoctorCoreException: org.jruby.exceptions.RuntimeError: (RuntimeError) entity expansion has grown too large
	at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:400)
Caused by: org.asciidoctor.jruby.internal.AsciidoctorCoreException: org.jruby.exceptions.RuntimeError: (RuntimeError) entity expansion has grown too large

	at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:366)
	at org.asciidoctor.gradle.remote.AsciidoctorJavaExec$_convertFiles_closure4.doCall(AsciidoctorJavaExec.groovy:87)
	... 22 more
Caused by: org.jruby.exceptions.RuntimeError: (RuntimeError) entity expansion has grown too large
Caused by: org.jruby.exceptions.RuntimeError: (RuntimeError) entity expansion has grown too large

	at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rexml.text.unnormalize(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rexml/text.rb:399)
	at org.jruby.RubyString.gsub(org/jruby/RubyString.java:3126)
	at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rexml.text.unnormalize(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rexml/text.rb:396)
	at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rexml.attribute.value(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rexml/attribute.rb:139)
	at RUBY.each(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rexml/element.rb:1052)
	at RUBY.each_attribute(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rexml/element.rb:1038)
	at org.jruby.RubyHash.each_value(org/jruby/RubyHash.java:1456)
	at RUBY.each_attribute(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rexml/element.rb:1036)
	at RUBY.each(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rexml/element.rb:1051)
	at RUBY.extract_attributes_and_properties(uri:classloader:/gems/prawn-svg-0.30.0/lib/prawn/svg/elements/base.rb:230)
	at RUBY.process(uri:classloader:/gems/prawn-svg-0.30.0/lib/prawn/svg/elements/base.rb:48)
	at RUBY.draw(uri:classloader:/gems/prawn-svg-0.30.0/lib/prawn/svg/interface.rb:49)
	at RUBY.save_graphics_state(uri:classloader:/gems/pdf-core-0.7.0/lib/pdf/core/renderer.rb:245)
	at RUBY.save_graphics_state(uri:classloader:/gems/prawn-2.2.2/lib/prawn/document/internals.rb:31)
	at RUBY.draw(uri:classloader:/gems/prawn-svg-0.30.0/lib/prawn/svg/interface.rb:44)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.document.bounding_box.init_bounding_box(uri:classloader:/gems/prawn-2.2.2/lib/prawn/document/bounding_box.rb:196)
	at RUBY.bounding_box(uri:classloader:/gems/prawn-2.2.2/lib/prawn/document/bounding_box.rb:157)
	at RUBY.draw(uri:classloader:/gems/prawn-svg-0.30.0/lib/prawn/svg/interface.rb:43)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.font.save_font(uri:classloader:/gems/prawn-2.2.2/lib/prawn/font.rb:215)
	at RUBY.draw(uri:classloader:/gems/prawn-svg-0.30.0/lib/prawn/svg/interface.rb:42)
	at RUBY.render_behind(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/formatted_text/inline_image_renderer.rb:35)
	at uri_3a_classloader_3a_.gems.pdf_minus_core_minus_0_dot_7_dot_0.lib.pdf.core.text.character_spacing(uri:classloader:/gems/pdf-core-0.7.0/lib/pdf/core/text.rb:218)
	at RUBY.render_behind(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/formatted_text/inline_image_renderer.rb:35)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.document.float(uri:classloader:/gems/prawn-2.2.2/lib/prawn/document.rb:364)
	at RUBY.render_behind(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/formatted_text/inline_image_renderer.rb:34)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.draw_fragment_underlays(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:574)
	at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1809)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.draw_fragment_underlays(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:573)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.draw_fragment(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:282)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.wrap.format_and_draw_fragment(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/wrap.rb:156)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.arranger.apply_font_size(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/arranger.rb:255)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.font.font_size(uri:classloader:/gems/prawn-2.2.2/lib/prawn/font.rb:101)
	at uri_3a_classloader_3a_.gems.asciidoctor_minus_pdf_minus_1_dot_5_dot_3.lib.asciidoctor.pdf.ext.prawn.extensions.font_size(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/ext/prawn/extensions.rb:265)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.arranger.apply_font_size(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/arranger.rb:255)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.arranger.apply_font_settings(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/arranger.rb:175)
	at uri_3a_classloader_3a_.gems.pdf_minus_core_minus_0_dot_7_dot_0.lib.pdf.core.text.character_spacing(uri:classloader:/gems/pdf-core-0.7.0/lib/pdf/core/text.rb:218)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.arranger.apply_font_settings(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/arranger.rb:166)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.arranger.apply_color_and_font_settings(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/arranger.rb:143)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.wrap.format_and_draw_fragment(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/wrap.rb:155)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.wrap.print_line(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/wrap.rb:98)
	at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1809)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.wrap.print_line(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/wrap.rb:96)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.wrap.wrap(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/wrap.rb:63)
	at uri_3a_classloader_3a_.gems.asciidoctor_minus_pdf_minus_1_dot_5_dot_3.lib.asciidoctor.pdf.formatted_text.inline_image_arranger.wrap(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/formatted_text/inline_image_arranger.rb:12)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.render(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:226)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.font.font_size(uri:classloader:/gems/prawn-2.2.2/lib/prawn/font.rb:101)
	at uri_3a_classloader_3a_.gems.asciidoctor_minus_pdf_minus_1_dot_5_dot_3.lib.asciidoctor.pdf.ext.prawn.extensions.font_size(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/ext/prawn/extensions.rb:265)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.render(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:219)
	at uri_3a_classloader_3a_.gems.prawn_minus_templates_minus_0_dot_1_dot_2.lib.prawn.text.text_rendering_mode(uri:classloader:/gems/prawn-templates-0.1.2/lib/prawn/text.rb:19)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.render(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:214)
	at uri_3a_classloader_3a_.gems.pdf_minus_core_minus_0_dot_7_dot_0.lib.pdf.core.text.character_spacing(uri:classloader:/gems/pdf-core-0.7.0/lib/pdf/core/text.rb:214)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.render(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:213)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.font.save_font(uri:classloader:/gems/prawn-2.2.2/lib/prawn/font.rb:215)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted.box.render(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text/formatted/box.rb:212)
	at uri_3a_classloader_3a_.gems.asciidoctor_minus_pdf_minus_1_dot_5_dot_3.lib.asciidoctor.pdf.ext.prawn.extensions.fill_formatted_text_box(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/ext/prawn/extensions.rb:376)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.draw_remaining_formatted_text_on_new_pages(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text.rb:360)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.formatted_text(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text.rb:218)
	at uri_3a_classloader_3a_.gems.prawn_minus_2_dot_2_dot_2.lib.prawn.text.text(uri:classloader:/gems/prawn-2.2.2/lib/prawn/text.rb:166)
	at uri_3a_classloader_3a_.gems.asciidoctor_minus_pdf_minus_1_dot_5_dot_3.lib.asciidoctor.pdf.converter.typeset_text(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:3903)
	at uri_3a_classloader_3a_.gems.asciidoctor_minus_pdf_minus_1_dot_5_dot_3.lib.asciidoctor.pdf.converter.layout_prose(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:2860)
	at RUBY.convert_paragraph(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:710)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:138)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:75)
	at RUBY.content(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:84)
	at org.jruby.RubyArray.map(org/jruby/RubyArray.java:2577)
	at RUBY.content(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:84)
	at RUBY.traverse(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:155)
	at RUBY.convert_section(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:586)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:138)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:75)
	at RUBY.content(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:84)
	at org.jruby.RubyArray.map(org/jruby/RubyArray.java:2577)
	at RUBY.content(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:84)
	at RUBY.traverse(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:155)
	at RUBY.convert_section(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:586)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:138)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:75)
	at RUBY.content(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:84)
	at org.jruby.RubyArray.map(org/jruby/RubyArray.java:2577)
	at RUBY.content(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/abstract_block.rb:84)
	at RUBY.content(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/document.rb:1020)
	at RUBY.traverse(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:155)
	at RUBY.convert_document(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:267)
	at RUBY.indent_section(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:596)
	at RUBY.convert_document(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:214)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-pdf-1.5.3/lib/asciidoctor/pdf/converter.rb:138)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/document.rb:951)
	at RUBY.convert(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/convert.rb:118)
	at RUBY.convert_file(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/convert.rb:183)
	at org.jruby.RubyIO.open(org/jruby/RubyIO.java:1158)
	at RUBY.convert_file(uri:classloader:/gems/asciidoctor-2.0.10/lib/asciidoctor/convert.rb:183)

> Task :asciidoctorPdf FAILED

Execution failed for task ':asciidoctorPdf'.
> Remote Asciidoctor process failed to complete successfully

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.4/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 8s
2 actionable tasks: 1 executed, 1 up-to-date

plugins {
    id 'idea'
    id 'net.researchgate.release' version '3.0.2'
    id 'org.asciidoctor.jvm.convert' version '3.3.1'
    id 'org.asciidoctor.jvm.pdf' version '3.3.1'
    id 'org.asciidoctor.jvm.gems' version '3.3.1'
}

repositories {
    mavenCentral()
    ruby.gems()

}


dependencies {
    asciidoctorGems 'rubygems:rouge:3.15.0'
}

group = 'de.hmmh.itsqs'


asciidoctorPdf {
    dependsOn asciidoctorGemsPrepare

    baseDirFollowsSourceFile()

    asciidoctorj {
        requires 'rouge'
        attributes 'build-gradle': file('build.gradle'),
             //   'sourcedir': project.sourceSets.main.java.srcDirs[0],
                'endpoint-url': 'http://example.org',
                'source-highlighter': 'rouge',
                'imagesdir': '.',
                'toc': 'left',
                'icons': 'font',
                'idprefix': '',
                'idseparator': '-'
    }
}

asciidoctor {
    logDocuments=true

    outputOptions {
        backends=['html5']
        separateOutputDirs=true
    }

    sources {
        include '**/*.adoc'
        exclude ''
    }
    resources {
        from(sourceDir) {
            include '*.svg', '*.png', '*.html'
        }
    }

    outputDir file('build/docs/html')
}

Here are the first few lines of my adoc source:

= Systemimmanente Sicherheitsrisiken
:sectnums:
:icons: font
Max Mustermann
:toc:
:toclevels: 3

:baseUrl:   https://threat-models.x.y.z/risks_doc.html
:no_action_req: keine Maßnhame erforderlich

Das vorliegende Dokument stellt einen Security-Audit-Bericht dar.

== Einleitung

Running asciidoctor-pdf aoutside of gradle leads to same error message:

> asciidoctor-pdf *.adoc
entity expansion has grown too large (RuntimeError)

revealjs example doesnt work anymore

I've recently cloned this repository and tried to create slides with no luck. Failure message says:

bind argument must be an instance of Tilt::CompiledTemplates

  • gradle: wrapper
  • jdk: 1.8.0_111
  • os: linux (debian)

BTW: I know there's a ruby gem for asciidoctor-revealjs. Would it be possible to use it as gem dependency and make it work ?

asciidoc-diagram-to-html-example failing to build

If you simply download the examples as a ZIP, and try the asciidoc-diagram-to-html-example the following occurs:

C:\Greg\asciidoc-diagram-to-html-example>gradlew asciidoctor
:jrubyPrepare FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':jrubyPrepare'.
> Could not resolve all dependencies for configuration ':gems'.
   > Could not resolve rubygems:asciidoctor-diagram:[1.5.4,1.5.4].
     Required by:
         :asciidoc-diagram-to-html-example:1.0.0-SNAPSHOT
      > Could not resolve rubygems:asciidoctor-diagram:[1.5.4,1.5.4].
         > Failed to list versions for rubygems:asciidoctor-diagram.
            > Could not list versions using M2 pattern 'http://rubygems.lasagna.io/proxy/maven/releases/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]'.
               > Could not GET 'http://rubygems.lasagna.io/proxy/maven/releases/rubygems/asciidoctor-diagram/'.
                  > rubygems.lasagna.io:80 failed to respond

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.587 secs

From the looks of it, there's something more fundamental going wrong with the setup, but I don't know enough to be able to analyse any further, so any ideas?

Thanks

asciidoc-to-deckjs-example:download failed

Hi,
I try to compile asciidoctor-gradle-examples but I have the following error.
Could you please help me ?
Best regards,
Franck

:asciidoc-diagram-to-html-example:jrubyPrepareGems UP-TO-DATE
:asciidoc-diagram-to-html-example:asciidoctor
:asciidoc-to-all-example:asciidoctor UP-TO-DATE
:asciidoc-to-deckjs-example:download FAILED

FAILURE: Build failed with an exception.

  • Where:
    Build file 'D:\workshop\asciidoc\asciidoctor-gradle-examples\asciidoc-to-deckjs-example\build.gradle' line: 39

  • What went wrong:
    Execution failed for task ':asciidoc-to-deckjs-example:download'.

    Could not connect to HTTP server on "github.com".

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 28.441 secs

Error Building Reveal Example

I am receiving an error trying to build the latest asciidoc-to-revealjs-example project (latest master branch code is currently https://github.com/asciidoctor/asciidoctor-gradle-examples/tree/d1730068ec2c386eb7d9d0ee1adcd7b14faddb52).

$ git clone [email protected]:asciidoctor/asciidoctor-gradle-examples.git
$ cd asciidoctor-gradle-examples/asciidoc-to-revealjs-example/
$ ./gradlew asciidoctor --stacktrace
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.12/userguide/gradle_daemon.html.
:download UP-TO-DATE
:jrubyPrepare UP-TO-DATE
:asciidoctor
Passing through unknown backend: revealjs
(RuntimeError) Could not find a converter to handle transform: document
:asciidoctor FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':asciidoctor'.
> Error running Asciidoctor

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':asciidoctor'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
	at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
	at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
	at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
	at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
	at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
	at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
	at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
	at org.gradle.internal.Factories$1.create(Factories.java:22)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
	at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
	at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
	at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
	at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
	at org.gradle.util.Swapper.swap(Swapper.java:38)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:40)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
	at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
	at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.GradleException: Error running Asciidoctor
	at org.asciidoctor.gradle.AsciidoctorTask.processDocumentsAndResources(AsciidoctorTask.groovy:663)
	at org.asciidoctor.gradle.AsciidoctorTask.processAsciidocSources(AsciidoctorTask.groovy:596)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
	... 68 more
Caused by: org.asciidoctor.internal.AsciidoctorCoreException: org.jruby.exceptions.RaiseException: (RuntimeError) Could not find a converter to handle transform: document
	at org.asciidoctor.internal.JRubyAsciidoctor.renderFile(JRubyAsciidoctor.java:338)
	at org.asciidoctor.Asciidoctor$renderFile.call(Unknown Source)
	at org.asciidoctor.gradle.AsciidoctorProxyImpl.renderFile(AsciidoctorProxyImpl.groovy:26)
	at org.asciidoctor.gradle.AsciidoctorProxy$renderFile.call(Unknown Source)
	at org.asciidoctor.gradle.AsciidoctorTask.processSingleFile(AsciidoctorTask.groovy:676)
	at org.asciidoctor.gradle.AsciidoctorTask$_processDocumentsAndResources_closure7.doCall(AsciidoctorTask.groovy:656)
	at org.asciidoctor.gradle.AsciidoctorTask.processDocumentsAndResources(AsciidoctorTask.groovy:651)
	... 77 more
Caused by: org.jruby.exceptions.RaiseException: (RuntimeError) Could not find a converter to handle transform: document
	at RUBY.find_converter(/Users/jeffbrown/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.5/15d22a1d8e3880c0632f81da474d48b873d5579/asciidoctorj-1.5.5.jar!/gems/asciidoctor-1.5.5/lib/asciidoctor/converter/composite.rb:52)
	at RUBY.converter_for(/Users/jeffbrown/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.5/15d22a1d8e3880c0632f81da474d48b873d5579/asciidoctorj-1.5.5.jar!/gems/asciidoctor-1.5.5/lib/asciidoctor/converter/composite.rb:41)
	at RUBY.convert(/Users/jeffbrown/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.5/15d22a1d8e3880c0632f81da474d48b873d5579/asciidoctorj-1.5.5.jar!/gems/asciidoctor-1.5.5/lib/asciidoctor/converter/composite.rb:31)
	at RUBY.convert(/Users/jeffbrown/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.5/15d22a1d8e3880c0632f81da474d48b873d5579/asciidoctorj-1.5.5.jar!/gems/asciidoctor-1.5.5/lib/asciidoctor/document.rb:1050)
	at RUBY.convert(/Users/jeffbrown/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.5/15d22a1d8e3880c0632f81da474d48b873d5579/asciidoctorj-1.5.5.jar!/gems/asciidoctor-1.5.5/lib/asciidoctor.rb:1506)
	at RUBY.convert_file(/Users/jeffbrown/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.5/15d22a1d8e3880c0632f81da474d48b873d5579/asciidoctorj-1.5.5.jar!/gems/asciidoctor-1.5.5/lib/asciidoctor.rb:1579)
	at RUBY.convertFile(<script>:68)
	at org.jruby.gen.InterfaceImpl812961622.convertFile(org/jruby/gen/InterfaceImpl812961622.gen:13)
	at org.asciidoctor.gradle.AsciidoctorProxyImpl.renderFile(AsciidoctorProxyImpl.groovy:26)
	at org.asciidoctor.gradle.AsciidoctorTask.processSingleFile(AsciidoctorTask.groovy:676)
	at org.asciidoctor.gradle.AsciidoctorTask$_processDocumentsAndResources_closure7.doCall(AsciidoctorTask.groovy:656)
	at org.asciidoctor.gradle.AsciidoctorTask.processDocumentsAndResources(AsciidoctorTask.groovy:651)
	at org.asciidoctor.gradle.AsciidoctorTask.processAsciidocSources(AsciidoctorTask.groovy:596)


BUILD FAILED

Example to create PDF with diagrams

Here's a working example to generate PDFs with PlantUML diagrams

buildscript {
    dependencies {
        classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.11'
    }
}



plugins {
    id 'org.asciidoctor.convert' version '1.5.3'
    id 'com.github.jruby-gradle.base' version '0.3.0'
}

apply plugin: 'java'
apply plugin: 'org.asciidoctor.convert'

version = '1.0.0-SNAPSHOT'

asciidoctorj {
    version = '1.5.4'
}

dependencies {
    gems 'rubygems:asciidoctor-diagram:1.2.0'
}

asciidoctor {
    backends 'pdf'
    dependsOn jrubyPrepareGems
    requires = ['asciidoctor-diagram']
    gemPath = jrubyPrepareGems.outputDir
    attributes  'build-gradle': file('build.gradle'),
                'source-highlighter' : 'coderay',
                'imagesdir':'images',
                'toc':'left',
                'icons': 'font',
                'setanchors':'true',
                'idprefix':'',
                'idseparator':'-',
                'docinfo1':'true'
}

Changes to the HTML5 Version

  • Increased version for plugin com.github.jruby-gradle.base to 0.3.0 due to errors (current version is 1.2.0, but won't work)
  • Increased version for plugin org.asciidoctor.convert
  • Added dependency for asciidoctorj-pdf plugin

Here is another example which uses the diagram plugin from asciidoctorj. It compiles, but I don't get how to include the images in the PDF (the generated diagram images are in the built directory, the PDF-Compiler expects them in the source directory).

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3'
                classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.11'
                classpath 'org.asciidoctor:asciidoctorj-diagram:1.3.1'
    }
}

// apply plugin: 'org.asciidoctor.gradle.asciidoctor'  
apply plugin: 'org.asciidoctor.convert'

asciidoctorj {
    version = '1.5.4'
}

repositories {
    mavenLocal()
    jcenter()
}

resources {
    from(sourceDir) {
        include
    }
}

asciidoctor {
    backends  'pdf'
    requires ['asciidoctor-diagram']
    attributes 'build-gradle': file('build.gradle'),
            'imagesdir':'./images'
}

problem with embedding images in pdf on Windows

Have you tried to run the example for the pdf generation on Windows?
I cloned the repository to D:\test. When I build the pdf (asciidoc-to-pdf-example project) on Windows from a DOS console window, the image is missing from the pdf and I get the warning

could not embed image; ./images/D:/test/asciidoctor-gradle-examples/asciidoc-to-pdf-example/src/docs/asciidoc/images/sunset.jpg not found

The given path is obsiously wrong and looks like a mixture of Unix and Windows paths.

image

gradle build asciidoc-to-revealjs-example fails

Build with command

gw --stacktrace asciidoctor

fails with exception:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':asciidoctor'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)
Caused by: org.gradle.api.GradleException: Error running Asciidoctor
    at org.asciidoctor.gradle.AsciidoctorTask.processDocumentsAndResources(AsciidoctorTask.groovy:659)
    at org.asciidoctor.gradle.AsciidoctorTask.this$4$processDocumentsAndResources(AsciidoctorTask.groovy)
    at org.asciidoctor.gradle.AsciidoctorTask.processAsciidocSources(AsciidoctorTask.groovy:592)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 60 more
Caused by: org.jruby.exceptions.RaiseException: (SystemStackError) stack level too deep
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/block_ulist.html.slim:17)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/block_ulist.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/list.rb:25)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:13)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:12)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)
    at RUBY.render(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:96)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/template.rb:190)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/converter/composite.rb:31)
    at RUBY.convert(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/asciidoctor-1.5.2/lib/asciidoctor/abstract_block.rb:71)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:15)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.__singleton__(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim:14)
    at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533)
    at RUBY.__singleton__(Native Method)
    at RUBY.__tilt_2036(/tmp/asciidoctor-gradle-examples/asciidoc-to-revealjs-example/build/download/templates/templates/slim/section.html.slim)
    at org.jruby.RubyMethod.call(org/jruby/RubyMethod.java:128)
    at RUBY.evaluate(/home/alien/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/1.5.2/39d33f739ec1c46f6e908a725264eb74b23c9f99/asciidoctorj-1.5.2.jar!/gems/tilt-2.0.1/lib/tilt/template.rb:155)



Show how to generate EPUB and MOBI

There is an example project that shows how to generate an EPUB document. The documentation for asciidoctor-epub3 says it's also capable of generating a MOBI document.

https://github.com/asciidoctor/asciidoctor-epub3

Can you please document how to generate an EPUB and a MOBI document in the same project? Here's what I tried. A build/asciidoctor/kf8 directory is created, but there's nothing in it.

asciidoctor {
    backends 'html5', 'pdf', 'epub3', 'kf8'
    attributes 'sourcedir': '../../../main/webapp',
            'source-highlighter': 'coderay',
            'imagesdir': './images',
             toc: 'left',
             icons: 'font',
             linkattrs: true,
             encoding: 'utf-8',
            'setanchors': 'true',
            'idprefix': '',
            'idseparator': '-',
            'docinfo1': 'true'
}

Error in task `jrubyPrepareGems` of `asciidoc-diagram-to-html-example`

When generating the documentation for project asciidoc-diagram-to-html-example the following error appears (windows 8.1, JDK8_x64):

:asciidoc-diagram-to-html-example:jrubyPrepareGems                                                                                            
ERROR:  Loading command: install (LoadError)                      
        Could not load FFI Provider: (NotImplementedError) FFI not available: null
 See http://jira.codehaus.org/browse/JRUBY-4583
ERROR:  While executing gem ... (NoMethodError)                   
    undefined method `invoke_with_build_args' for nil:NilClass
                                                                                                                                                                                                                                                                    :
asciidoc-diagram-to-html-example:jrubyPrepareGems  

For me, just just upgrading the version of the jruby plugin worked. I used version 0.1.17. (build.gradle)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.