Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.intersales.qbus2;
- import static org.asciidoctor.Asciidoctor.Factory.create;
- import io.vertx.core.Vertx;
- import io.vertx.ext.web.Router;
- import org.asciidoctor.Asciidoctor;
- import org.slf4j.LoggerFactory;
- import java.io.*;
- import java.util.HashMap;
- import org.slf4j.Logger;
- public class DocumentRendererUtil {
- private Asciidoctor asciidoctor;
- Logger logger = LoggerFactory.getLogger(DocumentRendererUtil.class);
- public DocumentRendererUtil(Vertx vertx){
- vertx.executeBlocking(future ->{
- asciidoctor = create();
- future.complete(asciidoctor);
- }, res-> {
- logger.info("AsciidoctorJ created");
- });
- }
- public void extend(Router router){
- router.get("/readme.html").handler( ctx -> {
- String html = asciidoctor.convert(
- getDocFileContent(),
- new HashMap<String, Object>());
- ctx.response().end(html);
- });
- }
- private String getDocFileContent() {
- try {
- InputStream is = getClass().getResourceAsStream("/doc/readme.adoc");
- java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
- return s.hasNext() ? s.next() : "";
- }
- catch (Exception e){
- logger.error("Could not load readme file", e);
- logger.error("Working Directory = " +
- System.getProperty("user.dir"));
- return "";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement