1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/* |
4
|
|
|
* This file is part of the league/commonmark package. |
5
|
|
|
* |
6
|
|
|
* (c) Colin O'Dell <[email protected]> |
7
|
|
|
* |
8
|
|
|
* Original code based on the CommonMark JS reference parser (http://bitly.com/commonmark-js) |
9
|
|
|
* - (c) John MacFarlane |
10
|
|
|
* |
11
|
|
|
* For the full copyright and license information, please view the LICENSE |
12
|
|
|
* file that was distributed with this source code. |
13
|
|
|
*/ |
14
|
|
|
|
15
|
|
|
namespace League\CommonMark\Extension; |
16
|
|
|
|
17
|
|
|
use League\CommonMark\Block\Parser as BlockParser; |
18
|
|
|
use League\CommonMark\Block\Renderer as BlockRenderer; |
19
|
|
|
use League\CommonMark\Inline\Parser as InlineParser; |
20
|
|
|
use League\CommonMark\Inline\Processor as InlineProcessor; |
21
|
|
|
use League\CommonMark\Inline\Renderer as InlineRenderer; |
22
|
|
|
|
23
|
|
|
class CommonMarkCoreExtension extends Extension |
24
|
|
|
{ |
25
|
|
|
/** |
26
|
|
|
* @return BlockParser\BlockParserInterface[] |
27
|
|
|
*/ |
28
|
1872 |
|
public function getBlockParsers() |
29
|
|
|
{ |
30
|
|
|
return [ |
31
|
|
|
// This order is important |
32
|
1872 |
|
new BlockParser\BlockQuoteParser(), |
33
|
1872 |
|
new BlockParser\ATXHeadingParser(), |
34
|
1872 |
|
new BlockParser\FencedCodeParser(), |
35
|
1872 |
|
new BlockParser\HtmlBlockParser(), |
36
|
1872 |
|
new BlockParser\SetExtHeadingParser(), |
37
|
1872 |
|
new BlockParser\ThematicBreakParser(), |
38
|
1872 |
|
new BlockParser\ListParser(), |
39
|
1872 |
|
new BlockParser\IndentedCodeParser(), |
40
|
1872 |
|
new BlockParser\LazyParagraphParser(), |
41
|
1872 |
|
]; |
42
|
|
|
} |
43
|
|
|
|
44
|
|
|
/** |
45
|
|
|
* @return InlineParser\InlineParserInterface[] |
46
|
|
|
*/ |
47
|
1872 |
|
public function getInlineParsers() |
48
|
|
|
{ |
49
|
|
|
return [ |
50
|
1872 |
|
new InlineParser\NewlineParser(), |
51
|
1872 |
|
new InlineParser\BacktickParser(), |
52
|
1872 |
|
new InlineParser\EscapableParser(), |
53
|
1872 |
|
new InlineParser\EntityParser(), |
54
|
1872 |
|
new InlineParser\EmphasisParser(), |
55
|
1872 |
|
new InlineParser\AutolinkParser(), |
56
|
1872 |
|
new InlineParser\HtmlInlineParser(), |
57
|
1872 |
|
new InlineParser\CloseBracketParser(), |
58
|
1872 |
|
new InlineParser\OpenBracketParser(), |
59
|
1872 |
|
new InlineParser\BangParser(), |
60
|
1872 |
|
]; |
61
|
|
|
} |
62
|
|
|
|
63
|
|
|
/** |
64
|
|
|
* @return InlineProcessor\InlineProcessorInterface[] |
65
|
|
|
*/ |
66
|
1872 |
|
public function getInlineProcessors() |
67
|
|
|
{ |
68
|
|
|
return [ |
69
|
1872 |
|
new InlineProcessor\EmphasisProcessor(), |
70
|
1872 |
|
]; |
71
|
|
|
} |
72
|
|
|
|
73
|
|
|
/** |
74
|
|
|
* @return BlockRenderer\BlockRendererInterface[] |
75
|
|
|
*/ |
76
|
1872 |
|
public function getBlockRenderers() |
77
|
|
|
{ |
78
|
|
|
return [ |
79
|
1872 |
|
'League\CommonMark\Block\Element\BlockQuote' => new BlockRenderer\BlockQuoteRenderer(), |
80
|
1872 |
|
'League\CommonMark\Block\Element\Document' => new BlockRenderer\DocumentRenderer(), |
81
|
1872 |
|
'League\CommonMark\Block\Element\FencedCode' => new BlockRenderer\FencedCodeRenderer(), |
82
|
1872 |
|
'League\CommonMark\Block\Element\Heading' => new BlockRenderer\HeadingRenderer(), |
83
|
1872 |
|
'League\CommonMark\Block\Element\HtmlBlock' => new BlockRenderer\HtmlBlockRenderer(), |
84
|
1872 |
|
'League\CommonMark\Block\Element\IndentedCode' => new BlockRenderer\IndentedCodeRenderer(), |
85
|
1872 |
|
'League\CommonMark\Block\Element\ListBlock' => new BlockRenderer\ListBlockRenderer(), |
86
|
1872 |
|
'League\CommonMark\Block\Element\ListItem' => new BlockRenderer\ListItemRenderer(), |
87
|
1872 |
|
'League\CommonMark\Block\Element\Paragraph' => new BlockRenderer\ParagraphRenderer(), |
88
|
1872 |
|
'League\CommonMark\Block\Element\ThematicBreak' => new BlockRenderer\ThematicBreakRenderer(), |
89
|
1872 |
|
]; |
90
|
|
|
} |
91
|
|
|
|
92
|
|
|
/** |
93
|
|
|
* @return InlineRenderer\InlineRendererInterface[] |
94
|
|
|
*/ |
95
|
1872 |
|
public function getInlineRenderers() |
96
|
|
|
{ |
97
|
|
|
return [ |
98
|
1872 |
|
'League\CommonMark\Inline\Element\Code' => new InlineRenderer\CodeRenderer(), |
99
|
1872 |
|
'League\CommonMark\Inline\Element\Emphasis' => new InlineRenderer\EmphasisRenderer(), |
100
|
1872 |
|
'League\CommonMark\Inline\Element\HtmlInline' => new InlineRenderer\HtmlInlineRenderer(), |
101
|
1872 |
|
'League\CommonMark\Inline\Element\Image' => new InlineRenderer\ImageRenderer(), |
102
|
1872 |
|
'League\CommonMark\Inline\Element\Link' => new InlineRenderer\LinkRenderer(), |
103
|
1872 |
|
'League\CommonMark\Inline\Element\Newline' => new InlineRenderer\NewlineRenderer(), |
104
|
1872 |
|
'League\CommonMark\Inline\Element\Strong' => new InlineRenderer\StrongRenderer(), |
105
|
1872 |
|
'League\CommonMark\Inline\Element\Text' => new InlineRenderer\TextRenderer(), |
106
|
1872 |
|
]; |
107
|
|
|
} |
108
|
|
|
} |
109
|
|
|
|