package app.mealsmadeeasy.api.markdown; import org.commonmark.parser.Parser; import org.commonmark.renderer.html.HtmlRenderer; import org.jsoup.Jsoup; import org.jsoup.safety.Safelist; import org.springframework.stereotype.Service; @Service public class MarkdownServiceImpl implements MarkdownService { @Override public String renderAndCleanMarkdown(String rawText) { final var parser = Parser.builder().build(); final var node = parser.parse(rawText); final var htmlRenderer = HtmlRenderer.builder().build(); final String unsafeHtml = htmlRenderer.render(node); return Jsoup.clean(unsafeHtml, Safelist.relaxed()); } }