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 message.ex
Raw

lib/earmark/message.ex

defmodule Earmark.Message do
@moduledoc false
alias Earmark.Options
def emit_messages(messages, %Options{file: file}) do
messages
|> Enum.each(&emit_message(file, &1))
end
def emit_messages(messages, proplist) when is_list(proplist) do
messages
|> Enum.each(&emit_message(proplist[:file], &1))
end
defp emit_message(filename, msg), do: IO.puts(:stderr, format_message(filename, msg))
defp format_message(filenale, message)
defp format_message(nil, {type, line, text}) do
"<no file>:#{line}: #{type}: #{text}"
end
defp format_message(filename, {type, line, text}) do
"#{filename}:#{line}: #{type}: #{text}"
end
end
# SPDX-License-Identifier: Apache-2.0