dillonkearns / elm-markdown / Markdown.Parser

parse : String -> Result (List (Parser.Advanced.DeadEnd String Parser.Problem)) (List Markdown.Block.Block)

Try parsing a markdown String into Markdown.Block.Blocks.

Often you'll want to render these Blocks directly:

render renderer markdown =
    markdown
        |> Markdown.Parser.parse
        |> Result.mapError deadEndsToString
        |> Result.andThen (\ast -> Markdown.Renderer.render renderer ast)

deadEndsToString deadEnds =
    deadEnds
        |> List.map Markdown.Parser.deadEndToString
        |> String.join "\n"

But you can also do a lot with the Blocks before passing them through:

deadEndToString : Parser.Advanced.DeadEnd String Parser.Problem -> String

Turn a parsing problem into the default String representation.