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

changeset 162
2adc8623dd89
parent 146
b0e83cab0bde
     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  }

mercurial