Packages
earmark
1.4.7
1.5.0-pre1
retired
1.5.0-pre
retired
1.4.49
retired
1.4.48
retired
1.4.47
retired
1.4.46
retired
1.4.45
retired
1.4.44
retired
1.4.43
retired
1.4.42
retired
1.4.41
retired
1.4.40
retired
1.4.39
retired
1.4.38
retired
1.4.37
retired
1.4.36
retired
1.4.35
retired
1.4.34
retired
1.4.33
retired
1.4.32
retired
1.4.31
retired
1.4.30
retired
1.4.29
retired
1.4.28
retired
1.4.27
retired
1.4.26
retired
1.4.25
retired
1.4.24
retired
1.4.23
retired
1.4.22
retired
1.4.21
retired
1.4.20
retired
1.4.19
retired
1.4.18
retired
1.4.17
retired
1.4.16
retired
1.4.16-pre2
retired
1.4.16-pre1
retired
1.4.16-pre
retired
1.4.15
retired
1.4.14
retired
1.4.13
retired
1.4.12
retired
1.4.10
retired
1.4.9
retired
1.4.8
retired
1.4.7
retired
1.4.6
retired
1.4.5
retired
1.4.4
retired
1.4.3
retired
1.4.2
retired
1.4.1
retired
1.4.0
retired
1.3.6
retired
1.3.5
retired
1.3.4
retired
1.3.3
retired
1.3.2
retired
1.3.1
retired
1.3.0
retired
1.2.6
retired
1.2.5
retired
1.2.4
retired
1.2.3
retired
1.2.2
retired
1.2.1
retired
1.2.0
retired
1.1.1
retired
1.1.0
retired
1.0.3
retired
1.0.2
retired
1.0.1
retired
1.0.0
retired
0.2.1
retired
0.2.0
retired
0.1.19
retired
0.1.18
retired
0.1.17
retired
0.1.16
retired
0.1.15
retired
0.1.14
retired
0.1.13
retired
0.1.12
retired
0.1.10
retired
0.1.9
retired
0.1.8
retired
0.1.7
retired
0.1.6
retired
0.1.5
retired
0.1.4
retired
0.1.3
retired
0.1.2
retired
0.1.1
retired
0.1.0
retired
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
Current section
Files
lib/earmark/options.ex
defmodule Earmark.Options do
use Earmark.Types
# What we use to render
defstruct renderer: Earmark.HtmlRenderer,
# Inline style options
gfm: true,
gfm_tables: false,
breaks: false,
pedantic: false,
smartypants: true,
footnotes: false,
footnote_offset: 1,
# additional prefies for class of code blocks
code_class_prefix: nil,
# Add possibility to specify a timeout for Task.await
timeout: nil,
# Internal—only override if you're brave
do_smartypants: nil,
# Very internal—the callback used to perform
# parallel rendering. Set to &Enum.map/2
# to keep processing in process and
# serial
mapper: &Earmark.pmap/2,
mapper_with_timeout: &Earmark.pmap/3,
# Filename and initial line number of the markdown block passed in
# for meaningfull error messages
file: "<no file>",
line: 1,
# [{:error|:warning, lnb, text},...]
messages: [],
plugins: %{},
pure_links: true
@type t :: %__MODULE__{
breaks: boolean,
code_class_prefix: maybe(String.t),
footnotes: boolean,
footnote_offset: number,
gfm: boolean,
pedantic: boolean,
pure_links: boolean,
smartypants: boolean,
timeout: maybe(number)
}
@doc false
# Only here we are aware of which mapper function to use!
def get_mapper(options) do
if options.timeout do
&options.mapper_with_timeout.(&1, &2, options.timeout)
else
options.mapper
end
end
@doc false
def plugin_for_prefix(options, plugin_name) do
Map.get(options.plugins, plugin_name, false)
end
end
# SPDX-License-Identifier: Apache-2.0