Packages
earmark
1.4.2
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/block.ex
defmodule Earmark.Block do
@moduledoc false
defmodule Heading do
@moduledoc false
defstruct lnb: 0, attrs: nil, content: nil, level: nil
end
defmodule Ruler do
@moduledoc false
defstruct lnb: 0, attrs: nil, type: nil
end
defmodule BlockQuote do
@moduledoc false
defstruct lnb: 0, attrs: nil, blocks: []
end
defmodule Para do
@moduledoc false
defstruct lnb: 0, attrs: nil, lines: []
end
defmodule Code do
@moduledoc false
defstruct lnb: 0, attrs: nil, lines: [], language: nil
end
defmodule Html do
@moduledoc false
defstruct lnb: 0, attrs: nil, html: [], tag: nil
end
defmodule HtmlOneline do
@moduledoc false
defstruct lnb: 0, attrs: nil, html: ""
end
defmodule HtmlComment do
@moduledoc false
defstruct lnb: 0, attrs: nil, lines: []
end
defmodule IdDef do
@moduledoc false
defstruct lnb: 0, attrs: nil, id: nil, url: nil, title: nil
end
defmodule FnDef do
@moduledoc false
defstruct lnb: 0, attrs: nil, id: nil, number: nil, blocks: []
end
defmodule FnList do
@moduledoc false
defstruct lnb: 0, attrs: ".footnotes", blocks: []
end
defmodule Ial do
@moduledoc false
defstruct lnb: 0, attrs: nil, content: nil, verbatim: ""
end
# List does not need line number
defmodule List do
@moduledoc false
defstruct lnb: 1, attrs: nil, type: :ul, blocks: [], start: ""
end
defmodule ListItem do
@moduledoc false
defstruct lnb: 0, attrs: nil, type: :ul, spaced: true, blocks: [], bullet: ""
end
defmodule Table do
@moduledoc false
defstruct lnb: 0, attrs: nil, rows: [], header: nil, alignments: []
def new_for_columns(n) do
%__MODULE__{alignments: Elixir.List.duplicate(:left, n)}
end
end
@type t :: %Heading{} |
%Ruler{} |
%BlockQuote{} |
%List{} |
%ListItem{} |
%Para{} |
%Code{} |
%Html{} |
%HtmlOneline{} |
%HtmlComment{} |
%IdDef{} |
%FnDef{} |
%FnList{} |
%Ial{} |
%Table{}
@type ts :: list(t)
end
# SPDX-License-Identifier: Apache-2.0