# mork
[](https://hex.pm/packages/mork)
[](https://hexdocs.pm/mork/)
__MÖRK__ is a Markdown parser written in pure Gleam, with the ambition to be
100% spec compliant with Commonmark and eventually to implement all of the
GFM Markdown extensions as well.
All Commonmark tests from the spec test suite are now passing.
NOTE: This is a very early release of a new implementation of the Commonmark
spec, not using the C or javascript implementations at all. As such, it is
guaranteed to have bugs, differences in output and poor performance. Buyer
beware.
## Example
```sh
gleam add mork@1
```
```gleam
import simplifile
import mork
pub fn main() -> Nil {
let readme = "./README.md"
let assert Ok(markdown) = simplifile.read(from: readme)
let html = markdown |> mork.parse |> mork.to_html
let assert Ok(_) = html |> simplifile.write(to: "README.html")
}
```
Further documentation can be found at <https://hexdocs.pm/mork>.
## Development
```sh
gleam run # Run the project
gleam test # Run the tests
gleam test tabs # Run only the Tabs section of tests
gleam test tabs 9 # Run only example number 9 from the test section
gleam test custom # Run only extra tests (not from the spec)
```
## Requirements
- Gleam 1.13+
- Erlang 28+ (due to PCRE2 usage)
The goal is to run on the Javascript target as well, but I haven't
tested this yet and the regular expressions work differently there
so it is unlikely to work right now.