blob: 8ca27b309b7987d5b0ef7d7d4aac18e5ac8de4e6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
(ns clarktown.parsers
(:require
[clarktown.matchers.empty-block]
[clarktown.renderers.empty-block]
[clarktown.matchers.horizontal-line-block]
[clarktown.renderers.horizontal-line-block]
[clarktown.matchers.heading-block]
[clarktown.renderers.heading-block]
[clarktown.matchers.quote-block]
[clarktown.renderers.quote-block]
[clarktown.matchers.fenced-code-block]
[clarktown.renderers.fenced-code-block]
[clarktown.matchers.indented-code-block]
[clarktown.renderers.indented-code-block]
[clarktown.matchers.list-block]
[clarktown.renderers.list-block]
[clarktown.renderers.paragraph-block]
[clarktown.renderers.link-and-image]
[clarktown.renderers.bold]
[clarktown.renderers.italic]
[clarktown.renderers.inline-code]
[clarktown.renderers.strikethrough]))
(def
^{:doc "Detects, parses and renders a empty block."}
empty-block-parser
{:matcher clarktown.matchers.empty-block/match?
:renderers [clarktown.renderers.empty-block/render]})
(def
^{:doc "Detects, parses and renders a horizontal line block."}
horizontal-line-block-parser
{:matcher clarktown.matchers.horizontal-line-block/match?
:renderers [clarktown.renderers.horizontal-line-block/render]})
(def
^{:doc "Detects, parses and renders a heading block."}
heading-block-parser
{:matcher clarktown.matchers.heading-block/match?
:renderers [clarktown.renderers.link-and-image/render
clarktown.renderers.bold/render
clarktown.renderers.italic/render
clarktown.renderers.inline-code/render
clarktown.renderers.strikethrough/render
clarktown.renderers.heading-block/render]})
(def
^{:doc "Detects, parses and renders a quote block."}
quote-block-parser
{:matcher clarktown.matchers.quote-block/match?
:renderers [clarktown.renderers.quote-block/render]})
(def
^{:doc "Detects, parses and renders a fenced code block."}
fenced-code-block-parser
{:matcher clarktown.matchers.fenced-code-block/match?
:renderers [clarktown.renderers.fenced-code-block/render]})
(def
^{:doc "Detects, parses and renders a indented code block."}
indented-code-block-parser
{:matcher clarktown.matchers.indented-code-block/match?
:renderers [clarktown.renderers.indented-code-block/render]})
(def
^{:doc "Detects, parses and renders a list block."}
list-block-parser
{:matcher clarktown.matchers.list-block/match?
:renderers [clarktown.renderers.link-and-image/render
clarktown.renderers.bold/render
clarktown.renderers.italic/render
clarktown.renderers.inline-code/render
clarktown.renderers.strikethrough/render
clarktown.renderers.list-block/render]})
(def
^{:doc "Parses and renders a quote block."}
paragraph-block-parser
{:renderers [clarktown.renderers.link-and-image/render
clarktown.renderers.bold/render
clarktown.renderers.italic/render
clarktown.renderers.inline-code/render
clarktown.renderers.strikethrough/render
clarktown.renderers.paragraph-block/render]})
(def
^{:doc "A set of default parsers."}
default-parsers
[empty-block-parser
horizontal-line-block-parser
heading-block-parser
quote-block-parser
fenced-code-block-parser
indented-code-block-parser
list-block-parser
paragraph-block-parser])
|