src/main/java/de/uapcore/lightpit/viewmodel/IssueDetailView.java

changeset 162
2adc8623dd89
parent 146
b0e83cab0bde
--- a/src/main/java/de/uapcore/lightpit/viewmodel/IssueDetailView.java	Wed Nov 25 11:17:39 2020 +0100
+++ b/src/main/java/de/uapcore/lightpit/viewmodel/IssueDetailView.java	Sat Dec 05 13:05:00 2020 +0100
@@ -1,8 +1,14 @@
 package de.uapcore.lightpit.viewmodel;
 
+import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughExtension;
+import com.vladsch.flexmark.ext.tables.TablesExtension;
+import com.vladsch.flexmark.html.HtmlRenderer;
+import com.vladsch.flexmark.parser.Parser;
+import com.vladsch.flexmark.util.data.MutableDataSet;
 import de.uapcore.lightpit.entities.Issue;
 import de.uapcore.lightpit.entities.IssueComment;
 
+import java.util.Arrays;
 import java.util.List;
 
 public class IssueDetailView extends ProjectView {
@@ -25,4 +31,17 @@
     public void setComments(List<IssueComment> comments) {
         this.comments = comments;
     }
+
+    public void processMarkdown() {
+        final var options = new MutableDataSet()
+                .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), StrikethroughExtension.create()))
+                .toImmutable();
+        final var parser = Parser.builder(options).build();
+        final var renderer = HtmlRenderer.builder(options).build();
+
+        issue.setDescription(renderer.render(parser.parse(issue.getDescription())));
+        for (var comment : comments) {
+            comment.setComment(renderer.render(parser.parse(comment.getComment())));
+        }
+    }
 }

mercurial