kramdown 2.0.0.beta2 → 2.3.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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTERS +14 -3
  3. data/VERSION +1 -1
  4. data/bin/kramdown +48 -19
  5. data/lib/kramdown/converter/base.rb +2 -1
  6. data/lib/kramdown/converter/html.rb +47 -25
  7. data/lib/kramdown/converter/kramdown.rb +11 -6
  8. data/lib/kramdown/converter/latex.rb +1 -1
  9. data/lib/kramdown/converter/math_engine/mathjax.rb +7 -33
  10. data/lib/kramdown/converter/syntax_highlighter.rb +1 -1
  11. data/lib/kramdown/converter/syntax_highlighter/rouge.rb +20 -9
  12. data/lib/kramdown/element.rb +30 -3
  13. data/lib/kramdown/options.rb +57 -8
  14. data/lib/kramdown/parser/base.rb +3 -1
  15. data/lib/kramdown/parser/html.rb +8 -8
  16. data/lib/kramdown/parser/kramdown.rb +11 -2
  17. data/lib/kramdown/parser/kramdown/autolink.rb +2 -2
  18. data/lib/kramdown/parser/kramdown/blank_line.rb +2 -2
  19. data/lib/kramdown/parser/kramdown/block_boundary.rb +3 -2
  20. data/lib/kramdown/parser/kramdown/codespan.rb +12 -2
  21. data/lib/kramdown/parser/kramdown/emphasis.rb +1 -1
  22. data/lib/kramdown/parser/kramdown/extensions.rb +14 -8
  23. data/lib/kramdown/parser/kramdown/header.rb +3 -2
  24. data/lib/kramdown/parser/kramdown/html.rb +4 -10
  25. data/lib/kramdown/parser/kramdown/link.rb +3 -2
  26. data/lib/kramdown/parser/kramdown/list.rb +64 -33
  27. data/lib/kramdown/parser/kramdown/math.rb +1 -1
  28. data/lib/kramdown/parser/kramdown/paragraph.rb +3 -3
  29. data/lib/kramdown/parser/kramdown/table.rb +3 -3
  30. data/lib/kramdown/utils/html.rb +9 -0
  31. data/lib/kramdown/version.rb +1 -1
  32. data/man/man1/kramdown.1 +31 -1
  33. data/test/test_files.rb +18 -11
  34. data/test/test_location.rb +2 -2
  35. data/test/test_string_scanner_kramdown.rb +1 -1
  36. data/test/testcases/block/03_paragraph/standalone_image.html +8 -0
  37. data/test/testcases/block/03_paragraph/standalone_image.text +6 -0
  38. data/test/testcases/block/04_header/atx_header.html +6 -0
  39. data/test/testcases/block/04_header/atx_header.text +6 -0
  40. data/test/testcases/block/06_codeblock/guess_lang_css_class.html +15 -0
  41. data/test/testcases/block/06_codeblock/guess_lang_css_class.options +2 -0
  42. data/test/testcases/block/06_codeblock/guess_lang_css_class.text +13 -0
  43. data/test/testcases/block/09_html/processing_instruction.html +5 -6
  44. data/test/testcases/block/09_html/standalone_image_in_div.htmlinput +7 -0
  45. data/test/testcases/block/09_html/standalone_image_in_div.text +8 -0
  46. data/test/testcases/block/12_extension/options.html +4 -4
  47. data/test/testcases/block/12_extension/options.text +2 -0
  48. data/test/testcases/block/12_extension/options2.html +4 -4
  49. data/test/testcases/block/14_table/table_with_footnote.html +4 -4
  50. data/test/testcases/block/15_math/gh_128.html +1 -2
  51. data/test/testcases/block/15_math/normal.html +16 -15
  52. data/test/testcases/block/16_toc/toc_with_footnotes.html +4 -4
  53. data/test/testcases/cjk-line-break.html +4 -0
  54. data/test/testcases/cjk-line-break.options +1 -0
  55. data/test/testcases/cjk-line-break.text +12 -0
  56. data/test/testcases/span/02_emphasis/normal.html +4 -0
  57. data/test/testcases/span/02_emphasis/normal.text +4 -0
  58. data/test/testcases/span/03_codespan/normal-css-class.html +1 -0
  59. data/test/testcases/span/03_codespan/normal-css-class.options +2 -0
  60. data/test/testcases/span/03_codespan/normal-css-class.text +1 -0
  61. data/test/testcases/span/04_footnote/backlink_inline.html +21 -21
  62. data/test/testcases/span/04_footnote/backlink_text.html +4 -4
  63. data/test/testcases/span/04_footnote/footnote_nr.html +6 -6
  64. data/test/testcases/span/04_footnote/footnote_prefix.html +12 -0
  65. data/test/testcases/span/04_footnote/footnote_prefix.options +1 -0
  66. data/test/testcases/span/04_footnote/footnote_prefix.text +4 -0
  67. data/test/testcases/span/04_footnote/inside_footnote.html +9 -9
  68. data/test/testcases/span/04_footnote/markers.html +16 -16
  69. data/test/testcases/span/04_footnote/placement.html +4 -4
  70. data/test/testcases/span/04_footnote/regexp_problem.html +4 -4
  71. data/test/testcases/span/04_footnote/without_backlink.html +3 -3
  72. data/test/testcases/span/05_html/normal.html +1 -1
  73. data/test/testcases/span/abbreviations/in_footnote.html +4 -4
  74. data/test/testcases/span/math/normal.html +4 -4
  75. metadata +35 -15
  76. data/test/testcases/block/15_math/mathjax_preview.html +0 -4
  77. data/test/testcases/block/15_math/mathjax_preview.options +0 -2
  78. data/test/testcases/block/15_math/mathjax_preview.text +0 -5
  79. data/test/testcases/block/15_math/mathjax_preview_as_code.html +0 -4
  80. data/test/testcases/block/15_math/mathjax_preview_as_code.options +0 -3
  81. data/test/testcases/block/15_math/mathjax_preview_as_code.text +0 -5
  82. data/test/testcases/block/15_math/mathjax_preview_simple.html +0 -4
  83. data/test/testcases/block/15_math/mathjax_preview_simple.options +0 -2
  84. data/test/testcases/block/15_math/mathjax_preview_simple.text +0 -5
@@ -21,7 +21,7 @@ describe Kramdown::Utils::StringScanner do
21
21
  it "computes the correct current_line_number for example ##{i + 1}" do
22
22
  str_sc = Kramdown::Utils::StringScanner.new(test_string)
23
23
  scan_regexes.each {|scan_re| str_sc.scan_until(scan_re) }
24
- str_sc.current_line_number.must_equal expect
24
+ assert_equal(expect, str_sc.current_line_number)
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,8 @@
1
+ <p>para</p>
2
+
3
+ <figure class="class" id="id">
4
+ <img src="some.jpg" alt="standalone image" key="value" />
5
+ <figcaption>standalone image</figcaption>
6
+ </figure>
7
+
8
+ <p>para</p>
@@ -0,0 +1,6 @@
1
+ para
2
+ {:standalone}
3
+
4
+ ![standalone image](some.jpg){:#id .class key="value" standalone}
5
+
6
+ para
@@ -26,6 +26,12 @@
26
26
  ### not a header</p>
27
27
  </blockquote>
28
28
 
29
+ <h1>header</h1>
30
+
31
+ <h1>header</h1>
32
+
33
+ <h1>header</h1>
34
+
29
35
  <h1>header #</h1>
30
36
 
31
37
  <h1>header</h1>
@@ -23,6 +23,12 @@ paragraph
23
23
  > blockquote
24
24
  ### not a header
25
25
 
26
+ # header #
27
+
28
+ # header#
29
+
30
+ #header#
31
+
26
32
  # header \#
27
33
 
28
34
  # header
@@ -0,0 +1,15 @@
1
+ <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>class Foo
2
+ def bar
3
+ puts 'Hello'
4
+ end
5
+ end
6
+ </code></pre>
7
+ </div></div>
8
+
9
+ <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>class Foo
10
+ def bar
11
+ puts 'Hello'
12
+ end
13
+ end
14
+ </code></pre>
15
+ </div></div>
@@ -0,0 +1,2 @@
1
+ :syntax_highlighter_opts:
2
+ guess_lang: true
@@ -0,0 +1,13 @@
1
+ ~~~
2
+ class Foo
3
+ def bar
4
+ puts 'Hello'
5
+ end
6
+ end
7
+ ~~~
8
+
9
+ class Foo
10
+ def bar
11
+ puts 'Hello'
12
+ end
13
+ end
@@ -1,13 +1,12 @@
1
- <?xml version="1.0"?>
1
+ <p>&lt;?xml version=”1.0”?&gt;</p>
2
2
 
3
3
  <p>para</p>
4
4
 
5
- <? test ?>
6
- <p>para</p>
5
+ <p>&lt;? test ?&gt; para</p>
7
6
 
8
7
  <p>other</p>
9
8
 
10
- <?
11
- multiline *text*
9
+ <p>&lt;?
10
+ multiline <em>text</em>
12
11
  is allowed
13
- ?>
12
+ ?&gt;</p>
@@ -0,0 +1,7 @@
1
+ <div class="example-1">
2
+ <img src="src.png" alt="inside" />
3
+ </div>
4
+
5
+ <div class="example-2">
6
+ <a href="website.html">text</a>
7
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="example-1" markdown="1">
2
+ ![inside](src.png)
3
+ </div>
4
+
5
+ <div class="example-2" markdown="1">
6
+ [text](website.html)
7
+ </div>
8
+
@@ -10,12 +10,12 @@ some *para*
10
10
  <p>some <span><em>para</em></span></p>
11
11
  </div>
12
12
 
13
- <p>Some text<sup id="fnref:ab"><a href="#fn:ab" class="footnote">10</a></sup>.</p>
13
+ <p>Some text<sup id="fnref:ab" role="doc-noteref"><a href="#fn:ab" class="footnote">10</a></sup>.</p>
14
14
 
15
- <div class="footnotes">
15
+ <div class="footnotes" role="doc-endnotes">
16
16
  <ol start="10">
17
- <li id="fn:ab">
18
- <p>Some text. <a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
17
+ <li id="fn:ab" role="doc-endnote">
18
+ <p>Some text. <a href="#fnref:ab" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
19
19
  </li>
20
20
  </ol>
21
21
  </div>
@@ -19,3 +19,5 @@ some *para*
19
19
  Some text[^ab].
20
20
 
21
21
  [^ab]: Some text.
22
+
23
+ {::options template="/etc/passwd" /}
@@ -1,10 +1,10 @@
1
1
 
2
- <p>Some text<sup id="fnref:ab"><a href="#fn:ab" class="footnote">1</a></sup>.</p>
2
+ <p>Some text<sup id="fnref:ab" role="doc-noteref"><a href="#fn:ab" class="footnote">1</a></sup>.</p>
3
3
 
4
- <div class="footnotes">
4
+ <div class="footnotes" role="doc-endnotes">
5
5
  <ol>
6
- <li id="fn:ab">
7
- <p>Some text. <a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
6
+ <li id="fn:ab" role="doc-endnote">
7
+ <p>Some text. <a href="#fnref:ab" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
8
8
  </li>
9
9
  </ol>
10
10
  </div>
@@ -1,7 +1,7 @@
1
1
  <table>
2
2
  <tbody>
3
3
  <tr>
4
- <td>this is <sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup></td>
4
+ <td>this is <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote">1</a></sup></td>
5
5
  <td>a table</td>
6
6
  </tr>
7
7
  <tr>
@@ -11,15 +11,15 @@
11
11
  </tbody>
12
12
  </table>
13
13
 
14
- <div class="footnotes">
14
+ <div class="footnotes" role="doc-endnotes">
15
15
  <ol>
16
- <li id="fn:1">
16
+ <li id="fn:1" role="doc-endnote">
17
17
  <p>Something</p>
18
18
 
19
19
  <blockquote>
20
20
  <p>special here</p>
21
21
  </blockquote>
22
- <p><a href="#fnref:1" class="reversefootnote">&#8617;</a></p>
22
+ <p><a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
23
23
  </li>
24
24
  </ol>
25
25
  </div>
@@ -1,2 +1 @@
1
- <script type="math/tex; mode=display">% <![CDATA[
2
- alert('a') alert('b<') %]]></script>
1
+ \[&lt;script&gt;alert('a')&lt;/script&gt; &lt;script&gt;alert('b&lt;')&lt;/script&gt;\]
@@ -1,29 +1,30 @@
1
1
  <p>This is a para.
2
- <script type="math/tex">\text{LaTeX} \lambda_5</script></p>
2
+ \(\text{LaTeX} \lambda_5\)</p>
3
3
 
4
- <script type="math/tex; mode=display">\lambda_5 = \alpha + 4</script>
4
+ \[\lambda_5 = \alpha + 4\]
5
5
 
6
- <p><script type="math/tex">\lambda_\alpha > 5</script>
6
+ <p>\(\lambda_\alpha &gt; 5\)
7
7
  This is a para.</p>
8
8
 
9
- <script type="math/tex; mode=display">% <![CDATA[
10
- \begin{align*}
11
- &=5 \\
12
- &=6 \\
13
- \end{align*} %]]></script>
9
+ \[\begin{align*}
10
+ &amp;=5 \\
11
+ &amp;=6 \\
12
+ \end{align*}\]
14
13
 
15
- <script type="math/tex; mode=display">5+5</script>
14
+ \[5+5\]
16
15
 
17
- <script type="math/tex; mode=display">5+5</script>
16
+ \[5+5\]
18
17
 
19
- <script type="math/tex; mode=display">5+5</script>
18
+ \[5+5\]
20
19
 
21
- <script type="math/tex; mode=display">5+5</script>
20
+ \[5+5\]
22
21
 
23
22
  <pre><code>$$5+5$$
24
23
  </code></pre>
25
24
 
26
- <script type="math/tex; mode=display">5+5</script>
27
- <script type="math/tex; mode=display">5+5</script>
25
+ <div class="cls">\[5+5\]
26
+ </div>
27
+ <div class="cls">\[5+5\]
28
+ </div>
28
29
 
29
- <script type="math/tex; mode=display">|x| = 5</script>
30
+ \[|x| = 5\]
@@ -2,12 +2,12 @@
2
2
  <li><a href="#header1-level-1" id="markdown-toc-header1-level-1">Header level 1</a></li>
3
3
  </ul>
4
4
 
5
- <h1 id="header1-level-1">Header<sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup> level 1</h1>
5
+ <h1 id="header1-level-1">Header<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote">1</a></sup> level 1</h1>
6
6
 
7
- <div class="footnotes">
7
+ <div class="footnotes" role="doc-endnotes">
8
8
  <ol>
9
- <li id="fn:1">
10
- <p>Some footnote content here <a href="#fnref:1" class="reversefootnote">&#8617;</a></p>
9
+ <li id="fn:1" role="doc-endnote">
10
+ <p>Some footnote content here <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
11
11
  </li>
12
12
  </ol>
13
13
  </div>
@@ -0,0 +1,4 @@
1
+ <p>一二三四五</p>
2
+
3
+ <p>あいうえお</p>
4
+
@@ -0,0 +1 @@
1
+ :remove_line_breaks_for_cjk: true
@@ -0,0 +1,12 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
@@ -59,3 +59,7 @@ Or that *that* way

59
59
  <li>`<em>test</em>&#8217;</li>
60
60
  <li>„<em>test</em>“</li>
61
61
  </ul>
62
+
63
+ <p>it&#8211;by design&#8211;<em>cannot have side-effects</em>.</p>
64
+
65
+ <p>it&#8212;by design&#8212;<em>cannot have side-effects</em>.</p>
@@ -57,3 +57,7 @@ Or that \**that\** way
57
57
  - “_test_”
58
58
  - \`_test_'
59
59
  - „_test_“
60
+
61
+ it--by design--_cannot have side-effects_.
62
+
63
+ it---by design---_cannot have side-effects_.
@@ -0,0 +1 @@
1
+ <p>This is a <code class="highlighter-rouge">code-span</code></p>
@@ -0,0 +1,2 @@
1
+ :syntax_highlighter_opts:
2
+ guess_lang: true
@@ -0,0 +1 @@
1
+ This is a `code-span`
@@ -1,30 +1,30 @@
1
- <p>This is <sup id="fnref:paragraph"><a href="#fn:paragraph" class="footnote">1</a></sup><sup id="fnref:header"><a href="#fn:header" class="footnote">2</a></sup><sup id="fnref:blockquote"><a href="#fn:blockquote" class="footnote">3</a></sup><sup id="fnref:codeblock"><a href="#fn:codeblock" class="footnote">4</a></sup><sup id="fnref:list"><a href="#fn:list" class="footnote">5</a></sup><sup id="fnref:table"><a href="#fn:table" class="footnote">6</a></sup><sup id="fnref:hrule"><a href="#fn:hrule" class="footnote">7</a></sup><sup id="fnref:mathblock"><a href="#fn:mathblock" class="footnote">8</a></sup><sup id="fnref:html"><a href="#fn:html" class="footnote">9</a></sup></p>
1
+ <p>This is <sup id="fnref:paragraph" role="doc-noteref"><a href="#fn:paragraph" class="footnote">1</a></sup><sup id="fnref:header" role="doc-noteref"><a href="#fn:header" class="footnote">2</a></sup><sup id="fnref:blockquote" role="doc-noteref"><a href="#fn:blockquote" class="footnote">3</a></sup><sup id="fnref:codeblock" role="doc-noteref"><a href="#fn:codeblock" class="footnote">4</a></sup><sup id="fnref:list" role="doc-noteref"><a href="#fn:list" class="footnote">5</a></sup><sup id="fnref:table" role="doc-noteref"><a href="#fn:table" class="footnote">6</a></sup><sup id="fnref:hrule" role="doc-noteref"><a href="#fn:hrule" class="footnote">7</a></sup><sup id="fnref:mathblock" role="doc-noteref"><a href="#fn:mathblock" class="footnote">8</a></sup><sup id="fnref:html" role="doc-noteref"><a href="#fn:html" class="footnote">9</a></sup></p>
2
2
 
3
- <div class="footnotes">
3
+ <div class="footnotes" role="doc-endnotes">
4
4
  <ol>
5
- <li id="fn:paragraph">
5
+ <li id="fn:paragraph" role="doc-endnote">
6
6
 
7
- <p>A paragraph <a href="#fnref:paragraph" class="reversefootnote">&#8617;</a></p>
7
+ <p>A paragraph <a href="#fnref:paragraph" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
8
8
  </li>
9
- <li id="fn:header">
9
+ <li id="fn:header" role="doc-endnote">
10
10
 
11
- <h1 id="a-header">A header <a href="#fnref:header" class="reversefootnote">&#8617;</a></h1>
11
+ <h1 id="a-header">A header <a href="#fnref:header" class="reversefootnote" role="doc-backlink">&#8617;</a></h1>
12
12
  </li>
13
- <li id="fn:blockquote">
13
+ <li id="fn:blockquote" role="doc-endnote">
14
14
 
15
15
  <blockquote>
16
16
  <p>blockquote</p>
17
17
 
18
- <p>paragraph <a href="#fnref:blockquote" class="reversefootnote">&#8617;</a></p>
18
+ <p>paragraph <a href="#fnref:blockquote" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
19
19
  </blockquote>
20
20
  </li>
21
- <li id="fn:codeblock">
21
+ <li id="fn:codeblock" role="doc-endnote">
22
22
 
23
23
  <pre><code>codeblock
24
24
  </code></pre>
25
- <p><a href="#fnref:codeblock" class="reversefootnote">&#8617;</a></p>
25
+ <p><a href="#fnref:codeblock" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
26
26
  </li>
27
- <li id="fn:list">
27
+ <li id="fn:list" role="doc-endnote">
28
28
 
29
29
  <ul>
30
30
  <li>item 1</li>
@@ -36,14 +36,14 @@
36
36
  <blockquote>
37
37
  <p>blockquote</p>
38
38
 
39
- <h1 id="header">header <a href="#fnref:list" class="reversefootnote">&#8617;</a></h1>
39
+ <h1 id="header">header <a href="#fnref:list" class="reversefootnote" role="doc-backlink">&#8617;</a></h1>
40
40
  </blockquote>
41
41
  </li>
42
42
  </ul>
43
43
  </li>
44
44
  </ul>
45
45
  </li>
46
- <li id="fn:table">
46
+ <li id="fn:table" role="doc-endnote">
47
47
 
48
48
  <table>
49
49
  <tbody>
@@ -57,23 +57,23 @@
57
57
  </tr>
58
58
  </tbody>
59
59
  </table>
60
- <p><a href="#fnref:table" class="reversefootnote">&#8617;</a></p>
60
+ <p><a href="#fnref:table" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
61
61
  </li>
62
- <li id="fn:hrule">
62
+ <li id="fn:hrule" role="doc-endnote">
63
63
 
64
64
  <hr />
65
- <p><a href="#fnref:hrule" class="reversefootnote">&#8617;</a></p>
65
+ <p><a href="#fnref:hrule" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
66
66
  </li>
67
- <li id="fn:mathblock">
67
+ <li id="fn:mathblock" role="doc-endnote">
68
68
 
69
- <script type="math/tex; mode=display">x + 2</script>
70
- <p><a href="#fnref:mathblock" class="reversefootnote">&#8617;</a></p>
69
+ \[x + 2\]
70
+ <p><a href="#fnref:mathblock" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
71
71
  </li>
72
- <li id="fn:html">
72
+ <li id="fn:html" role="doc-endnote">
73
73
 
74
74
  <div>test
75
75
  </div>
76
- <p><a href="#fnref:html" class="reversefootnote">&#8617;</a></p>
76
+ <p><a href="#fnref:html" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
77
77
  </li>
78
78
  </ol>
79
79
  </div>
@@ -1,9 +1,9 @@
1
- <p>Some footnote here<sup id="fnref:fn"><a href="#fn:fn" class="footnote">1</a></sup></p>
1
+ <p>Some footnote here<sup id="fnref:fn" role="doc-noteref"><a href="#fn:fn" class="footnote">1</a></sup></p>
2
2
 
3
- <div class="footnotes">
3
+ <div class="footnotes" role="doc-endnotes">
4
4
  <ol>
5
- <li id="fn:fn">
6
- <p>Some text here <a href="#fnref:fn" class="reversefootnote">text &8617; &lt;img /&gt;</a></p>
5
+ <li id="fn:fn" role="doc-endnote">
6
+ <p>Some text here <a href="#fnref:fn" class="reversefootnote" role="doc-backlink">text &8617; &lt;img /&gt;</a></p>
7
7
  </li>
8
8
  </ol>
9
9
  </div>
@@ -1,12 +1,12 @@
1
- <p>This is a footnote<sup id="fnref:ab"><a href="#fn:ab" class="footnote">35</a></sup>. And another<sup id="fnref:bc"><a href="#fn:bc" class="footnote">36</a></sup>.</p>
1
+ <p>This is a footnote<sup id="fnref:ab" role="doc-noteref"><a href="#fn:ab" class="footnote">35</a></sup>. And another<sup id="fnref:bc" role="doc-noteref"><a href="#fn:bc" class="footnote">36</a></sup>.</p>
2
2
 
3
- <div class="footnotes">
3
+ <div class="footnotes" role="doc-endnotes">
4
4
  <ol start="35">
5
- <li id="fn:ab">
6
- <p>Some text. <a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
5
+ <li id="fn:ab" role="doc-endnote">
6
+ <p>Some text. <a href="#fnref:ab" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
7
7
  </li>
8
- <li id="fn:bc">
9
- <p>Some other text. <a href="#fnref:bc" class="reversefootnote">&#8617;</a></p>
8
+ <li id="fn:bc" role="doc-endnote">
9
+ <p>Some other text. <a href="#fnref:bc" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
10
10
  </li>
11
11
  </ol>
12
12
  </div>
@@ -0,0 +1,12 @@
1
+ <p>This is a<sup id="fnref:adf123-ab" role="doc-noteref"><a href="#fn:adf123-ab" class="footnote">1</a></sup> footnote<sup id="fnref:adf123-ab:1" role="doc-noteref"><a href="#fn:adf123-ab" class="footnote">1</a></sup>. And another<sup id="fnref:adf123-bc" role="doc-noteref"><a href="#fn:adf123-bc" class="footnote">2</a></sup>.</p>
2
+
3
+ <div class="footnotes" role="doc-endnotes">
4
+ <ol>
5
+ <li id="fn:adf123-ab" role="doc-endnote">
6
+ <p>Some text. <a href="#fnref:adf123-ab" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:adf123-ab:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p>
7
+ </li>
8
+ <li id="fn:adf123-bc" role="doc-endnote">
9
+ <p>Some other text. <a href="#fnref:adf123-bc" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
10
+ </li>
11
+ </ol>
12
+ </div>