maruku 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/maruku +74 -22
- data/bin/marutest +15 -3
- data/docs/{changelog-0.3.md → changelog.md} +47 -18
- data/docs/entity_test.html +253 -0
- data/docs/entity_test.md +21 -0
- data/docs/index.html +124 -31
- data/docs/markdown_syntax.html +46 -46
- data/docs/maruku.html +124 -31
- data/docs/maruku.md +47 -9
- data/docs/proposal.html +4 -4
- data/lib/maruku.rb +1 -0
- data/lib/maruku/defaults.rb +1 -1
- data/lib/maruku/helpers.rb +4 -4
- data/lib/maruku/input/parse_block.rb +39 -33
- data/lib/maruku/input/parse_doc.rb +57 -3
- data/lib/maruku/input/parse_span_better.rb +28 -8
- data/lib/maruku/input/rubypants.rb +225 -0
- data/lib/maruku/input/type_detection.rb +1 -0
- data/lib/maruku/output/to_html.rb +46 -47
- data/lib/maruku/output/to_latex.rb +166 -45
- data/lib/maruku/output/to_latex_entities.rb +75 -43
- data/lib/maruku/string_utils.rb +21 -19
- data/lib/maruku/structures.rb +21 -12
- data/lib/maruku/structures_inspect.rb +12 -3
- data/lib/maruku/tests/new_parser.rb +2 -1
- data/lib/maruku/version.rb +1 -1
- data/tests/unittest/abbreviations.md +8 -8
- data/tests/unittest/attributes/attributes.md +10 -10
- data/tests/unittest/attributes/circular.md +4 -4
- data/tests/unittest/attributes/default.md +3 -3
- data/tests/unittest/blank.md +2 -2
- data/tests/unittest/blanks_in_code.md +12 -12
- data/tests/unittest/code.md +4 -4
- data/tests/unittest/code2.md +7 -6
- data/tests/unittest/code3.md +16 -16
- data/tests/unittest/easy.md +4 -4
- data/tests/unittest/email.md +4 -4
- data/tests/unittest/encoding/iso-8859-1.md +2 -2
- data/tests/unittest/encoding/utf-8.md +2 -2
- data/tests/unittest/entities.md +20 -20
- data/tests/unittest/escaping.md +16 -16
- data/tests/unittest/extra_dl.md +17 -7
- data/tests/unittest/extra_header_id.md +11 -11
- data/tests/unittest/extra_table1.md +4 -4
- data/tests/unittest/footnotes.md +38 -28
- data/tests/unittest/headers.md +6 -6
- data/tests/unittest/hrule.md +6 -6
- data/tests/unittest/images.md +18 -16
- data/tests/unittest/inline_html.md +7 -29
- data/tests/unittest/inline_html2.md +3 -3
- data/tests/unittest/links.md +7 -27
- data/tests/unittest/list1.md +9 -8
- data/tests/unittest/list2.md +15 -12
- data/tests/unittest/list3.md +16 -14
- data/tests/unittest/list4.md +4 -4
- data/tests/unittest/lists.md +33 -29
- data/tests/unittest/lists_after_paragraph.md +36 -36
- data/tests/unittest/lists_ol.md +43 -38
- data/tests/unittest/misc_sw.md +172 -156
- data/tests/unittest/notyet/escape.md +8 -8
- data/tests/unittest/notyet/header_after_par.md +6 -6
- data/tests/unittest/notyet/ticks.md +4 -4
- data/tests/unittest/notyet/triggering.md +21 -21
- data/tests/unittest/olist.md +5 -5
- data/tests/unittest/one.md +1 -1
- data/tests/unittest/paragraph.md +1 -1
- data/tests/unittest/paragraph_rules/dont_merge_ref.md +1 -1
- data/tests/unittest/paragraph_rules/tab_is_blank.md +2 -2
- data/tests/unittest/paragraphs.md +5 -5
- data/tests/unittest/recover/recover_links.md +2 -2
- data/tests/unittest/references/long_example.md +27 -19
- data/tests/unittest/smartypants.md +148 -0
- data/tests/unittest/syntax_hl.md +14 -14
- data/tests/unittest/test.md +2 -2
- data/tests/unittest/wrapping.md +8 -8
- data/tests/unittest/xml_instruction.md +82 -0
- metadata +149 -160
- data/docs/TOFIX.html +0 -22
- data/docs/TOFIX.md +0 -3
- data/docs/changelog-0.2.13.html +0 -30
- data/docs/changelog-0.2.13.md +0 -6
- data/docs/changelog-0.3.html +0 -113
- data/docs/faq.html +0 -57
- data/docs/faq.md +0 -32
- data/docs/hidden_o_n_squared.md +0 -10
- data/docs/todo.html +0 -40
- data/docs/todo.md +0 -9
@@ -14,9 +14,9 @@ md_el(:document,[md_par([md_code("\\\\")]), md_par([md_code("\\")])],{},[])
|
|
14
14
|
<p><code>\</code></p>
|
15
15
|
|
16
16
|
*** Output of to_latex ***
|
17
|
-
\colorbox[rgb]{1.00,0.
|
17
|
+
\colorbox[rgb]{1.00,0.93,1.00}{\tt \char92\char92}
|
18
18
|
|
19
|
-
\colorbox[rgb]{1.00,0.
|
19
|
+
\colorbox[rgb]{1.00,0.93,1.00}{\tt \char92}
|
20
20
|
|
21
21
|
|
22
22
|
*** Output of to_md ***
|
@@ -38,9 +38,9 @@ md_el(:document,[md_par([md_code("\\\\")]), md_par([md_code("\\")])],{},[])
|
|
38
38
|
|
39
39
|
*** Output of Markdown.pl (parsed) ***
|
40
40
|
<p
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
><code>\\</code
|
42
|
+
></p
|
43
|
+
><p
|
44
|
+
><code>\</code
|
45
|
+
></p
|
46
|
+
>
|
@@ -83,9 +83,9 @@ ParagraphheaderParagraphheaderParagraphheader
|
|
83
83
|
|
84
84
|
*** Output of Markdown.pl (parsed) ***
|
85
85
|
<p>Paragraph</p
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
86
|
+
><h3>header</h3
|
87
|
+
><p>Paragraph</p
|
88
|
+
><h2>header</h2
|
89
|
+
><p>Paragraph</p
|
90
|
+
><h1>header</h1
|
91
|
+
>
|
@@ -13,7 +13,7 @@ md_el(:document,[md_par([md_code("There is a literal backtick (`) here.")])],{},
|
|
13
13
|
<p><code>There is a literal backtick (`) here.</code></p>
|
14
14
|
|
15
15
|
*** Output of to_latex ***
|
16
|
-
\colorbox[rgb]{1.00,0.
|
16
|
+
\colorbox[rgb]{1.00,0.93,1.00}{\tt \char84\char104\char101\char114\char101\char32\char105\char115\char32\char97\char32\char108\char105\char116\char101\char114\char97\char108\char32\char98\char97\char99\char107\char116\char105\char99\char107\char32\char40\char96\char41\char32\char104\char101\char114\char101\char46}
|
17
17
|
|
18
18
|
|
19
19
|
*** Output of to_md ***
|
@@ -35,6 +35,6 @@ md_el(:document,[md_par([md_code("There is a literal backtick (`) here.")])],{},
|
|
35
35
|
|
36
36
|
*** Output of Markdown.pl (parsed) ***
|
37
37
|
<p
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
><code>There is a literal backtick (`) here.</code
|
39
|
+
></p
|
40
|
+
>
|
@@ -209,29 +209,29 @@ Paragraph, list with no space: * ciaoParagraph, list with 1 space: * ciaoParagra
|
|
209
209
|
*** Output of Markdown.pl (parsed) ***
|
210
210
|
<p>Paragraph, list with no space:
|
211
211
|
* ciao</p
|
212
|
-
|
212
|
+
><p>Paragraph, list with 1 space:
|
213
213
|
* ciao</p
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
214
|
+
><p>Paragraph, list with 3 space:
|
215
|
+
* ciao</p
|
216
|
+
><p>Paragraph, list with 4 spaces:
|
217
|
+
* ciao</p
|
218
|
+
><p>Paragraph, list with 1 tab:
|
219
|
+
* ciao</p
|
220
|
+
><p>Paragraph (1 space after), list with no space:
|
221
221
|
* ciao</p
|
222
|
-
|
223
|
-
|
222
|
+
><p>Paragraph (2 spaces after), list with no space: <br/
|
223
|
+
>
|
224
224
|
* ciao</p
|
225
|
-
|
226
|
-
|
225
|
+
><p>Paragraph (3 spaces after), list with no space: <br/
|
226
|
+
>
|
227
227
|
* ciao</p
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
228
|
+
><p>Paragraph with block quote:</p
|
229
|
+
><blockquote>
|
230
|
+
<p>Quoted</p
|
231
|
+
>
|
232
232
|
</blockquote
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
233
|
+
><p>Paragraph with header:</p
|
234
|
+
><h3>header</h3
|
235
|
+
><p>Paragraph with header on two lines:</p
|
236
|
+
><h2>header</h2
|
237
|
+
>
|
data/tests/unittest/olist.md
CHANGED
data/tests/unittest/one.md
CHANGED
data/tests/unittest/paragraph.md
CHANGED
@@ -70,10 +70,10 @@ Paragraph 5</p>
|
|
70
70
|
|
71
71
|
*** Output of Markdown.pl (parsed) ***
|
72
72
|
<p>Paragraph 1</p
|
73
|
-
|
74
|
-
|
73
|
+
><p>Paragraph 2</p
|
74
|
+
><p>Paragraph 3
|
75
75
|
Paragraph 4
|
76
|
-
Paragraph Br-> <br
|
77
|
-
|
76
|
+
Paragraph Br-> <br/
|
77
|
+
>
|
78
78
|
Paragraph 5</p
|
79
|
-
|
79
|
+
>
|
@@ -18,7 +18,9 @@ To this end, Markdown's syntax is comprised entirely of punctuation
|
|
18
18
|
*** Output of inspect ***
|
19
19
|
md_el(:document,[
|
20
20
|
md_par([
|
21
|
-
"filters
|
21
|
+
"filters ",
|
22
|
+
md_entity("ndash"),
|
23
|
+
" including ",
|
22
24
|
md_link(["Setext"],"1"),
|
23
25
|
", ",
|
24
26
|
md_link(["atx"],"2"),
|
@@ -30,7 +32,11 @@ md_el(:document,[
|
|
30
32
|
md_link(["Grutatext"],"5"),
|
31
33
|
", and ",
|
32
34
|
md_link(["EtText"],"6"),
|
33
|
-
"
|
35
|
+
" ",
|
36
|
+
md_entity("ndash"),
|
37
|
+
" the single biggest source of inspiration for Markdown",
|
38
|
+
md_entity("rsquo"),
|
39
|
+
"s syntax is the format of plain text email."
|
34
40
|
]),
|
35
41
|
md_ref_def("1", "http://docutils.sourceforge.net/mirror/setext.html", {:title=>nil}),
|
36
42
|
md_ref_def("2", "http://www.aaronsw.com/2002/atx/", {:title=>nil}),
|
@@ -39,14 +45,16 @@ md_el(:document,[
|
|
39
45
|
md_ref_def("5", "http://www.triptico.com/software/grutatxt.html", {:title=>nil}),
|
40
46
|
md_ref_def("6", "http://ettext.taint.org/doc/", {:title=>nil}),
|
41
47
|
md_par([
|
42
|
-
"To this end, Markdown
|
48
|
+
"To this end, Markdown",
|
49
|
+
md_entity("rsquo"),
|
50
|
+
"s syntax is comprised entirely of punctuation"
|
43
51
|
])
|
44
52
|
],{},[])
|
45
53
|
*** Output of to_html ***
|
46
54
|
|
47
|
-
<p>filters
|
55
|
+
<p>filters – including <a href='http://docutils.sourceforge.net/mirror/setext.html'>Setext</a>, <a href='http://www.aaronsw.com/2002/atx/'>atx</a>, <a href='http://textism.com/tools/textile/'>Textile</a>, <a href='http://docutils.sourceforge.net/rst.html'>reStructuredText</a>, <a href='http://www.triptico.com/software/grutatxt.html'>Grutatext</a>, and <a href='http://ettext.taint.org/doc/'>EtText</a> – the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.</p>
|
48
56
|
|
49
|
-
<p>To this end, Markdown&
|
57
|
+
<p>To this end, Markdown’s syntax is comprised entirely of punctuation</p>
|
50
58
|
|
51
59
|
*** Output of to_latex ***
|
52
60
|
filters -- including \href{http://docutils.sourceforge.net/mirror/setext.html}{Setext}, \href{http://www.aaronsw.com/2002/atx/}{atx}, \href{http://textism.com/tools/textile/}{Textile}, \href{http://docutils.sourceforge.net/rst.html}{reStructuredText}, \href{http://www.triptico.com/software/grutatxt.html}{Grutatext}, and \href{http://ettext.taint.org/doc/}{EtText} -- the single biggest source of inspiration for Markdown's syntax is the format of plain text email.
|
@@ -55,18 +63,18 @@ To this end, Markdown's syntax is comprised entirely of punctuation
|
|
55
63
|
|
56
64
|
|
57
65
|
*** Output of to_md ***
|
58
|
-
filters
|
59
|
-
|
60
|
-
|
61
|
-
|
66
|
+
filters including Setext, atx, Textile,
|
67
|
+
reStructuredText, Grutatext, and EtText
|
68
|
+
the single biggest source of
|
69
|
+
inspiration for Markdown s syntax is
|
62
70
|
the format of plain text email.
|
63
71
|
|
64
|
-
To this end, Markdown
|
72
|
+
To this end, Markdown s syntax is
|
65
73
|
comprised entirely of punctuation
|
66
74
|
|
67
75
|
|
68
76
|
*** Output of to_s ***
|
69
|
-
filters
|
77
|
+
filters including Setext, atx, Textile, reStructuredText, Grutatext, and EtText the single biggest source of inspiration for Markdowns syntax is the format of plain text email.To this end, Markdowns syntax is comprised entirely of punctuation
|
70
78
|
*** EOF ***
|
71
79
|
|
72
80
|
|
@@ -84,13 +92,13 @@ inspiration for Markdown's syntax is the format of plain text email.</p>
|
|
84
92
|
|
85
93
|
*** Output of Markdown.pl (parsed) ***
|
86
94
|
<p>filters -- including <a href='http://docutils.sourceforge.net/mirror/setext.html'>Setext</a
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
95
|
+
>, <a href='http://www.aaronsw.com/2002/atx/'>atx</a
|
96
|
+
>, <a href='http://textism.com/tools/textile/'>Textile</a
|
97
|
+
>, <a href='http://docutils.sourceforge.net/rst.html'>reStructuredText</a
|
98
|
+
>,
|
91
99
|
<a href='http://www.triptico.com/software/grutatxt.html'>Grutatext</a
|
92
|
-
|
93
|
-
|
100
|
+
>, and <a href='http://ettext.taint.org/doc/'>EtText</a
|
101
|
+
> -- the single biggest source of
|
94
102
|
inspiration for Markdown's syntax is the format of plain text email.</p
|
95
|
-
|
96
|
-
|
103
|
+
><p>To this end, Markdown's syntax is comprised entirely of punctuation</p
|
104
|
+
>
|
@@ -0,0 +1,148 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
|
4
|
+
*** Parameters: ***
|
5
|
+
{}
|
6
|
+
*** Markdown input: ***
|
7
|
+
'Twas a "test" to 'remember' in the '90s.
|
8
|
+
'Twas a "test" to 'remember' in the '90s.
|
9
|
+
|
10
|
+
It was --- in a sense --- really... interesting.
|
11
|
+
It was --- in a sense --- really... interesting.
|
12
|
+
|
13
|
+
I -- too -- met << some curly quotes >> there or <<here>>No space.
|
14
|
+
I -- too -- met << some curly quotes >> there or <<here>>No space.
|
15
|
+
|
16
|
+
|
17
|
+
She was 6\"12\'.
|
18
|
+
> She was 6\"12\'.
|
19
|
+
|
20
|
+
*** Output of inspect ***
|
21
|
+
md_el(:document,[
|
22
|
+
md_el(:code,[],{:raw_code=>"'Twas a \"test\" to 'remember' in the '90s."},[]),
|
23
|
+
md_par([
|
24
|
+
md_entity("lsquo"),
|
25
|
+
"Twas a ",
|
26
|
+
md_entity("ldquo"),
|
27
|
+
"test",
|
28
|
+
md_entity("rdquo"),
|
29
|
+
" to ",
|
30
|
+
md_entity("lsquo"),
|
31
|
+
"remember",
|
32
|
+
md_entity("rsquo"),
|
33
|
+
" in the ",
|
34
|
+
md_entity("rsquo"),
|
35
|
+
"90s."
|
36
|
+
]),
|
37
|
+
md_el(:code,[],{:raw_code=>"It was --- in a sense --- really... interesting."},[]),
|
38
|
+
md_par([
|
39
|
+
"It was ",
|
40
|
+
md_entity("mdash"),
|
41
|
+
" in a sense ",
|
42
|
+
md_entity("mdash"),
|
43
|
+
" really",
|
44
|
+
md_entity("hellip"),
|
45
|
+
" interesting."
|
46
|
+
]),
|
47
|
+
md_el(:code,[],{:raw_code=>"I -- too -- met << some curly quotes >> there or <<here>>No space."},[]),
|
48
|
+
md_par([
|
49
|
+
"I ",
|
50
|
+
md_entity("ndash"),
|
51
|
+
" too ",
|
52
|
+
md_entity("ndash"),
|
53
|
+
" met ",
|
54
|
+
md_entity("laquo"),
|
55
|
+
md_entity("nbsp"),
|
56
|
+
"some curly quotes",
|
57
|
+
md_entity("nbsp"),
|
58
|
+
md_entity("raquo"),
|
59
|
+
" there or ",
|
60
|
+
md_entity("laquo"),
|
61
|
+
"here",
|
62
|
+
md_entity("raquo"),
|
63
|
+
"No space."
|
64
|
+
]),
|
65
|
+
md_el(:code,[],{:raw_code=>"She was 6\\\"12\\'."},[]),
|
66
|
+
md_el(:quote,[
|
67
|
+
md_par(["She was 6", md_entity("quot"), "12", md_entity("apos"), "."])
|
68
|
+
],{},[])
|
69
|
+
],{},[])
|
70
|
+
*** Output of to_html ***
|
71
|
+
<pre><code>'Twas a "test" to 'remember' in the '90s.</code></pre>
|
72
|
+
<p>‘Twas a “test” to ‘remember’ in the ’90s.</p>
|
73
|
+
<pre><code>It was --- in a sense --- really... interesting.</code></pre>
|
74
|
+
<p>It was — in a sense — really… interesting.</p>
|
75
|
+
<pre><code>I -- too -- met << some curly quotes >> there or <<here>>No space.</code></pre>
|
76
|
+
<p>I – too – met « some curly quotes » there or «here»No space.</p>
|
77
|
+
<pre><code>She was 6\"12\'.</code></pre>
|
78
|
+
<blockquote>
|
79
|
+
<p>She was 6"12'.</p>
|
80
|
+
</blockquote>
|
81
|
+
|
82
|
+
*** Output of to_latex ***
|
83
|
+
\begin{verbatim}'Twas a "test" to 'remember' in the '90s.\end{verbatim}
|
84
|
+
`Twas a ``test'' to `remember' in the '90s.
|
85
|
+
|
86
|
+
\begin{verbatim}It was --- in a sense --- really... interesting.\end{verbatim}
|
87
|
+
It was --- in a sense --- really\ldots \ interesting.
|
88
|
+
|
89
|
+
\begin{verbatim}I -- too -- met << some curly quotes >> there or <<here>>No space.\end{verbatim}
|
90
|
+
I -- too -- met \guillemotleft ~some curly quotes~\guillemotright \ there or \guillemotleft here\guillemotright No space.
|
91
|
+
|
92
|
+
\begin{verbatim}She was 6\"12\'.\end{verbatim}
|
93
|
+
\begin{quote}%
|
94
|
+
She was 6"12'.
|
95
|
+
|
96
|
+
|
97
|
+
\end{quote}
|
98
|
+
|
99
|
+
*** Output of to_md ***
|
100
|
+
Twas a test to remember in the 90s.
|
101
|
+
|
102
|
+
It was in a sense really interesting.
|
103
|
+
|
104
|
+
I too met some curly quotes there or
|
105
|
+
here No space.
|
106
|
+
|
107
|
+
She was 6 12 .
|
108
|
+
|
109
|
+
|
110
|
+
*** Output of to_s ***
|
111
|
+
Twas a test to remember in the 90s.It was in a sense really interesting.I too met some curly quotes there or hereNo space.She was 612.
|
112
|
+
*** EOF ***
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
OK!
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
*** Output of Markdown.pl ***
|
121
|
+
<pre><code>'Twas a "test" to 'remember' in the '90s.
|
122
|
+
</code></pre>
|
123
|
+
|
124
|
+
<p>'Twas a "test" to 'remember' in the '90s.</p>
|
125
|
+
|
126
|
+
<pre><code>It was --- in a sense --- really... interesting.
|
127
|
+
</code></pre>
|
128
|
+
|
129
|
+
<p>It was --- in a sense --- really... interesting.</p>
|
130
|
+
|
131
|
+
<pre><code>I -- too -- met << some curly quotes >> there or <<here>>No space.
|
132
|
+
</code></pre>
|
133
|
+
|
134
|
+
<p>I -- too -- met << some curly quotes >> there or <<here>>No space.</p>
|
135
|
+
|
136
|
+
<pre><code>She was 6\"12\'.
|
137
|
+
</code></pre>
|
138
|
+
|
139
|
+
<blockquote>
|
140
|
+
<p>She was 6\"12\'.</p>
|
141
|
+
</blockquote>
|
142
|
+
|
143
|
+
*** Output of Markdown.pl (parsed) ***
|
144
|
+
Error: #<REXML::ParseException: Missing end tag for 'here' (got "p")
|
145
|
+
Line:
|
146
|
+
Position:
|
147
|
+
Last 80 unconsumed characters:
|
148
|
+
<pre><code>She was 6\"12\'. </code></pre> <blockquote> <p>She was 6\"12\'.</>
|
data/tests/unittest/syntax_hl.md
CHANGED
@@ -27,7 +27,7 @@ md_el(:document,[
|
|
27
27
|
*** Output of to_html ***
|
28
28
|
|
29
29
|
<p>This is ruby code:</p>
|
30
|
-
<pre><code>require
|
30
|
+
<pre><code>require 'maruku'
|
31
31
|
|
32
32
|
puts Maruku.new($stdin).to_html
|
33
33
|
</code></pre>
|
@@ -81,21 +81,21 @@ puts Maruku.new($stdin).to_html
|
|
81
81
|
|
82
82
|
*** Output of Markdown.pl (parsed) ***
|
83
83
|
<p>This is ruby code:</p
|
84
|
-
|
85
|
-
|
84
|
+
><pre
|
85
|
+
><code>require 'maruku'
|
86
86
|
|
87
87
|
puts Maruku.new($stdin).to_html
|
88
88
|
</code
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
89
|
+
></pre
|
90
|
+
><p>This is ruby code:</p
|
91
|
+
><pre
|
92
|
+
><code>require 'maruku'
|
93
93
|
</code
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
94
|
+
></pre
|
95
|
+
><p>{lang=ruby html<em>use</em
|
96
|
+
>syntax}</p
|
97
|
+
><pre
|
98
|
+
><code>puts Maruku.new($stdin).to_html
|
99
99
|
</code
|
100
|
-
|
101
|
-
|
100
|
+
></pre
|
101
|
+
>
|