1.1 --- a/src/main/java/de/uapcore/lightpit/viewmodel/IssueDetailView.java Wed Nov 25 11:17:39 2020 +0100 1.2 +++ b/src/main/java/de/uapcore/lightpit/viewmodel/IssueDetailView.java Sat Dec 05 13:05:00 2020 +0100 1.3 @@ -1,8 +1,14 @@ 1.4 package de.uapcore.lightpit.viewmodel; 1.5 1.6 +import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughExtension; 1.7 +import com.vladsch.flexmark.ext.tables.TablesExtension; 1.8 +import com.vladsch.flexmark.html.HtmlRenderer; 1.9 +import com.vladsch.flexmark.parser.Parser; 1.10 +import com.vladsch.flexmark.util.data.MutableDataSet; 1.11 import de.uapcore.lightpit.entities.Issue; 1.12 import de.uapcore.lightpit.entities.IssueComment; 1.13 1.14 +import java.util.Arrays; 1.15 import java.util.List; 1.16 1.17 public class IssueDetailView extends ProjectView { 1.18 @@ -25,4 +31,17 @@ 1.19 public void setComments(List<IssueComment> comments) { 1.20 this.comments = comments; 1.21 } 1.22 + 1.23 + public void processMarkdown() { 1.24 + final var options = new MutableDataSet() 1.25 + .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), StrikethroughExtension.create())) 1.26 + .toImmutable(); 1.27 + final var parser = Parser.builder(options).build(); 1.28 + final var renderer = HtmlRenderer.builder(options).build(); 1.29 + 1.30 + issue.setDescription(renderer.render(parser.parse(issue.getDescription()))); 1.31 + for (var comment : comments) { 1.32 + comment.setComment(renderer.render(parser.parse(comment.getComment()))); 1.33 + } 1.34 + } 1.35 }