Packages

Earmark is a pure-Elixir Markdown converter. It is intended to be used as a library (just call Earmark.as_html), but can also be used as a command-line tool (run mix escript.build first). Output generation is pluggable.

Retired package: Deprecated - Earmark is no longer maintained. Migrate to a replacement, for example MDEx (https://hex.pm/packages/mdex).
Security advisory: This version has known vulnerabilities. View advisories

Current section

Files

Jump to
earmark lib earmark_parser helpers yecc_helpers.ex
Raw

lib/earmark_parser/helpers/yecc_helpers.ex

defmodule EarmarkParser.Helpers.YeccHelpers do
@moduledoc false
import EarmarkParser.Helpers.LeexHelpers, only: [lex: 2]
def parse!( text, lexer: lexer, parser: parser ) do
case parse(text, lexer: lexer, parser: parser) do
{:ok, ast} -> ast
{:error, _} -> nil
end
end
def parse( text, lexer: lexer, parser: parser ) do
with tokens <- lex(text, with: lexer) do
parser.parse(tokens)
end
end
end
# SPDX-License-Identifier: Apache-2.0