21 lines
537 B
Elixir
21 lines
537 B
Elixir
defmodule SloaneSH.Markdown do
|
|
@moduledoc """
|
|
Markdown parsing using `Earmark` and `Earmark.Parser`
|
|
"""
|
|
require Logger
|
|
|
|
alias SloaneSH.Context
|
|
|
|
def transform(%Context{} = _ctx, data) when is_binary(data) do
|
|
case Earmark.as_html(data) do
|
|
{:ok, html_doc, deprecation_messages} ->
|
|
for msg <- deprecation_messages, do: Logger.warning(msg)
|
|
|
|
{:ok, html_doc}
|
|
|
|
{:error, html_doc, error_messages} ->
|
|
for msg <- error_messages, do: Logger.error(msg)
|
|
{:error, html_doc}
|
|
end
|
|
end
|
|
end
|