private Asciidoctor createAsciidoctor()

in domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocConverterService.java [64:84]


    private Asciidoctor createAsciidoctor() {

        class LocalIncludeProcessor extends IncludeProcessor {

            @Override
            public boolean handles(final String target) {
                return true;
            }

            @Override
            public void process(final Document document, final PreprocessorReader reader, final String target, final Map<String, Object> attributes) {
                val contextClass = context.get();
                val content = resourceReaderService.readResource(contextClass, target, attributes);
                reader.pushInclude(content, target, target, 1, attributes);
            }
        }

        val asciidoctor = Asciidoctor.Factory.create();
        asciidoctor.javaExtensionRegistry().includeProcessor(new LocalIncludeProcessor());
        return asciidoctor;
    }