blob: 77c979486102bcc55aeb75d06fb3758b68019475 (
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
|
(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.code-block]
[clarktown.renderers.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 code block."}
code-block-parser
{:matcher clarktown.matchers.code-block/match?
:renderers [clarktown.renderers.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
code-block-parser
list-block-parser
paragraph-block-parser])
|