diff -r 3d9218457b62 -r 2adc8623dd89 src/main/java/de/uapcore/lightpit/viewmodel/IssueDetailView.java --- 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 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()))); + } + } }