markdownToHtml function

String markdownToHtml(
  1. String markdown, {
  2. Iterable<BlockSyntax> blockSyntaxes = const [],
  3. Iterable<InlineSyntax> inlineSyntaxes = const [],
  4. ExtensionSet? extensionSet,
  5. Resolver? linkResolver,
  6. Resolver? imageLinkResolver,
  7. bool inlineOnly = false,
  8. bool encodeHtml = true,
  9. bool withDefaultBlockSyntaxes = true,
  10. bool withDefaultInlineSyntaxes = true,
})

Converts the given string of Markdown to HTML.

Implementation

String markdownToHtml(
  String markdown, {
  Iterable<BlockSyntax> blockSyntaxes = const [],
  Iterable<InlineSyntax> inlineSyntaxes = const [],
  ExtensionSet? extensionSet,
  Resolver? linkResolver,
  Resolver? imageLinkResolver,
  bool inlineOnly = false,
  bool encodeHtml = true,
  bool withDefaultBlockSyntaxes = true,
  bool withDefaultInlineSyntaxes = true,
}) {
  var document = Document(
    blockSyntaxes: blockSyntaxes,
    inlineSyntaxes: inlineSyntaxes,
    extensionSet: extensionSet,
    linkResolver: linkResolver,
    imageLinkResolver: imageLinkResolver,
    encodeHtml: encodeHtml,
    withDefaultBlockSyntaxes: withDefaultBlockSyntaxes,
    withDefaultInlineSyntaxes: withDefaultInlineSyntaxes,
  );

  if (inlineOnly) return renderToHtml(document.parseInline(markdown));

  // Replace windows line endings with unix line endings, and split.
  var lines = markdown.replaceAll('\r\n', '\n').split('\n');

  return renderToHtml(document.parseLines(lines)) + '\n';
}