kramdown 0.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of kramdown might be problematic. Click here for more details.

Files changed (201) hide show
  1. data/AUTHORS +1 -0
  2. data/COPYING +24 -0
  3. data/ChangeLog +1416 -0
  4. data/GPL +674 -0
  5. data/README +20 -0
  6. data/Rakefile +300 -0
  7. data/VERSION +1 -0
  8. data/benchmark/benchmark.rb +33 -0
  9. data/benchmark/mdbasics.text +306 -0
  10. data/benchmark/mdsyntax.text +888 -0
  11. data/benchmark/testing.sh +9 -0
  12. data/benchmark/timing.sh +10 -0
  13. data/bin/kramdown +26 -0
  14. data/doc/default.css +293 -0
  15. data/doc/default.template +78 -0
  16. data/doc/index.page +89 -0
  17. data/doc/installation.page +90 -0
  18. data/doc/news.feed +10 -0
  19. data/doc/news.page +27 -0
  20. data/doc/quickref.page +474 -0
  21. data/doc/syntax.page +1089 -0
  22. data/doc/tests.page +44 -0
  23. data/doc/virtual +2 -0
  24. data/lib/kramdown.rb +23 -0
  25. data/lib/kramdown/converter.rb +215 -0
  26. data/lib/kramdown/document.rb +150 -0
  27. data/lib/kramdown/error.rb +27 -0
  28. data/lib/kramdown/extension.rb +73 -0
  29. data/lib/kramdown/parser.rb +1056 -0
  30. data/lib/kramdown/parser/registry.rb +62 -0
  31. data/setup.rb +1585 -0
  32. data/test/run_tests.rb +58 -0
  33. data/test/test_files.rb +39 -0
  34. data/test/testcases/block/01_blank_line/spaces.html +1 -0
  35. data/test/testcases/block/01_blank_line/spaces.text +3 -0
  36. data/test/testcases/block/01_blank_line/tabs.html +1 -0
  37. data/test/testcases/block/01_blank_line/tabs.text +6 -0
  38. data/test/testcases/block/02_eob/beginning.html +1 -0
  39. data/test/testcases/block/02_eob/beginning.text +3 -0
  40. data/test/testcases/block/02_eob/end.html +1 -0
  41. data/test/testcases/block/02_eob/end.text +3 -0
  42. data/test/testcases/block/02_eob/middle.html +1 -0
  43. data/test/testcases/block/02_eob/middle.text +5 -0
  44. data/test/testcases/block/03_paragraph/indented.html +18 -0
  45. data/test/testcases/block/03_paragraph/indented.text +19 -0
  46. data/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
  47. data/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
  48. data/test/testcases/block/03_paragraph/one_para.html +1 -0
  49. data/test/testcases/block/03_paragraph/one_para.text +1 -0
  50. data/test/testcases/block/03_paragraph/two_para.html +4 -0
  51. data/test/testcases/block/03_paragraph/two_para.text +4 -0
  52. data/test/testcases/block/04_header/atx_header.html +26 -0
  53. data/test/testcases/block/04_header/atx_header.text +24 -0
  54. data/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
  55. data/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
  56. data/test/testcases/block/04_header/setext_header.html +25 -0
  57. data/test/testcases/block/04_header/setext_header.text +27 -0
  58. data/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
  59. data/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
  60. data/test/testcases/block/04_header/with_auto_ids.html +17 -0
  61. data/test/testcases/block/04_header/with_auto_ids.options +1 -0
  62. data/test/testcases/block/04_header/with_auto_ids.text +19 -0
  63. data/test/testcases/block/05_blockquote/indented.html +25 -0
  64. data/test/testcases/block/05_blockquote/indented.text +14 -0
  65. data/test/testcases/block/05_blockquote/nested.html +9 -0
  66. data/test/testcases/block/05_blockquote/nested.text +5 -0
  67. data/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
  68. data/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
  69. data/test/testcases/block/05_blockquote/only_first_quoted.html +8 -0
  70. data/test/testcases/block/05_blockquote/only_first_quoted.text +4 -0
  71. data/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
  72. data/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
  73. data/test/testcases/block/06_codeblock/error.html +4 -0
  74. data/test/testcases/block/06_codeblock/error.text +4 -0
  75. data/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
  76. data/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
  77. data/test/testcases/block/06_codeblock/normal.html +13 -0
  78. data/test/testcases/block/06_codeblock/normal.text +10 -0
  79. data/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
  80. data/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
  81. data/test/testcases/block/06_codeblock/whitespace.html +3 -0
  82. data/test/testcases/block/06_codeblock/whitespace.text +3 -0
  83. data/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
  84. data/test/testcases/block/06_codeblock/with_blank_line.text +11 -0
  85. data/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
  86. data/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
  87. data/test/testcases/block/07_horizontal_rule/error.html +7 -0
  88. data/test/testcases/block/07_horizontal_rule/error.text +7 -0
  89. data/test/testcases/block/07_horizontal_rule/normal.html +19 -0
  90. data/test/testcases/block/07_horizontal_rule/normal.text +19 -0
  91. data/test/testcases/block/08_list/escaping.html +17 -0
  92. data/test/testcases/block/08_list/escaping.text +17 -0
  93. data/test/testcases/block/08_list/list_and_hr.html +9 -0
  94. data/test/testcases/block/08_list/list_and_hr.text +5 -0
  95. data/test/testcases/block/08_list/list_and_others.html +38 -0
  96. data/test/testcases/block/08_list/list_and_others.text +25 -0
  97. data/test/testcases/block/08_list/mixed.html +111 -0
  98. data/test/testcases/block/08_list/mixed.text +66 -0
  99. data/test/testcases/block/08_list/nested.html +17 -0
  100. data/test/testcases/block/08_list/nested.text +7 -0
  101. data/test/testcases/block/08_list/other_first_element.html +39 -0
  102. data/test/testcases/block/08_list/other_first_element.text +18 -0
  103. data/test/testcases/block/08_list/simple_ol.html +19 -0
  104. data/test/testcases/block/08_list/simple_ol.text +13 -0
  105. data/test/testcases/block/08_list/simple_ul.html +61 -0
  106. data/test/testcases/block/08_list/simple_ul.text +43 -0
  107. data/test/testcases/block/08_list/single_item.html +3 -0
  108. data/test/testcases/block/08_list/single_item.text +1 -0
  109. data/test/testcases/block/08_list/special_cases.html +29 -0
  110. data/test/testcases/block/08_list/special_cases.text +19 -0
  111. data/test/testcases/block/09_html/auto_parse_block_html.html +17 -0
  112. data/test/testcases/block/09_html/auto_parse_block_html.options +1 -0
  113. data/test/testcases/block/09_html/auto_parse_block_html.text +14 -0
  114. data/test/testcases/block/09_html/comment.html +12 -0
  115. data/test/testcases/block/09_html/comment.text +12 -0
  116. data/test/testcases/block/09_html/filtered_html.html +1 -0
  117. data/test/testcases/block/09_html/filtered_html.options +1 -0
  118. data/test/testcases/block/09_html/filtered_html.text +1 -0
  119. data/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
  120. data/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
  121. data/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
  122. data/test/testcases/block/09_html/invalid_html_1.html +5 -0
  123. data/test/testcases/block/09_html/invalid_html_1.text +5 -0
  124. data/test/testcases/block/09_html/invalid_html_2.html +6 -0
  125. data/test/testcases/block/09_html/invalid_html_2.text +5 -0
  126. data/test/testcases/block/09_html/parse_as_raw.html +26 -0
  127. data/test/testcases/block/09_html/parse_as_raw.text +16 -0
  128. data/test/testcases/block/09_html/parse_as_span.html +12 -0
  129. data/test/testcases/block/09_html/parse_as_span.text +7 -0
  130. data/test/testcases/block/09_html/processing_instruction.html +12 -0
  131. data/test/testcases/block/09_html/processing_instruction.text +12 -0
  132. data/test/testcases/block/09_html/simple.html +78 -0
  133. data/test/testcases/block/09_html/simple.text +56 -0
  134. data/test/testcases/block/10_ald/simple.html +2 -0
  135. data/test/testcases/block/10_ald/simple.text +8 -0
  136. data/test/testcases/block/11_ial/simple.html +17 -0
  137. data/test/testcases/block/11_ial/simple.text +25 -0
  138. data/test/testcases/block/12_extension/comment.html +5 -0
  139. data/test/testcases/block/12_extension/comment.text +11 -0
  140. data/test/testcases/block/12_extension/ignored.html +6 -0
  141. data/test/testcases/block/12_extension/ignored.text +11 -0
  142. data/test/testcases/block/12_extension/kdoptions.html +15 -0
  143. data/test/testcases/block/12_extension/kdoptions.text +18 -0
  144. data/test/testcases/block/12_extension/kdoptions2.html +10 -0
  145. data/test/testcases/block/12_extension/kdoptions2.text +5 -0
  146. data/test/testcases/block/12_extension/nokramdown.html +6 -0
  147. data/test/testcases/block/12_extension/nokramdown.text +11 -0
  148. data/test/testcases/span/01_link/empty.html +3 -0
  149. data/test/testcases/span/01_link/empty.text +3 -0
  150. data/test/testcases/span/01_link/image_in_a.html +5 -0
  151. data/test/testcases/span/01_link/image_in_a.text +5 -0
  152. data/test/testcases/span/01_link/imagelinks.html +12 -0
  153. data/test/testcases/span/01_link/imagelinks.text +14 -0
  154. data/test/testcases/span/01_link/inline.html +40 -0
  155. data/test/testcases/span/01_link/inline.text +42 -0
  156. data/test/testcases/span/01_link/link_defs.html +8 -0
  157. data/test/testcases/span/01_link/link_defs.text +22 -0
  158. data/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
  159. data/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
  160. data/test/testcases/span/01_link/reference.html +32 -0
  161. data/test/testcases/span/01_link/reference.text +42 -0
  162. data/test/testcases/span/02_emphasis/empty.html +3 -0
  163. data/test/testcases/span/02_emphasis/empty.text +3 -0
  164. data/test/testcases/span/02_emphasis/errors.html +9 -0
  165. data/test/testcases/span/02_emphasis/errors.text +9 -0
  166. data/test/testcases/span/02_emphasis/nesting.html +34 -0
  167. data/test/testcases/span/02_emphasis/nesting.text +30 -0
  168. data/test/testcases/span/02_emphasis/normal.html +42 -0
  169. data/test/testcases/span/02_emphasis/normal.text +42 -0
  170. data/test/testcases/span/03_codespan/empty.html +5 -0
  171. data/test/testcases/span/03_codespan/empty.text +5 -0
  172. data/test/testcases/span/03_codespan/errors.html +1 -0
  173. data/test/testcases/span/03_codespan/errors.text +1 -0
  174. data/test/testcases/span/03_codespan/normal.html +16 -0
  175. data/test/testcases/span/03_codespan/normal.text +16 -0
  176. data/test/testcases/span/04_footnote/definitions.html +14 -0
  177. data/test/testcases/span/04_footnote/definitions.text +18 -0
  178. data/test/testcases/span/04_footnote/footnote_nr.html +12 -0
  179. data/test/testcases/span/04_footnote/footnote_nr.options +1 -0
  180. data/test/testcases/span/04_footnote/footnote_nr.text +4 -0
  181. data/test/testcases/span/04_footnote/markers.html +46 -0
  182. data/test/testcases/span/04_footnote/markers.text +26 -0
  183. data/test/testcases/span/05_html/normal.html +17 -0
  184. data/test/testcases/span/05_html/normal.text +17 -0
  185. data/test/testcases/span/autolinks/url_links.html +9 -0
  186. data/test/testcases/span/autolinks/url_links.text +9 -0
  187. data/test/testcases/span/escaped_chars/normal.html +33 -0
  188. data/test/testcases/span/escaped_chars/normal.text +33 -0
  189. data/test/testcases/span/ial/simple.html +5 -0
  190. data/test/testcases/span/ial/simple.text +5 -0
  191. data/test/testcases/span/line_breaks/normal.html +11 -0
  192. data/test/testcases/span/line_breaks/normal.text +11 -0
  193. data/test/testcases/span/text_substitutions/entities.html +4 -0
  194. data/test/testcases/span/text_substitutions/entities.text +4 -0
  195. data/test/testcases/span/text_substitutions/greaterthan.html +1 -0
  196. data/test/testcases/span/text_substitutions/greaterthan.text +1 -0
  197. data/test/testcases/span/text_substitutions/lowerthan.html +1 -0
  198. data/test/testcases/span/text_substitutions/lowerthan.text +1 -0
  199. data/test/testcases/span/text_substitutions/typography.html +3 -0
  200. data/test/testcases/span/text_substitutions/typography.text +3 -0
  201. metadata +259 -0
@@ -0,0 +1,2 @@
1
+ > This is a block quote
2
+ > with no newline.
@@ -0,0 +1,8 @@
1
+ <blockquote>
2
+ <blockquote>
3
+ <p>This is a subquote.
4
+ over multipline lines.</p>
5
+ </blockquote>
6
+ <p>This is a blockquote</p>
7
+ </blockquote>
8
+ <p>that is NOT continued here</p>
@@ -0,0 +1,4 @@
1
+ > > This is a subquote.
2
+ > > over multipline lines.
3
+ > This is a blockquote
4
+ that is NOT continued here
@@ -0,0 +1,15 @@
1
+ <blockquote>
2
+ <p>Example:</p>
3
+
4
+ <pre><code>sub status {
5
+ print &quot;working&quot;;
6
+ }
7
+ </code></pre>
8
+
9
+ <p>Or:</p>
10
+
11
+ <pre><code>sub status {
12
+ return &quot;working&quot;;
13
+ }
14
+ </code></pre>
15
+ </blockquote>
@@ -0,0 +1,11 @@
1
+ >Example:
2
+ >
3
+ > sub status {
4
+ > print "working";
5
+ > }
6
+ >
7
+ > Or:
8
+ >
9
+ > sub status {
10
+ > return "working";
11
+ > }
@@ -0,0 +1,4 @@
1
+ <p>Some para</p>
2
+
3
+ <p>~~~~~~
4
+ not codeblock</p>
@@ -0,0 +1,4 @@
1
+ Some para
2
+
3
+ ~~~~~~
4
+ not codeblock
@@ -0,0 +1,2 @@
1
+ <pre><code>test
2
+ </code></pre>
@@ -0,0 +1,13 @@
1
+ <pre><code>starting code
2
+ </code></pre>
3
+
4
+ <p>paragraph</p>
5
+
6
+ <pre><code>other code
7
+ with samples
8
+ </code></pre>
9
+
10
+ <p>paragraph</p>
11
+
12
+ <pre><code> ending code
13
+ </code></pre>
@@ -0,0 +1,10 @@
1
+ starting code
2
+
3
+ paragraph
4
+
5
+ other code
6
+ with samples
7
+
8
+ paragraph
9
+
10
+ ending code
@@ -0,0 +1,7 @@
1
+ <pre><code>Here comes some code.
2
+ </code></pre>
3
+
4
+ <pre><code>~~~~~~~
5
+ code with tildes
6
+ ~~~~~~~~
7
+ </code></pre>
@@ -0,0 +1,9 @@
1
+ ~~~~~~~~
2
+ Here comes some code.
3
+ ~~~~~~~~
4
+
5
+ ~~~~~~~~~~~~
6
+ ~~~~~~~
7
+ code with tildes
8
+ ~~~~~~~~
9
+ ~~~~~~~~~~~~~~~~~~
@@ -0,0 +1,3 @@
1
+ <pre class="show-whitespaces"><code>This<span class="ws-tab"> </span>is<span class="ws-space">&sdot;</span>some<span class="ws-space-r">&sdot;</span><span class="ws-space-r">&sdot;</span>
2
+ <span class="ws-space-l">&sdot;</span><span class="ws-space-l">&sdot;</span><span class="ws-space-l">&sdot;</span><span class="ws-space-l">&sdot;</span>whitespace<span class="ws-space-r">&sdot;</span><span class="ws-space-r">&sdot;</span>
3
+ </code></pre>
@@ -0,0 +1,3 @@
1
+ This is some
2
+ whitespace
3
+ {:.show-whitespaces}
@@ -0,0 +1,13 @@
1
+ <p>paragraph</p>
2
+
3
+ <pre><code>code block
4
+
5
+ continued here
6
+ </code></pre>
7
+
8
+ <p>ended</p>
9
+
10
+ <pre><code>next blank line has 4 spaces
11
+ </code></pre>
12
+
13
+ <p>paragraph</p>
@@ -0,0 +1,11 @@
1
+ paragraph
2
+
3
+ code block
4
+
5
+ continued here
6
+
7
+ ended
8
+
9
+ next blank line has 4 spaces
10
+
11
+ paragraph
@@ -0,0 +1,6 @@
1
+ <pre><code>code block
2
+
3
+ continued here
4
+ </code></pre>
5
+ <pre><code>new block here
6
+ </code></pre>
@@ -0,0 +1,5 @@
1
+ code block
2
+
3
+ continued here
4
+ ^
5
+ new block here
@@ -0,0 +1,7 @@
1
+ <p>_ * _</p>
2
+
3
+ <p>&mdash; * * *</p>
4
+
5
+ <p>_ - *</p>
6
+
7
+ <p>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;- test</p>
@@ -0,0 +1,7 @@
1
+ _ * _
2
+
3
+ --- * * *
4
+
5
+ _ - *
6
+
7
+ ---------------------------------------------- test
@@ -0,0 +1,19 @@
1
+ <p>Text</p>
2
+ <hr />
3
+ <hr />
4
+ <hr />
5
+
6
+ <p>d- -</p>
7
+
8
+ <hr />
9
+ <hr />
10
+ <hr />
11
+
12
+ <h2>para</h2>
13
+ <p>text</p>
14
+
15
+ <p>test</p>
16
+ <hr />
17
+
18
+ <pre><code>- - -
19
+ </code></pre>
@@ -0,0 +1,19 @@
1
+ Text
2
+ ***
3
+ * * *
4
+ - - -
5
+
6
+ d- -
7
+
8
+ ---
9
+ ___
10
+ ***
11
+
12
+ para
13
+ -----------
14
+ text
15
+
16
+ test
17
+ * * *
18
+
19
+ - - -
@@ -0,0 +1,17 @@
1
+ <p>I have read the book
2
+ 1984. It was great
3
+ - other say that, too!</p>
4
+
5
+ <p>I have read the book
6
+ 1984. It was great
7
+ - other say that, too!</p>
8
+
9
+ <p>I have read the book
10
+ 1984. It was great.</p>
11
+
12
+ <p>I have read the book 1984.
13
+ - it was great!</p>
14
+
15
+ <p>1984. Was great!</p>
16
+
17
+ <p>- This too!</p>
@@ -0,0 +1,17 @@
1
+ I have read the book
2
+ 1984. It was great
3
+ - other say that, too!
4
+
5
+ I have read the book
6
+ 1984\. It was great
7
+ \- other say that, too!
8
+
9
+ I have read the book
10
+ 1984. It was great.
11
+
12
+ I have read the book 1984.
13
+ - it was great!
14
+
15
+ 1984\. Was great!
16
+
17
+ \- This too!
@@ -0,0 +1,9 @@
1
+ <ul>
2
+ <li>Starting a list</li>
3
+ </ul>
4
+
5
+ <hr />
6
+
7
+ <ul>
8
+ <li>Starting a new list</li>
9
+ </ul>
@@ -0,0 +1,5 @@
1
+ * Starting a list
2
+
3
+ * * *
4
+
5
+ * Starting a new list
@@ -0,0 +1,38 @@
1
+ <ul>
2
+ <li>list item</li>
3
+ </ul>
4
+
5
+ <blockquote>
6
+ <p>blockquote</p>
7
+ </blockquote>
8
+
9
+ <p>para</p>
10
+ <hr />
11
+ <p>para
12
+ - no list</p>
13
+
14
+ <ul>
15
+ <li>item
16
+ <blockquote>
17
+ <p>block</p>
18
+ </blockquote>
19
+
20
+ <h2>header</h2>
21
+ </li>
22
+ <li>
23
+ <p>test</p>
24
+
25
+ <pre><code>codeblock
26
+ </code></pre>
27
+
28
+ <p>test</p>
29
+ </li>
30
+ <li>
31
+ <p>test</p>
32
+
33
+ <pre><code>codeblock
34
+ </code></pre>
35
+
36
+ <p>test</p>
37
+ </li>
38
+ </ul>
@@ -0,0 +1,25 @@
1
+ * list item
2
+
3
+ > blockquote
4
+
5
+ para
6
+ * * *
7
+ para
8
+ - no list
9
+
10
+ + item
11
+ > block
12
+
13
+ ## header
14
+
15
+ * test
16
+
17
+ codeblock
18
+
19
+ test
20
+
21
+ * test
22
+
23
+ codeblock
24
+
25
+ test
@@ -0,0 +1,111 @@
1
+ <p>With tabs/spaces, no paras:</p>
2
+
3
+ <ul>
4
+ <li>item1</li>
5
+ <li>item2</li>
6
+ <li>item3</li>
7
+ </ul>
8
+
9
+ <p>With tabs/spaces, paras:</p>
10
+
11
+ <ul>
12
+ <li>
13
+ <p>item1</p>
14
+ </li>
15
+ <li>
16
+ <p>item2</p>
17
+ </li>
18
+ <li>item3</li>
19
+ </ul>
20
+
21
+ <p>With tabs/spaces, no paras:</p>
22
+
23
+ <ol>
24
+ <li>item1</li>
25
+ <li>item2</li>
26
+ <li>item3</li>
27
+ </ol>
28
+
29
+ <p>With tabs/spaces, paras:</p>
30
+
31
+ <ol>
32
+ <li>
33
+ <p>item1</p>
34
+ </li>
35
+ <li>
36
+ <p>item2</p>
37
+ </li>
38
+ <li>item3</li>
39
+ </ol>
40
+
41
+ <p>Nested, without paras:</p>
42
+
43
+ <ul>
44
+ <li>item1
45
+ <ul>
46
+ <li>item2
47
+ <ul>
48
+ <li>item3</li>
49
+ </ul>
50
+ </li>
51
+ </ul>
52
+ </li>
53
+ </ul>
54
+
55
+ <p>Nested, with paras:</p>
56
+
57
+ <ul>
58
+ <li>
59
+ <p>item1</p>
60
+
61
+ <ul>
62
+ <li>item2
63
+ <ul>
64
+ <li>item3 (level 3)</li>
65
+ </ul>
66
+ </li>
67
+ </ul>
68
+ </li>
69
+ </ul>
70
+
71
+ <p>Ordered, without paras:</p>
72
+
73
+ <ol>
74
+ <li>item1</li>
75
+ <li>item2
76
+ <ul>
77
+ <li>do</li>
78
+ <li>it</li>
79
+ <li>now</li>
80
+ </ul>
81
+ </li>
82
+ <li>item3</li>
83
+ </ol>
84
+
85
+ <p>Ordered, with paras:</p>
86
+
87
+ <ol>
88
+ <li>
89
+ <p>item1</p>
90
+ </li>
91
+ <li>
92
+ <p>item2</p>
93
+
94
+ <ul>
95
+ <li>do</li>
96
+ <li>it</li>
97
+ <li>now</li>
98
+ </ul>
99
+ </li>
100
+ <li>item3</li>
101
+ </ol>
102
+
103
+ <p>Mixed tabs and spaces:</p>
104
+
105
+ <ul>
106
+ <li>some text
107
+ <ul>
108
+ <li>nested</li>
109
+ </ul>
110
+ </li>
111
+ </ul>