Eardown is a Markdown Parser with a non line based parsing approach. It is meant to be EarmarkParser v2.
Eardown is meant to replace EarmarkParser.
It shall parse Markdown files and transform them into an AST, just as EarmarkParser does.
What are the reasons for this new library?
-
I found EarmarkParser difficult to extend and even maintain
-
I believe that line based parsing, although widely recommended, is not necesserily the simplest approach (for me at least), therefore Eardown uses a character based parsing approach.
-
I believe that parsing large Markdown documents in parallel, with an heuristic splitting of the input by, say lines starting with
#and a fallback strategy should not be too complicated with the character based approach, but we will see. -
Markdown itself has evolved and while Dave Thomas, aka pragdave has created a marvellous product in an incredible short time by also including popular extensions and Commonmark, nowadays almost everone and her best friend assume that GFM is supported.
Eardown will try to do this from the beginning.
If available in Hex, the package can be installed
by adding eardown to your list of dependencies in mix.exs:
def deps do
[
{:eardown, "~> 0.1.0"}
]
endDocumentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/eardown.
Pull Requests are happily accepted.
Copyright © 2024 Robert Dober [email protected]
Same as Elixir, which is Apache License v2.0. Please refer to LICENSE for details.