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

lib/earmark_parser/helpers/reparse_helpers.ex

defmodule Earmark.Parser.Helpers.ReparseHelpers do
@moduledoc false
alias Earmark.Parser.Line
@doc """
Extract the verbatim text of `%Earmark.Parser.Line.t` elements with less alignment so that
it can be reparsed (as elements of footnotes or indented code)
"""
# Add additional spaces for any indentation past level 1
def properly_indent(%Line.Indent{level: level, content: content}, target_level)
when level == target_level do
content
end
def properly_indent(%Line.Indent{level: level, content: content}, target_level)
when level > target_level do
String.duplicate(" ", level-target_level) <> content
end
def properly_indent(line, _) do
line.content
end
end
# SPDX-License-Identifier: Apache-2.0