WebBox Klassenbibliothek
ulrich
2020-07-21 38929aa1f4f4a017be4d2e93c32165b9e51f635d
src/de/uhilger/wbx/web/AdocServlet.java
@@ -74,8 +74,8 @@
    String fname = nameext.substring(0, nameext.lastIndexOf(DOT));
    File htmlfile = new File(adocfile.getParentFile(), fname + DOT + HTML);
    File outfile = htmlfile; // Standardmaessig wird HTML zurueckgegeben
    response.setContentType("text/html;charset=UTF-8");
    response.setCharacterEncoding("UTF-8");
    /*
      nach HTML transformieren, wenn die Quelle sich geandert hat oder 
      die HTML-Datei noch nicht existiert
@@ -93,7 +93,6 @@
    if(null != pdf && pdf.equalsIgnoreCase(Boolean.TRUE.toString())) {
      File pdffile = new File(adocfile.getParentFile(), fname + DOT + PDF);
      outfile = pdffile; // PDF soll zurueckgegeben werden
      response.setContentType("application/pdf;charset=UTF-8");
      if(!pdffile.exists() || adocfile.lastModified() > pdffile.lastModified()) {
        transform(absname, PDF);
      }
@@ -102,7 +101,7 @@
    try (PrintWriter out = response.getWriter()) {
      // abhaengig vom Parameter pdf HTML- oder PDF-Datei ausgeben
      FileInputStream in = new FileInputStream(outfile);
      BufferedReader reader = new BufferedReader(new InputStreamReader(in));
      BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
      String line;
      while ((line = reader.readLine()) != null) {
        out.println(line);
@@ -126,7 +125,8 @@
   * nach PDF transformiert werden soll
   */
  private void transform(String fileName, String backend) {    
    Map<String, Object> attributes = attributes().sourceHighlighter("highlightjs")
    File outFile = new File(fileName);
    Map<String, Object> attributes = attributes().attribute("pdf-themesdir", outFile.getParent()).attribute("pdf-theme","test").sourceHighlighter("highlightjs")
                                       .asMap();
    Map<String, Object> options;
    if(null != backend) {
@@ -139,6 +139,7 @@
    }
    
    Asciidoctor asciidoctor = create();    
    asciidoctor.requireLibrary("asciidoctor-diagram");
    asciidoctor.convertFile(new File(fileName), options);    
  }