rpeg-multimarkdown 0.1.1 → 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/README.markdown +7 -4
  3. data/Rakefile +3 -3
  4. data/bin/rpeg-multimarkdown +7 -7
  5. data/ext/extconf.rb +2 -2
  6. data/ext/markdown.c +14 -0
  7. data/ext/markdown_lib.c +72 -18
  8. data/ext/markdown_lib.h +18 -8
  9. data/ext/markdown_output.c +187 -58
  10. data/ext/markdown_parser.c +8315 -6224
  11. data/ext/markdown_peg.h +5 -4
  12. data/ext/odf.c +7 -1
  13. data/ext/odf.h +8 -0
  14. data/ext/parsing_functions.c +42 -2
  15. data/ext/parsing_functions.h +17 -0
  16. data/ext/utility_functions.c +60 -56
  17. data/ext/utility_functions.h +93 -0
  18. data/lib/peg_multimarkdown.rb +16 -16
  19. data/test/MultiMarkdownTest/BeamerTests/Beamer-Tables.tex +2 -2
  20. data/test/MultiMarkdownTest/CompatibilityTests/Automatic Labels.html +35 -0
  21. data/test/MultiMarkdownTest/CompatibilityTests/Automatic Labels.text +45 -0
  22. data/test/MultiMarkdownTest/CompatibilityTests/Base Header Level.html +14 -0
  23. data/test/MultiMarkdownTest/CompatibilityTests/Base Header Level.text +16 -0
  24. data/test/MultiMarkdownTest/CompatibilityTests/BibTeX.html +9 -0
  25. data/test/MultiMarkdownTest/CompatibilityTests/BibTeX.text +10 -0
  26. data/test/MultiMarkdownTest/CompatibilityTests/Citations.html +40 -0
  27. data/test/MultiMarkdownTest/CompatibilityTests/Citations.text +42 -0
  28. data/test/MultiMarkdownTest/CompatibilityTests/Definition Lists.html +40 -0
  29. data/test/MultiMarkdownTest/CompatibilityTests/Definition Lists.text +39 -0
  30. data/test/MultiMarkdownTest/CompatibilityTests/Dutch.html +17 -0
  31. data/test/MultiMarkdownTest/CompatibilityTests/Dutch.text +17 -0
  32. data/test/MultiMarkdownTest/CompatibilityTests/Email.html +40 -0
  33. data/test/MultiMarkdownTest/CompatibilityTests/Email.text +31 -0
  34. data/test/MultiMarkdownTest/CompatibilityTests/English.html +17 -0
  35. data/test/MultiMarkdownTest/CompatibilityTests/English.text +17 -0
  36. data/test/MultiMarkdownTest/CompatibilityTests/Errors.html +9 -0
  37. data/test/MultiMarkdownTest/CompatibilityTests/Errors.text +11 -0
  38. data/test/MultiMarkdownTest/CompatibilityTests/Footnotes.html +23 -0
  39. data/test/MultiMarkdownTest/CompatibilityTests/Footnotes.text +25 -0
  40. data/test/MultiMarkdownTest/CompatibilityTests/French.html +17 -0
  41. data/test/MultiMarkdownTest/CompatibilityTests/French.text +17 -0
  42. data/test/MultiMarkdownTest/CompatibilityTests/German.html +17 -0
  43. data/test/MultiMarkdownTest/CompatibilityTests/German.text +17 -0
  44. data/test/MultiMarkdownTest/CompatibilityTests/GermanGuillemets.html +17 -0
  45. data/test/MultiMarkdownTest/CompatibilityTests/GermanGuillemets.text +17 -0
  46. data/test/MultiMarkdownTest/CompatibilityTests/Glossary.html +29 -0
  47. data/test/MultiMarkdownTest/CompatibilityTests/Glossary.text +28 -0
  48. data/test/MultiMarkdownTest/CompatibilityTests/Headers.html +42 -0
  49. data/test/MultiMarkdownTest/CompatibilityTests/Headers.text +51 -0
  50. data/test/MultiMarkdownTest/CompatibilityTests/Line Breaks.html +13 -0
  51. data/test/MultiMarkdownTest/CompatibilityTests/Line Breaks.text +15 -0
  52. data/test/MultiMarkdownTest/CompatibilityTests/Link Attributes.html +35 -0
  53. data/test/MultiMarkdownTest/CompatibilityTests/Link Attributes.text +51 -0
  54. data/test/MultiMarkdownTest/CompatibilityTests/List Parsing.html +13 -0
  55. data/test/MultiMarkdownTest/CompatibilityTests/List Parsing.text +11 -0
  56. data/test/MultiMarkdownTest/CompatibilityTests/MarkdownInHTML.html +13 -0
  57. data/test/MultiMarkdownTest/CompatibilityTests/MarkdownInHTML.text +19 -0
  58. data/test/MultiMarkdownTest/CompatibilityTests/Math.html +14 -0
  59. data/test/MultiMarkdownTest/CompatibilityTests/Math.text +15 -0
  60. data/test/MultiMarkdownTest/CompatibilityTests/MetaData.html +14 -0
  61. data/test/MultiMarkdownTest/CompatibilityTests/MetaData.text +14 -0
  62. data/test/MultiMarkdownTest/CompatibilityTests/NotMetaData.html +3 -0
  63. data/test/MultiMarkdownTest/CompatibilityTests/NotMetaData.text +4 -0
  64. data/test/MultiMarkdownTest/CompatibilityTests/Sanity.html +77 -0
  65. data/test/MultiMarkdownTest/CompatibilityTests/Sanity.text +77 -0
  66. data/test/MultiMarkdownTest/CompatibilityTests/SmartQuotes.html +22 -0
  67. data/test/MultiMarkdownTest/CompatibilityTests/SmartQuotes.text +22 -0
  68. data/test/MultiMarkdownTest/CompatibilityTests/Swedish.html +17 -0
  69. data/test/MultiMarkdownTest/CompatibilityTests/Swedish.text +17 -0
  70. data/test/MultiMarkdownTest/CompatibilityTests/Tables.html +65 -0
  71. data/test/MultiMarkdownTest/CompatibilityTests/Tables.text +71 -0
  72. data/test/MultiMarkdownTest/MemoirTests/Definition Lists.tex +5 -10
  73. data/test/MultiMarkdownTest/MemoirTests/Sanity.tex +2 -2
  74. data/test/MultiMarkdownTest/MemoirTests/Tables.tex +10 -10
  75. data/test/MultiMarkdownTest/MultiMarkdownTests/Automatic Labels.html +4 -2
  76. data/test/MultiMarkdownTest/MultiMarkdownTests/Base Header Level.html +4 -2
  77. data/test/MultiMarkdownTest/MultiMarkdownTests/BibTeX.html +4 -2
  78. data/test/MultiMarkdownTest/MultiMarkdownTests/Citations.html +6 -4
  79. data/test/MultiMarkdownTest/MultiMarkdownTests/Definition Lists.html +9 -12
  80. data/test/MultiMarkdownTest/MultiMarkdownTests/Definition Lists.tex +5 -10
  81. data/test/MultiMarkdownTest/MultiMarkdownTests/Dutch.html +4 -2
  82. data/test/MultiMarkdownTest/MultiMarkdownTests/Email.html +4 -2
  83. data/test/MultiMarkdownTest/MultiMarkdownTests/English.html +4 -2
  84. data/test/MultiMarkdownTest/MultiMarkdownTests/Errors.html +4 -2
  85. data/test/MultiMarkdownTest/MultiMarkdownTests/Footnotes.html +7 -5
  86. data/test/MultiMarkdownTest/MultiMarkdownTests/French.html +4 -2
  87. data/test/MultiMarkdownTest/MultiMarkdownTests/German.html +4 -2
  88. data/test/MultiMarkdownTest/MultiMarkdownTests/GermanGuillemets.html +4 -2
  89. data/test/MultiMarkdownTest/MultiMarkdownTests/Glossary.html +6 -4
  90. data/test/MultiMarkdownTest/MultiMarkdownTests/Headers.html +6 -2
  91. data/test/MultiMarkdownTest/MultiMarkdownTests/Headers.tex +2 -0
  92. data/test/MultiMarkdownTest/MultiMarkdownTests/Headers.text +2 -0
  93. data/test/MultiMarkdownTest/MultiMarkdownTests/Line Breaks.html +4 -2
  94. data/test/MultiMarkdownTest/MultiMarkdownTests/Link Attributes.html +4 -2
  95. data/test/MultiMarkdownTest/MultiMarkdownTests/List Parsing.html +4 -2
  96. data/test/MultiMarkdownTest/MultiMarkdownTests/MarkdownInHTML.html +4 -2
  97. data/test/MultiMarkdownTest/MultiMarkdownTests/Math.html +4 -2
  98. data/test/MultiMarkdownTest/MultiMarkdownTests/MetaData.html +4 -2
  99. data/test/MultiMarkdownTest/MultiMarkdownTests/NotMetaData.html +3 -0
  100. data/test/MultiMarkdownTest/MultiMarkdownTests/NotMetaData.tex +3 -0
  101. data/test/MultiMarkdownTest/MultiMarkdownTests/NotMetaData.text +4 -0
  102. data/test/MultiMarkdownTest/MultiMarkdownTests/Sanity.html +4 -2
  103. data/test/MultiMarkdownTest/MultiMarkdownTests/Sanity.tex +2 -2
  104. data/test/MultiMarkdownTest/MultiMarkdownTests/SmartQuotes.html +4 -2
  105. data/test/MultiMarkdownTest/MultiMarkdownTests/Swedish.html +4 -2
  106. data/test/MultiMarkdownTest/MultiMarkdownTests/Tables.html +45 -2
  107. data/test/MultiMarkdownTest/MultiMarkdownTests/Tables.tex +32 -10
  108. data/test/MultiMarkdownTest/MultiMarkdownTests/Tables.text +8 -0
  109. data/test/multimarkdown_test.rb +5 -5
  110. metadata +92 -50
@@ -3,25 +3,25 @@ require 'peg_multimarkdown.so'
3
3
  # Front-end to fletcher penney's peg-multimarkdown implementation of MultiMarkdown
4
4
  #
5
5
  # A simple processor:
6
- # >>> puts MultiMarkdown.new("Hello, World.").to_html
7
- # <p>Hello, World.</p>
6
+ # >> puts MultiMarkdown.new("Hello, World.").to_html
7
+ # <p>Hello, World.</p>
8
8
  #
9
9
  # With other stuff:
10
- # >>> puts MultiMarkdown.new("_Hello -- World!_", :smart, :filter_html).to_html
11
- # <p><em>Hello World!</em></p>
10
+ # >> puts MultiMarkdown.new("_Hello World!_", :smart, :filter_html).to_html
11
+ # <p><em>Hello World!</em></p>
12
12
  #
13
13
  class PEGMultiMarkdown
14
14
 
15
15
  # Original MultiMarkdown formatted text.
16
16
  attr_reader :text
17
17
 
18
- # Set true to have smarty-like quote translation performed.
18
+ # Set `true` to have smarty-like quote translation performed.
19
19
  attr_accessor :smart
20
20
 
21
- # Set true to have footnotes processed.
21
+ # Set `true` to have footnotes processed.
22
22
  attr_accessor :notes
23
23
 
24
- # Do not output <style> tags included in the source text.
24
+ # Do not output `<style>` tags included in the source text.
25
25
  attr_accessor :filter_styles
26
26
 
27
27
  # Do not output any raw HTML included in the source text.
@@ -36,20 +36,20 @@ class PEGMultiMarkdown
36
36
  # Included for compatibility with RedCloth's interface.
37
37
  attr_accessor :fold_lines
38
38
 
39
- # Create a new MultiMarkdown processor. The +text+ argument is a string
39
+ # Create a new MultiMarkdown processor. The `text` argument is a string
40
40
  # containing MultiMarkdown text. Variable other arguments may be supplied to
41
41
  # set various processing options:
42
42
  #
43
- # * <tt>:smart</tt> - Enable SmartyPants processing.
44
- # * <tt>:notes</tt> - Enable footnotes.
45
- # * <tt>:filter_styles</tt> - Do not output <style> tags included in the
43
+ # * `:smart` - Enable SmartyPants processing.
44
+ # * `:notes` - Enable footnotes.
45
+ # * `:filter_styles` - Do not output `<style>` tags included in the
46
46
  # source text.
47
- # * <tt>:filter_html</tt> - Do not output raw HTML included in the
47
+ # * `:filter_html` - Do not output raw HTML included in the
48
48
  # source text.
49
- # * <tt>:process_html</tt> - Process MultiMarkdown code inside HTML tags.
50
- # * <tt>:compatibility</tt> - Process MultiMarkdown code in Markdown
51
- # compatibility mode.
52
- # * <tt>:fold_lines</tt> - RedCloth compatible line folding (not used).
49
+ # * `:process_html` - Process MultiMarkdown code inside HTML tags.
50
+ # * `:compatibility` - Process MultiMarkdown code in Markdown
51
+ # compatibility mode (disables all other extensions)
52
+ # * `:fold_lines` - RedCloth compatible line folding (not used).
53
53
  #
54
54
  def initialize(text, *extensions)
55
55
  @text = text
@@ -13,7 +13,7 @@
13
13
  \setlength{\tymax}{0.5\linewidth}
14
14
  \centering
15
15
  \small
16
- \begin{tabular}{@{}lcc@{}} \toprule
16
+ \begin{tabulary}{\textwidth}{@{}LCC@{}} \toprule
17
17
  Features&MultiMarkdown&Crayons\\
18
18
  \midrule
19
19
  Melts in warm places&No&Yes\\
@@ -26,7 +26,7 @@ Minimum markup for maximum quality?&Yes&No\\
26
26
 
27
27
  \bottomrule
28
28
 
29
- \end{tabular}
29
+ \end{tabulary}
30
30
  \end{minipage}
31
31
  \end{table}
32
32
 
@@ -0,0 +1,35 @@
1
+ <p>latex input: mmd-article-header
2
+ Title: MultiMarkdown Autoreference Test<br/>
3
+ base header level: 2
4
+ latex input: mmd-article-begin-doc
5
+ latex footer: mmd-memoir-footer</p>
6
+
7
+ <h1>109&amp;^*&amp;#^() Must Start With Alpha</h1>
8
+
9
+ <h1>Strip out &amp;^% characters ^&amp;*^</h1>
10
+
11
+ <h1>Special Cross Reference Cases</h1>
12
+
13
+ <h2>1 Cross-References: Special Characters!@#$%^&amp;*()&lt;&gt;</h2>
14
+
15
+ <p>And now, link to [1 Cross-References: Special Characters!@#$%^&amp;*()&lt;&gt;][]</p>
16
+
17
+ <h1>Setext 1</h1>
18
+
19
+ <h2>Setext 2</h2>
20
+
21
+ <h1>Atx 1</h1>
22
+
23
+ <p>Link to [Setext 1].</p>
24
+
25
+ <p>And [Setext 2].</p>
26
+
27
+ <p>And [Atx 1].</p>
28
+
29
+ <p>And [Atx 2] should fail.</p>
30
+
31
+ <h1>Manual Header [label]</h1>
32
+
33
+ <h1>Manual Header 2 [label2]</h1>
34
+
35
+ <h2>Manual Header 3 [label3]</h2>
@@ -0,0 +1,45 @@
1
+ latex input: mmd-article-header
2
+ Title: MultiMarkdown Autoreference Test
3
+ base header level: 2
4
+ latex input: mmd-article-begin-doc
5
+ latex footer: mmd-memoir-footer
6
+
7
+ # 109&^*&#^() Must Start With Alpha #
8
+
9
+ # Strip out &^% characters ^&*^ #
10
+
11
+
12
+ # Special Cross Reference Cases#
13
+
14
+ ## 1 Cross-References: Special Characters!@#$%^&*()<>##
15
+
16
+ And now, link to [1 Cross-References: Special Characters!@#$%^&*()<>][]
17
+
18
+
19
+ Setext 1
20
+ ========
21
+
22
+
23
+ Setext 2
24
+ --------
25
+
26
+ #Atx 1 #
27
+
28
+
29
+ Link to [Setext 1].
30
+
31
+ And [Setext 2].
32
+
33
+ And [Atx 1].
34
+
35
+ And [Atx 2] should fail.
36
+
37
+
38
+ # Manual Header [label] #
39
+
40
+
41
+ Manual Header 2 [label2]
42
+ ========================
43
+
44
+ Manual Header 3 [label3]
45
+ ------------------------
@@ -0,0 +1,14 @@
1
+ <p>latex input: mmd-article-header
2
+ Title: MultiMarkdown Base Header Level Test<br/>
3
+ latex mode: memoir
4
+ Base Header Level: 2
5
+ latex input: mmd-article-begin-doc
6
+ latex footer: mmd-memoir-footer</p>
7
+
8
+ <h1>This should be h2</h1>
9
+
10
+ <h2>This should be h3</h2>
11
+
12
+ <h5>This should be h6</h5>
13
+
14
+ <h6>This should be h6 in HTML h7 in LaTeX</h6>
@@ -0,0 +1,16 @@
1
+ latex input: mmd-article-header
2
+ Title: MultiMarkdown Base Header Level Test
3
+ latex mode: memoir
4
+ Base Header Level: 2
5
+ latex input: mmd-article-begin-doc
6
+ latex footer: mmd-memoir-footer
7
+
8
+ # This should be h2 #
9
+
10
+ ## This should be h3 ##
11
+
12
+
13
+ ##### This should be h6 #####
14
+
15
+ ###### This should be h6 in HTML h7 in LaTeX ######
16
+
@@ -0,0 +1,9 @@
1
+ <p>latex input: mmd-article-header
2
+ Title: MultiMarkdown BibTeX Test<br/>
3
+ BibTeX: bibtex
4
+ latex input: mmd-article-begin-doc
5
+ latex footer: mmd-memoir-footer</p>
6
+
7
+ <p>This is a test of BibTeX Support.[#Knuth:1968]</p>
8
+
9
+ <p>And a locator.[p. 123][#Knuth:1981]</p>
@@ -0,0 +1,10 @@
1
+ latex input: mmd-article-header
2
+ Title: MultiMarkdown BibTeX Test
3
+ BibTeX: bibtex
4
+ latex input: mmd-article-begin-doc
5
+ latex footer: mmd-memoir-footer
6
+
7
+ This is a test of BibTeX Support.[#Knuth:1968]
8
+
9
+ And a locator.[p. 123][#Knuth:1981]
10
+
@@ -0,0 +1,40 @@
1
+ <p>latex input: mmd-article-header
2
+ Title: MultiMarkdown Citation Test<br/>
3
+ CSS: http://fletcherpenney.net/css/document.css<br/>
4
+ BibTex: fake
5
+ latex input: mmd-article-begin-doc
6
+ latex footer: mmd-memoir-footer</p>
7
+
8
+ <p>This is a test of citations[#first] for[^note] MultiMarkdown[#second].</p>
9
+
10
+ <p>And an unlisted citation.[#Author:1988].</p>
11
+
12
+ <p>And now some repeats...[^note2]</p>
13
+
14
+ <p>This is a test of citations[p. 123][#first] for MultiMarkdown[#second].</p>
15
+
16
+ <p>And an unlisted citation[#Author:1988].</p>
17
+
18
+ <p>Unlisted with locator.[test][#Author:1988]</p>
19
+
20
+ <p>Empty locator.[#first][]</p>
21
+
22
+ <p>Consecutive citations.[#first][#second]</p>
23
+
24
+ <p>Consecutive citations.[#first][][#second][]</p>
25
+
26
+ <p>An &quot;improperly&quot; formed citation.[][#second]</p>
27
+
28
+ <p>And an &quot;improper&quot; sequence.[][#first][][#second]</p>
29
+
30
+ <p>[not cited][#third]</p>
31
+
32
+ <p>[#first]: John Doe. <em>A Totally Fake Book</em>. Vanity Press, 2006.</p>
33
+
34
+ <p>[#second]: Jane Doe. <em>Another Totally Fake Book</em>. Vanity Press, 2008.</p>
35
+
36
+ <p>[#third]: Jim Doe. <em>Yet Another Fake Book</em>. Vanity Press, 2010.</p>
37
+
38
+ <p>[^note]: A footnote for good measure.</p>
39
+
40
+ <p>[^note2]: And another footnote</p>
@@ -0,0 +1,42 @@
1
+ latex input: mmd-article-header
2
+ Title: MultiMarkdown Citation Test
3
+ CSS: http://fletcherpenney.net/css/document.css
4
+ BibTex: fake
5
+ latex input: mmd-article-begin-doc
6
+ latex footer: mmd-memoir-footer
7
+
8
+ This is a test of citations[#first] for[^note] MultiMarkdown[#second].
9
+
10
+ And an unlisted citation.[#Author:1988].
11
+
12
+ And now some repeats...[^note2]
13
+
14
+ This is a test of citations[p. 123][#first] for MultiMarkdown[#second].
15
+
16
+ And an unlisted citation[#Author:1988].
17
+
18
+ Unlisted with locator.[test][#Author:1988]
19
+
20
+ Empty locator.[#first][]
21
+
22
+ Consecutive citations.[#first][#second]
23
+
24
+ Consecutive citations.[#first][][#second][]
25
+
26
+ An "improperly" formed citation.[][#second]
27
+
28
+ And an "improper" sequence.[][#first][][#second]
29
+
30
+
31
+ [not cited][#third]
32
+
33
+
34
+ [#first]: John Doe. *A Totally Fake Book*. Vanity Press, 2006.
35
+
36
+ [#second]: Jane Doe. *Another Totally Fake Book*. Vanity Press, 2008.
37
+
38
+ [#third]: Jim Doe. *Yet Another Fake Book*. Vanity Press, 2010.
39
+
40
+ [^note]: A footnote for good measure.
41
+
42
+ [^note2]: And another footnote
@@ -0,0 +1,40 @@
1
+ <p>latex input: mmd-article-header
2
+ Title: MultiMarkdown Definition List Test<br/>
3
+ latex input: mmd-article-begin-doc
4
+ latex footer: mmd-memoir-footer</p>
5
+
6
+ <p>Term 1
7
+ Term 2
8
+ : Definition a</p>
9
+
10
+ <p>Term 3
11
+ : Definition b
12
+ : Definition c</p>
13
+
14
+ <p>Term 1</p>
15
+
16
+ <p>: This is a definition with two paragraphs. Lorem ipsum
17
+ dolor sit amet, consectetuer adipiscing elit. Aliquam
18
+ hendrerit mi posuere lectus.</p>
19
+
20
+ <pre><code>Vestibulum enim wisi, viverra nec, fringilla in, laoreet
21
+ vitae, risus.
22
+ </code></pre>
23
+
24
+ <p>: Second definition for term 1, also wrapped in a paragraph
25
+ because of the blank line preceding it.</p>
26
+
27
+ <p>Term 2</p>
28
+
29
+ <p>: This definition has a code block, a blockquote and a list.</p>
30
+
31
+ <pre><code> code block.
32
+
33
+ &gt; block quote
34
+ &gt; on two lines.
35
+
36
+ 1. first list item
37
+ 2. second list item
38
+ </code></pre>
39
+
40
+ <p>And this is a regular paragraph.</p>
@@ -0,0 +1,39 @@
1
+ latex input: mmd-article-header
2
+ Title: MultiMarkdown Definition List Test
3
+ latex input: mmd-article-begin-doc
4
+ latex footer: mmd-memoir-footer
5
+
6
+ Term 1
7
+ Term 2
8
+ : Definition a
9
+
10
+ Term 3
11
+ : Definition b
12
+ : Definition c
13
+
14
+
15
+ Term 1
16
+
17
+ : This is a definition with two paragraphs. Lorem ipsum
18
+ dolor sit amet, consectetuer adipiscing elit. Aliquam
19
+ hendrerit mi posuere lectus.
20
+
21
+ Vestibulum enim wisi, viverra nec, fringilla in, laoreet
22
+ vitae, risus.
23
+
24
+ : Second definition for term 1, also wrapped in a paragraph
25
+ because of the blank line preceding it.
26
+
27
+ Term 2
28
+
29
+ : This definition has a code block, a blockquote and a list.
30
+
31
+ code block.
32
+
33
+ > block quote
34
+ > on two lines.
35
+
36
+ 1. first list item
37
+ 2. second list item
38
+
39
+ And this is a regular paragraph.
@@ -0,0 +1,17 @@
1
+ <p>latex input: mmd-article-header<br/>
2
+ Title: MultiMarkdown Dutch Test<br/>
3
+ quoteslanguage: dutch<br/>
4
+ latex input: mmd-article-begin-doc<br/>
5
+ latex footer: mmd-memoir-footer </p>
6
+
7
+ <p>'this is a single quote'</p>
8
+
9
+ <p>&quot;this is a double quote&quot;</p>
10
+
11
+ <p>this isn't an apostrophe.</p>
12
+
13
+ <p>this is an em --- dash</p>
14
+
15
+ <p>this is an en -- dash</p>
16
+
17
+ <p>and an ellipsis...</p>
@@ -0,0 +1,17 @@
1
+ latex input: mmd-article-header
2
+ Title: MultiMarkdown Dutch Test
3
+ quoteslanguage: dutch
4
+ latex input: mmd-article-begin-doc
5
+ latex footer: mmd-memoir-footer
6
+
7
+ 'this is a single quote'
8
+
9
+ "this is a double quote"
10
+
11
+ this isn't an apostrophe.
12
+
13
+ this is an em --- dash
14
+
15
+ this is an en -- dash
16
+
17
+ and an ellipsis...
@@ -0,0 +1,40 @@
1
+ <p>latex input: mmd-article-header<br/>
2
+ Title: Email Test<br/>
3
+ latex input: mmd-article-begin-doc<br/>
4
+ latex footer: mmd-memoir-footer </p>
5
+
6
+ <p>Link: <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#111;&#58;&#117;&#x73;&#x65;&#114;&#x36;&#55;&#64;&#x65;&#x78;&#x61;&#x6d;&#112;&#108;&#x65;&#x2e;&#x63;&#x6f;&#109;">&#x75;&#x73;&#101;&#114;&#x36;&#x37;&#64;&#101;&#x78;&#97;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#111;&#x6d;</a>.</p>
7
+
8
+ <ul>
9
+ <li>In a list?</li>
10
+ <li><a href="&#109;&#x61;&#x69;&#108;&#x74;&#111;&#x3a;&#x75;&#x73;&#101;&#114;&#54;&#55;&#64;&#101;&#120;&#x61;&#109;&#112;&#x6c;&#101;&#x2e;&#x63;&#x6f;&#109;">&#117;&#x73;&#101;&#x72;&#x36;&#x37;&#x40;&#101;&#x78;&#97;&#x6d;&#x70;&#x6c;&#101;&#x2e;&#x63;&#x6f;&#x6d;</a></li>
11
+ <li>It should.</li>
12
+ </ul>
13
+
14
+ <blockquote>
15
+ <p>Blockquoted: <a href="&#x6d;&#97;&#x69;&#108;&#116;&#x6f;&#x3a;&#117;&#115;&#101;&#114;&#x36;&#55;&#64;&#x65;&#x78;&#x61;&#109;&#x70;&#108;&#x65;&#x2e;&#99;&#111;&#x6d;">&#x75;&#x73;&#x65;&#x72;&#54;&#55;&#x40;&#101;&#120;&#97;&#x6d;&#112;&#108;&#x65;&#46;&#x63;&#111;&#109;</a></p>
16
+ </blockquote>
17
+
18
+ <p>Auto-links should not occur here: <code>&lt;user67@example.com&gt;</code></p>
19
+
20
+ <pre><code>or here: &lt;user67@example.com&gt;
21
+ </code></pre>
22
+
23
+ <p>And with the mailto bit:</p>
24
+
25
+ <p>Link: <a href="&#109;&#97;&#x69;&#108;&#116;&#x6f;&#x3a;&#x75;&#115;&#x65;&#x72;&#54;&#x37;&#64;&#x65;&#120;&#97;&#109;&#x70;&#x6c;&#101;&#46;&#99;&#x6f;&#x6d;">&#117;&#x73;&#x65;&#114;&#x36;&#55;&#x40;&#101;&#x78;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;</a>.</p>
26
+
27
+ <ul>
28
+ <li>In a list?</li>
29
+ <li><a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#x75;&#x73;&#x65;&#114;&#x36;&#x37;&#x40;&#101;&#x78;&#x61;&#109;&#112;&#108;&#x65;&#x2e;&#x63;&#111;&#109;">&#x75;&#x73;&#101;&#114;&#x36;&#55;&#64;&#101;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#111;&#109;</a></li>
30
+ <li>It should.</li>
31
+ </ul>
32
+
33
+ <blockquote>
34
+ <p>Blockquoted: <a href="&#x6d;&#97;&#x69;&#x6c;&#x74;&#x6f;&#58;&#x75;&#115;&#x65;&#x72;&#54;&#x37;&#64;&#x65;&#120;&#97;&#109;&#112;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;">&#117;&#x73;&#x65;&#114;&#x36;&#55;&#64;&#101;&#x78;&#x61;&#109;&#112;&#108;&#x65;&#x2e;&#x63;&#x6f;&#x6d;</a></p>
35
+ </blockquote>
36
+
37
+ <p>Auto-links should not occur here: <code>&lt;mailto:user67@example.com&gt;</code></p>
38
+
39
+ <pre><code>or here: &lt;mailto:user67@example.com&gt;
40
+ </code></pre>