kramdown 0.10.0 → 0.11.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 (132) hide show
  1. data/CONTRIBUTERS +1 -1
  2. data/ChangeLog +594 -0
  3. data/Rakefile +2 -2
  4. data/VERSION +1 -1
  5. data/data/kramdown/document.html +11 -2
  6. data/doc/default.template +2 -2
  7. data/doc/index.page +1 -2
  8. data/doc/quickref.page +2 -2
  9. data/doc/syntax.page +270 -179
  10. data/lib/kramdown/converter/html.rb +43 -29
  11. data/lib/kramdown/converter/kramdown.rb +97 -73
  12. data/lib/kramdown/converter/latex.rb +18 -13
  13. data/lib/kramdown/document.rb +8 -6
  14. data/lib/kramdown/options.rb +7 -10
  15. data/lib/kramdown/parser/html.rb +29 -21
  16. data/lib/kramdown/parser/kramdown.rb +19 -3
  17. data/lib/kramdown/parser/kramdown/abbreviation.rb +1 -0
  18. data/lib/kramdown/parser/kramdown/attribute_list.rb +18 -12
  19. data/lib/kramdown/parser/kramdown/autolink.rb +1 -1
  20. data/lib/kramdown/parser/kramdown/block_boundary.rb +46 -0
  21. data/lib/kramdown/parser/kramdown/blockquote.rb +7 -3
  22. data/lib/kramdown/parser/kramdown/codeblock.rb +5 -3
  23. data/lib/kramdown/parser/kramdown/escaped_chars.rb +1 -1
  24. data/lib/kramdown/parser/kramdown/extension.rb +22 -8
  25. data/lib/kramdown/parser/kramdown/footnote.rb +3 -2
  26. data/lib/kramdown/parser/kramdown/header.rb +10 -10
  27. data/lib/kramdown/parser/kramdown/html.rb +16 -14
  28. data/lib/kramdown/parser/kramdown/html_entity.rb +1 -1
  29. data/lib/kramdown/parser/kramdown/link.rb +8 -8
  30. data/lib/kramdown/parser/kramdown/list.rb +36 -29
  31. data/lib/kramdown/parser/kramdown/math.rb +15 -4
  32. data/lib/kramdown/parser/kramdown/paragraph.rb +14 -3
  33. data/lib/kramdown/parser/kramdown/table.rb +17 -9
  34. data/lib/kramdown/utils.rb +1 -0
  35. data/lib/kramdown/utils/html.rb +9 -9
  36. data/lib/kramdown/utils/ordered_hash.rb +79 -0
  37. data/lib/kramdown/version.rb +1 -1
  38. data/man/man1/kramdown.1 +9 -12
  39. data/test/test_files.rb +6 -1
  40. data/test/testcases/block/02_eob/middle.html +0 -1
  41. data/test/testcases/block/04_header/atx_header.html +5 -2
  42. data/test/testcases/block/04_header/atx_header.text +3 -1
  43. data/test/testcases/block/04_header/setext_header.html +4 -5
  44. data/test/testcases/block/04_header/setext_header.html.19 +30 -0
  45. data/test/testcases/block/05_blockquote/lazy.html +34 -0
  46. data/test/testcases/block/05_blockquote/lazy.text +20 -0
  47. data/test/testcases/block/05_blockquote/nested.html +1 -0
  48. data/test/testcases/block/05_blockquote/nested.text +1 -0
  49. data/test/testcases/block/05_blockquote/with_code_blocks.html +2 -2
  50. data/test/testcases/block/06_codeblock/lazy.html +4 -0
  51. data/test/testcases/block/06_codeblock/lazy.text +5 -0
  52. data/test/testcases/block/06_codeblock/no_newline_at_end_1.html +2 -0
  53. data/test/testcases/block/06_codeblock/no_newline_at_end_1.text +2 -0
  54. data/test/testcases/block/06_codeblock/with_ial.html +6 -0
  55. data/test/testcases/block/06_codeblock/with_ial.text +5 -0
  56. data/test/testcases/block/07_horizontal_rule/normal.html +0 -2
  57. data/test/testcases/block/07_horizontal_rule/normal.text +0 -2
  58. data/test/testcases/block/08_list/item_ial.html +1 -3
  59. data/test/testcases/block/08_list/lazy.html +39 -0
  60. data/test/testcases/block/08_list/lazy.text +29 -0
  61. data/test/testcases/block/08_list/list_and_others.html +5 -3
  62. data/test/testcases/block/08_list/list_and_others.text +1 -0
  63. data/test/testcases/block/08_list/other_first_element.html +2 -2
  64. data/test/testcases/block/08_list/other_first_element.text +1 -1
  65. data/test/testcases/block/08_list/simple_ul.html +0 -13
  66. data/test/testcases/block/08_list/simple_ul.text +0 -7
  67. data/test/testcases/block/08_list/special_cases.html +8 -31
  68. data/test/testcases/block/08_list/special_cases.text +2 -15
  69. data/test/testcases/block/09_html/comment.html +2 -2
  70. data/test/testcases/block/09_html/html_to_native/emphasis.html +2 -0
  71. data/test/testcases/block/09_html/html_to_native/emphasis.text +2 -0
  72. data/test/testcases/block/09_html/html_to_native/table_normal.html +2 -1
  73. data/test/testcases/block/09_html/html_to_native/table_simple.html +4 -2
  74. data/test/testcases/block/09_html/invalid_html_1.html +2 -0
  75. data/test/testcases/block/09_html/parse_as_raw.html +2 -2
  76. data/test/testcases/block/09_html/parse_as_span.html +1 -1
  77. data/test/testcases/block/09_html/simple.html +2 -0
  78. data/test/testcases/block/09_html/simple.html.19 +2 -0
  79. data/test/testcases/block/09_html/simple.text +2 -0
  80. data/test/testcases/block/11_ial/auto_id_and_ial.html +1 -1
  81. data/test/testcases/block/11_ial/simple.html +2 -3
  82. data/test/testcases/block/12_extension/comment.html +3 -1
  83. data/test/testcases/block/12_extension/comment.text +2 -1
  84. data/test/testcases/block/12_extension/ignored.html +5 -1
  85. data/test/testcases/block/12_extension/ignored.text +1 -1
  86. data/test/testcases/block/12_extension/nomarkdown.html +5 -1
  87. data/test/testcases/block/12_extension/nomarkdown.kramdown +20 -0
  88. data/test/testcases/block/12_extension/nomarkdown.latex +13 -0
  89. data/test/testcases/block/12_extension/nomarkdown.text +11 -1
  90. data/test/testcases/block/13_definition_list/item_ial.html +1 -3
  91. data/test/testcases/block/13_definition_list/item_ial.text +1 -1
  92. data/test/testcases/block/13_definition_list/simple.html +2 -2
  93. data/test/testcases/block/14_table/errors.html +5 -0
  94. data/test/testcases/block/14_table/errors.text +6 -0
  95. data/test/testcases/block/14_table/header.text +1 -1
  96. data/test/testcases/block/14_table/no_table.text +1 -1
  97. data/test/testcases/block/14_table/simple.html +78 -0
  98. data/test/testcases/block/14_table/simple.text +22 -0
  99. data/test/testcases/block/15_math/normal.html +11 -4
  100. data/test/testcases/block/15_math/normal.text +10 -0
  101. data/test/testcases/encoding.html +1 -1
  102. data/test/testcases/span/01_link/image_in_a.html +3 -3
  103. data/test/testcases/span/01_link/imagelinks.html +7 -7
  104. data/test/testcases/span/01_link/inline.html +11 -5
  105. data/test/testcases/span/01_link/inline.html.19 +11 -5
  106. data/test/testcases/span/01_link/inline.text +11 -5
  107. data/test/testcases/span/01_link/link_defs.html +2 -1
  108. data/test/testcases/span/01_link/link_defs.text +4 -0
  109. data/test/testcases/span/01_link/reference.html +3 -0
  110. data/test/testcases/span/01_link/reference.html.19 +3 -0
  111. data/test/testcases/span/01_link/reference.text +5 -0
  112. data/test/testcases/span/03_codespan/highlighting.html +1 -0
  113. data/test/testcases/span/03_codespan/highlighting.text +1 -0
  114. data/test/testcases/span/04_footnote/definitions.html +3 -0
  115. data/test/testcases/span/04_footnote/definitions.latex +3 -4
  116. data/test/testcases/span/04_footnote/definitions.text +6 -0
  117. data/test/testcases/span/04_footnote/footnote_nr.latex +1 -5
  118. data/test/testcases/span/04_footnote/markers.latex +5 -14
  119. data/test/testcases/span/05_html/markdown_attr.html +1 -1
  120. data/test/testcases/span/05_html/markdown_attr.text +1 -1
  121. data/test/testcases/span/05_html/normal.html +5 -3
  122. data/test/testcases/span/05_html/normal.text +2 -0
  123. data/test/testcases/span/escaped_chars/normal.html +2 -0
  124. data/test/testcases/span/escaped_chars/normal.text +2 -0
  125. data/test/testcases/span/extension/comment.html +2 -2
  126. data/test/testcases/span/extension/ignored.html +1 -1
  127. data/test/testcases/span/text_substitutions/typography.html +1 -1
  128. data/test/testcases/span/text_substitutions/typography.html.19 +1 -1
  129. data/test/testcases/span/text_substitutions/typography.text +1 -1
  130. metadata +20 -5
  131. data/test/testcases/block/05_blockquote/only_first_quoted.html +0 -8
  132. data/test/testcases/block/05_blockquote/only_first_quoted.text +0 -4
@@ -0,0 +1,20 @@
1
+ > This is a long
2
+ long line.
3
+
4
+ > > Nested quote
5
+ inside
6
+ > still inside
7
+
8
+ > > This is a subquote.
9
+ > > over multipline lines.
10
+ > continuing
11
+ here
12
+
13
+ > This is a quote
14
+ no code
15
+
16
+ > This is a quote
17
+ {: #id}
18
+
19
+ > This is a quote
20
+ ^
@@ -5,5 +5,6 @@
5
5
  <p>bar
6
6
  baz</p>
7
7
  </blockquote>
8
+
8
9
  <p>foo</p>
9
10
  </blockquote>
@@ -2,4 +2,5 @@
2
2
  >
3
3
  > > bar
4
4
  >> baz
5
+ >
5
6
  > foo
@@ -2,14 +2,14 @@
2
2
  <p>Example:</p>
3
3
 
4
4
  <pre><code>sub status {
5
- print &quot;working&quot;;
5
+ print "working";
6
6
  }
7
7
  </code></pre>
8
8
 
9
9
  <p>Or:</p>
10
10
 
11
11
  <pre><code>sub status {
12
- return &quot;working&quot;;
12
+ return "working";
13
13
  }
14
14
  </code></pre>
15
15
  </blockquote>
@@ -0,0 +1,4 @@
1
+ <pre><code>This is some code
2
+
3
+ This is some other code
4
+ </code></pre>
@@ -0,0 +1,5 @@
1
+ This is some
2
+ code
3
+
4
+ This is some
5
+ other code
@@ -0,0 +1,2 @@
1
+ <pre><code>test test
2
+ </code></pre>
@@ -0,0 +1,6 @@
1
+ <pre class="cls"><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
+ {:.cls}
5
+ new block here
@@ -1,4 +1,3 @@
1
- <p>Text</p>
2
1
  <hr />
3
2
  <hr />
4
3
  <hr />
@@ -12,7 +11,6 @@
12
11
  <h2>para</h2>
13
12
  <p>text</p>
14
13
 
15
- <p>test</p>
16
14
  <hr />
17
15
 
18
16
  <pre><code>- - -
@@ -1,4 +1,3 @@
1
- Text
2
1
  ***
3
2
  * * *
4
3
  - - -
@@ -13,7 +12,6 @@ para
13
12
  -----------
14
13
  text
15
14
 
16
- test
17
15
  * * *
18
16
 
19
17
  - - -
@@ -3,7 +3,5 @@
3
3
  continued</li>
4
4
  <li>another </li>
5
5
  <li class="cls">IAL at last
6
- <pre><code>code
7
- </code></pre>
8
- </li>
6
+ code</li>
9
7
  </ul>
@@ -0,0 +1,39 @@
1
+ <ul>
2
+ <li>This is a simple
3
+ list item</li>
4
+ <li>
5
+ <p>Followed by another
6
+ list item</p>
7
+ </li>
8
+ <li>
9
+ <p>Followed by</p>
10
+
11
+ <p>a para list item
12
+ continued here</p>
13
+ </li>
14
+ <li>and a normal one</li>
15
+ <li>
16
+ <p>and</p>
17
+
18
+ <p>a para
19
+ continued here</p>
20
+ </li>
21
+ </ul>
22
+
23
+ <p>para</p>
24
+
25
+ <ul>
26
+ <li>multi line
27
+ list item</li>
28
+ </ul>
29
+
30
+ <p>para</p>
31
+
32
+ <ul>
33
+ <li>list item line1
34
+ one line
35
+ two lines</li>
36
+ <li>list item line2
37
+ one line
38
+ two lines</li>
39
+ </ul>
@@ -0,0 +1,29 @@
1
+ * This is a simple
2
+ list item
3
+ * Followed by another
4
+ list item
5
+
6
+
7
+ * Followed by
8
+
9
+ a para list item
10
+ continued here
11
+ * and a normal one
12
+ * and
13
+
14
+ a para
15
+ continued here
16
+
17
+ para
18
+
19
+ * multi line
20
+ list item
21
+
22
+ para
23
+
24
+ * list item line1
25
+ one line
26
+ two lines
27
+ * list item line2
28
+ one line
29
+ two lines
@@ -6,13 +6,15 @@
6
6
  <p>blockquote</p>
7
7
  </blockquote>
8
8
 
9
- <p>para</p>
10
- <hr />
11
9
  <p>para
10
+ * * *
11
+ para
12
12
  - no list</p>
13
13
 
14
14
  <ul>
15
- <li>item
15
+ <li>
16
+ <p>item</p>
17
+
16
18
  <blockquote>
17
19
  <p>block</p>
18
20
  </blockquote>
@@ -8,6 +8,7 @@ para
8
8
  - no list
9
9
 
10
10
  + item
11
+
11
12
  > block
12
13
 
13
14
  ## header
@@ -19,9 +19,9 @@
19
19
  </li>
20
20
  <li>
21
21
  <blockquote>
22
- <p>This is a blockquote.</p>
22
+ <p>This is a blockquote.
23
+ continued by some para.</p>
23
24
  </blockquote>
24
- <p>Followed by some para.</p>
25
25
  </li>
26
26
  <li>
27
27
  <h1>A header</h1>
@@ -7,7 +7,7 @@
7
7
  This is a code block.
8
8
 
9
9
  * > This is a blockquote.
10
- Followed by some para.
10
+ continued by some para.
11
11
 
12
12
  * A header
13
13
  =========
@@ -46,16 +46,3 @@ two lines</li>
46
46
  </ul>
47
47
 
48
48
  <p>para</p>
49
-
50
- <ul>
51
- <li>
52
- <p>first para</p>
53
-
54
- <p>other para</p>
55
- </li>
56
- </ul>
57
- <p>not in list para</p>
58
-
59
- <ul>
60
- <li>second para</li>
61
- </ul>
@@ -34,10 +34,3 @@ para
34
34
  two lines
35
35
 
36
36
  para
37
-
38
- * first para
39
-
40
- other para
41
- not in list para
42
-
43
- * second para
@@ -1,12 +1,16 @@
1
1
  <ul>
2
- <li>not a para
3
- here
2
+ <li>
3
+ <p>not a para
4
+ here</p>
5
+
4
6
  <blockquote>
5
7
  <p>blockquote</p>
6
8
  </blockquote>
7
9
  </li>
8
- <li>and not
9
- here
10
+ <li>
11
+ <p>and not
12
+ here</p>
13
+
10
14
  <blockquote>
11
15
  <p>blockquote</p>
12
16
  </blockquote>
@@ -49,30 +53,3 @@ here
49
53
  <p>but here</p>
50
54
  </li>
51
55
  </ul>
52
- <p>A normal list:</p>
53
-
54
- <ul>
55
- <li>
56
- <p>not</p>
57
- </li>
58
- <li>
59
- <p>compact</p>
60
- </li>
61
- <li>
62
- <p>here</p>
63
- </li>
64
- </ul>
65
-
66
- <p>A normal list:</p>
67
-
68
- <ul>
69
- <li>
70
- <p>not</p>
71
- </li>
72
- <li>
73
- <p>compact</p>
74
- </li>
75
- <li>
76
- <p>here</p>
77
- </li>
78
- </ul>
@@ -1,9 +1,11 @@
1
1
  * not a para
2
2
  here
3
+
3
4
  > blockquote
4
5
 
5
6
  * and not
6
7
  here
8
+
7
9
  >blockquote
8
10
 
9
11
  * this is a para
@@ -31,18 +33,3 @@ A normal list:
31
33
  * compact
32
34
 
33
35
  * but here
34
- A normal list:
35
-
36
- * not
37
-
38
- * compact
39
-
40
- * here
41
-
42
- A normal list:
43
-
44
- * not
45
-
46
- * compact
47
-
48
- * here
@@ -13,6 +13,6 @@ Blah
13
13
  <p>para</p>
14
14
 
15
15
  <blockquote>
16
- <p>This is</p>
17
- <!-- a comment -->
16
+ <p>This is
17
+ <!-- a comment --></p>
18
18
  </blockquote>
@@ -1 +1,3 @@
1
1
  <p>This is <em>sized<strong>hallo</strong></em>.</p>
2
+
3
+ <p>This is <strong>strong<em>italic</em>, yes!</strong>.</p>
@@ -1 +1,3 @@
1
1
  This is <em>sized<strong>hallo</strong></em>.
2
+
3
+ This is <b>strong<i>italic</i>, yes!</b>.
@@ -5,7 +5,8 @@
5
5
  </tr>
6
6
  <tr>
7
7
  <td>
8
- Some *data* </td>
8
+ Some *data*
9
+ </td>
9
10
  <td>
10
11
  <p>Some more</p>
11
12
  </td>
@@ -39,8 +39,10 @@
39
39
  </tr>
40
40
  <tr>
41
41
  <td>
42
- Some *data* </td>
42
+ Some *data*
43
+ </td>
43
44
  <td>
44
- Some more </td>
45
+ Some more
46
+ </td>
45
47
  </tr>
46
48
  </table>
@@ -1,3 +1,5 @@
1
1
  <p>para</p>
2
2
 
3
+ <p>&lt;/div&gt;</p>
4
+
3
5
  <p>para</p>
@@ -1,7 +1,7 @@
1
- <p>This is some para.</p>
1
+ <p>This is some para.
2
2
  <script type="javascript">
3
3
  This *text* must not be converted.
4
- </script>
4
+ </script></p>
5
5
 
6
6
  <script>Not *parsed* here</script>
7
7
 
@@ -4,7 +4,7 @@ as span
4
4
  </p>
5
5
 
6
6
  <p>This produces `</p>
7
- <p>` an unwanted result.</p>
7
+ <p>` an unwanted result.&lt;/p&gt;</p>
8
8
 
9
9
  <p>This <em>text</em> too</p>
10
10
  <p>
@@ -60,3 +60,5 @@ weiter
60
60
  <p><em>Test
61
61
  </em>
62
62
  </p>
63
+
64
+ <iframe></iframe>