maruku 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,11 @@
1
+ class String
2
+ # fix some LaTeX command-name clashes
3
+ def fix_latex
4
+ if #{html_math_engine} == 'itex2mml'
5
+ s = self.gsub("\\mathop{", "\\operatorname{")
6
+ s.gsub("\\space{", "\\itexspace{")
7
+ else
8
+ self
9
+ end
10
+ end
11
+ end
@@ -14,8 +14,8 @@ module MaRuKu; module Out; module HTML
14
14
  doc = Document.new(mathml, {:respect_whitespace =>:all}).root
15
15
  return doc
16
16
  rescue LoadError => e
17
- maruku_error "Could not load package 'itex2mml'.\n"+
18
- "Please install it."
17
+ maruku_error "Could not load package 'itex2mml'.\n"+ "Please install it." unless $already_warned_itex2mml
18
+ $already_warned_itex2mml = true
19
19
  rescue REXML::ParseException => e
20
20
  maruku_error "Invalid MathML TeX: \n#{add_tabs(tex,1,'tex>')}"+
21
21
  "\n\n #{e.inspect}"
@@ -1,16 +1,17 @@
1
+ require 'maruku/ext/math/latex_fix'
1
2
 
2
3
  module MaRuKu; module Out; module Latex
3
4
 
4
5
  def to_latex_inline_math
5
- "$#{self.math.strip}$"
6
+ "$#{self.math.strip}$".fix_latex
6
7
  end
7
8
 
8
9
  def to_latex_equation
9
10
  if self.label
10
11
  l = "\\label{#{self.label}}"
11
- "\\begin{equation}\n#{self.math.strip}\n#{l}\\end{equation}\n"
12
+ "\\begin{equation}\n#{self.math.strip}\n#{l}\\end{equation}\n".fix_latex
12
13
  else
13
- "\\begin{displaymath}\n#{self.math.strip}\n\\end{displaymath}\n"
14
+ "\\begin{displaymath}\n#{self.math.strip}\n\\end{displaymath}\n".fix_latex
14
15
  end
15
16
  end
16
17
 
@@ -508,7 +508,9 @@ module MaRuKu; module In; module Markdown; module BlockLevelParser
508
508
  end
509
509
 
510
510
  def split_cells(s)
511
- s.strip.split('|').select{|x|x.strip.size>0}.map{|x|x.strip}
511
+ # s.strip.split('|').select{|x|x.strip.size>0}.map{|x|x.strip}
512
+ # changed to allow empty cells
513
+ s.strip.split('|').select{|x|x.size>0}.map{|x|x.strip}
512
514
  end
513
515
 
514
516
  def read_table(src)
@@ -594,7 +594,7 @@ module MaRuKu; module In; module Markdown; module SpanLevelParser
594
594
  return
595
595
  end
596
596
  else # empty [link]
597
- id = children.to_s.downcase.gsub(' ','_')
597
+ id = sanitize_ref_id(children.to_s) #. downcase.gsub(' ','_')
598
598
  con.push_element md_link(children, id)
599
599
  end
600
600
  end # read link
@@ -44,8 +44,8 @@ module MaRuKu; module Strings
44
44
  return :definition if l =~ Definition
45
45
  # I had a bug with emails and urls at the beginning of the
46
46
  # line that were mistaken for raw_html
47
- return :text if l=~ /^#{EMailAddress}/
48
- return :text if l=~ /^<http:/
47
+ return :text if l=~ /^[ ]{0,3}#{EMailAddress}/
48
+ return :text if l=~ /^[ ]{0,3}<http:/
49
49
  # raw html is like PHP Markdown Extra: at most three spaces before
50
50
  return :xml_instr if l =~ %r{^\s*<\?}
51
51
  return :raw_html if l =~ %r{^[ ]?[ ]?[ ]?</?\s*\w+}
@@ -2,6 +2,18 @@
2
2
  module MaRuKu
3
3
 
4
4
  class MDDocument
5
+
6
+ def s5_theme
7
+ html_escape(self.attributes[:slide_theme] || "default")
8
+ end
9
+
10
+ def html_escape(string)
11
+ string.gsub( /&/, "&amp;" ).
12
+ gsub( /</, "&lt;" ).
13
+ gsub( />/, "&gt;" ).
14
+ gsub( /'/, "&#39;" ).
15
+ gsub( /"/, "&quot;" )
16
+ end
5
17
 
6
18
  # Render as an HTML fragment (no head, just the content of BODY). (returns a string)
7
19
  def to_s5(context={})
@@ -42,7 +54,7 @@ module MaRuKu
42
54
  dummy_layout_slide =
43
55
  "
44
56
  <div class='layout'>
45
- <div id='controls'></div>
57
+ <div id='controls'> </div>
46
58
  <div id='currentSlide'> </div>
47
59
  <div id='header'> #{slide_header}</div>
48
60
  <div id='footer'>
@@ -157,6 +157,23 @@ Synonim for `title`.
157
157
  =end
158
158
 
159
159
 
160
+ # Render to an HTML fragment (returns a REXML document tree)
161
+ def to_html_tree
162
+ div = Element.new 'div'
163
+ div.attributes['class'] = 'maruku_wrapper_div'
164
+ children_to_html.each do |e|
165
+ div << e
166
+ end
167
+
168
+ # render footnotes
169
+ if @doc.footnotes_order.size > 0
170
+ div << render_footnotes
171
+ end
172
+
173
+ doc = Document.new(nil,{:respect_whitespace =>:all})
174
+ doc << div
175
+ end
176
+
160
177
  =begin maruku_doc
161
178
  Attribute: css
162
179
  Scope: document
@@ -166,11 +183,12 @@ Summary: Activates CSS stylesheets for HTML.
166
183
  `css` should be a space-separated list of urls.
167
184
 
168
185
  Example:
169
-
186
+
170
187
  CSS: style.css math.css
171
188
 
172
189
  =end
173
190
 
191
+
174
192
  # Render to a complete HTML document (returns a REXML document tree)
175
193
  def to_html_document_tree
176
194
  doc = Document.new(nil,{:respect_whitespace =>:all})
@@ -465,7 +483,7 @@ by Maruku, to have the same results in both HTML and LaTeX.
465
483
  end
466
484
 
467
485
  def source2html(source)
468
- source = source.gsub(/&/,'&amp;')
486
+ # source = source.gsub(/&/,'&amp;')
469
487
  source = Text.normalize(source)
470
488
  source = source.gsub(/\&apos;/,'&#39;') # IE bug
471
489
  source = source.gsub(/'/,'&#39;') # IE bug
@@ -591,7 +609,7 @@ of the form `#ff00ff`.
591
609
  code = Element.new 'code', pre
592
610
  s = source
593
611
 
594
- s = s.gsub(/&/,'&amp;')
612
+ # s = s.gsub(/&/,'&amp;')
595
613
  s = Text.normalize(s)
596
614
  s = s.gsub(/\&apos;/,'&#39;') # IE bug
597
615
  s = s.gsub(/'/,'&#39;') # IE bug
@@ -892,7 +910,7 @@ If true, raw HTML is discarded from the output.
892
910
  # Entity.new(entity_name)
893
911
  Text.new('&#%d;' % [entity_name], false, nil, true)
894
912
  else
895
- Text.new('&%s;' % [entity_name])
913
+ Text.new('&%s;' % [entity_name], false, nil, true)
896
914
  end
897
915
  end
898
916
 
@@ -53,7 +53,9 @@ module MaRuKu; module Strings
53
53
  keys[:data] = $'
54
54
  headers = $1
55
55
  headers.split("\n").each do |l|
56
- k, v = l.split(':')
56
+ # Fails if there are other ':' characters.
57
+ # k, v = l.split(':')
58
+ k, v = l.split(':', 2)
57
59
  k, v = normalize_key_and_value(k, v)
58
60
  k = k.to_sym
59
61
  # puts "K = #{k}, V=#{v}"
@@ -146,6 +148,7 @@ module MaRuKu; module Strings
146
148
  s[0, i+1].strip
147
149
  end
148
150
 
151
+ # change space to "_" and remove any non-word character
149
152
  def sanitize_ref_id(x)
150
153
  x.downcase.gsub(' ','_').gsub(/[^\w]/,'')
151
154
  end
@@ -19,7 +19,7 @@
19
19
  #++
20
20
 
21
21
  module MaRuKu
22
- Version = '0.5.7'
22
+ Version = '0.5.8'
23
23
 
24
24
  MarukuURL = 'http://maruku.rubyforge.org/'
25
25
 
@@ -27,7 +27,7 @@ This is an email address:
27
27
 
28
28
 
29
29
  *** Output of Markdown.pl ***
30
- <p>This is an email address: <a href="&#109;&#97;&#105;&#x6C;&#116;&#x6F;:a&#x6E;&#x64;&#114;&#x65;&#x61;&#64;&#x69;&#x6E;&#118;a&#x6C;&#x69;&#100;&#x2E;&#x69;&#x74;">a&#x6E;&#x64;&#114;&#x65;&#x61;&#64;&#x69;&#x6E;&#118;a&#x6C;&#x69;&#100;&#x2E;&#x69;&#x74;</a></p>
30
+ <p>This is an email address: <a href="&#x6D;&#x61;&#x69;&#x6C;t&#x6F;:&#x61;&#110;&#x64;&#114;&#x65;&#97;&#64;&#x69;&#x6E;&#118;&#97;&#x6C;&#105;&#100;&#46;&#105;&#116;">&#x61;&#110;&#x64;&#114;&#x65;&#97;&#64;&#x69;&#x6E;&#118;&#97;&#x6C;&#105;&#100;&#46;&#105;&#116;</a></p>
31
31
 
32
32
  *** Output of Markdown.pl (parsed) ***
33
33
  Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -96,80 +96,10 @@ Maruku translates HTML entities to the equivalent in LaTeX:EntityResultabEntity-
96
96
 
97
97
 
98
98
 
99
+ OK!
99
100
 
100
- Failed tests: [:to_html]
101
101
 
102
- *** Output of inspect ***
103
- md_el(:document,[
104
- md_par(["Maruku translates HTML entities to the equivalent in LaTeX:"]),
105
- md_el(:table,[
106
- md_el(:head_cell,["Entity"],{},[]),
107
- md_el(:head_cell,["Result"],{},[]),
108
- md_el(:cell,[md_code("&copy;")],{},[]),
109
- md_el(:cell,[md_entity("copy")],{},[]),
110
- md_el(:cell,[md_code("&pound;")],{},[]),
111
- md_el(:cell,[md_entity("pound")],{},[]),
112
- md_el(:cell,[md_code("a&nbsp;b")],{},[]),
113
- md_el(:cell,["a", md_entity("nbsp"), "b"],{},[]),
114
- md_el(:cell,[md_code("&lambda;")],{},[]),
115
- md_el(:cell,[md_entity("lambda")],{},[]),
116
- md_el(:cell,[md_code("&mdash;")],{},[]),
117
- md_el(:cell,[md_entity("mdash")],{},[])
118
- ],{:align=>[:left, :left]},[]),
119
- md_par([
120
- "Entity-substitution does not happen in code blocks or inline code."
121
- ]),
122
- md_par(["The following should not be translated:"]),
123
- md_el(:code,[],{:raw_code=>"&copy;"},[]),
124
- md_par(["It should read just like this: ", md_code("&copy;"), "."])
125
- ],{},[])
126
- *** Output of to_html ***
127
- -----| WARNING | -----
128
- <p>Maruku translates HTML entities to the equivalent in LaTeX:</p>
129
- <table><thead><tr><th>Entity</th><th>Result</th></tr></thead><tbody><tr><td style='text-align: left;'><code>&amp;amp;copy;</code></td><td style='text-align: left;'>&#169;</td>
130
- </tr><tr><td style='text-align: left;'><code>&amp;amp;pound;</code></td><td style='text-align: left;'>&#163;</td>
131
- </tr><tr><td style='text-align: left;'><code>a&amp;amp;nbsp;b</code></td><td style='text-align: left;'>a&#160;b</td>
132
- </tr><tr><td style='text-align: left;'><code>&amp;amp;lambda;</code></td><td style='text-align: left;'>&#955;</td>
133
- </tr><tr><td style='text-align: left;'><code>&amp;amp;mdash;</code></td><td style='text-align: left;'>&#8212;</td>
134
- </tr></tbody></table>
135
- <p>Entity-substitution does not happen in code blocks or inline code.</p>
136
-
137
- <p>The following should not be translated:</p>
138
-
139
- <pre><code>&amp;amp;copy;</code></pre>
140
102
 
141
- <p>It should read just like this: <code>&amp;amp;copy;</code>.</p>
142
- *** Output of to_latex ***
143
- Maruku translates HTML entities to the equivalent in \LaTeX\xspace :
144
-
145
- \begin{tabular}{l|l}
146
- Entity&Result\\
147
- \hline
148
- {\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38copy\char59}}&\copyright{}\\
149
- {\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38pound\char59}}&\pounds{}\\
150
- {\colorbox[rgb]{1.00,0.93,1.00}{\tt a\char38nbsp\char59b}}&a~{}b\\
151
- {\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38lambda\char59}}&$\lambda${}\\
152
- {\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38mdash\char59}}&---{}\\
153
- \end{tabular}
154
-
155
- Entity-substitution does not happen in code blocks or inline code.
156
-
157
- The following should not be translated:
158
-
159
- \begin{verbatim}&copy;\end{verbatim}
160
- It should read just like this: {\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38copy\char59}}.
161
- *** Output of to_md ***
162
- Maruku translates HTML entities to the
163
- equivalent in LaTeX:
164
-
165
- EntityResultabEntity-substitution does not happen in
166
- code blocks or inline code.
167
-
168
- The following should not be translated:
169
-
170
- It should read just like this: .
171
- *** Output of to_s ***
172
- Maruku translates HTML entities to the equivalent in LaTeX:EntityResultabEntity-substitution does not happen in code blocks or inline code.The following should not be translated:It should read just like this: .
173
103
  *** Output of Markdown.pl ***
174
104
  <p>Maruku translates HTML entities to the equivalent in LaTeX:</p>
175
105
 
@@ -51,38 +51,9 @@ md_el(:document,[
51
51
 
52
52
 
53
53
 
54
+ OK!
54
55
 
55
- Failed tests: [:to_html]
56
56
 
57
- *** Output of inspect ***
58
- md_el(:document,[
59
- md_par([md_code("<p>here's an apostrophe & a quote \"</p>")]),
60
- md_el(:code,[],{:raw_code=>"<p>here's an apostrophe & a quote \"</p>"},[]),
61
- md_el(:code,[],{:raw_code=>"<p>here's an apostrophe & a quote \"</p>"},[["lang", "xml"]]),
62
- md_el(:code,[],{:raw_code=>"<p>here's an apostrophe & a quote \"</p>"},[["html_use_syntax", "true"], ["lang", "not_supported"]]),
63
- md_el(:code,[],{:raw_code=>"<p>here's an apostrophe & a quote \"</p>"},[["html_use_syntax", "true"], ["lang", "xml"]])
64
- ],{},[])
65
- *** Output of to_html ***
66
- -----| WARNING | -----
67
- <p><code>&lt;p&gt;here&#39;s an apostrophe &amp;amp; a quote &quot;&lt;/p&gt;</code></p>
68
-
69
- <pre><code>&lt;p&gt;here&#39;s an apostrophe &amp;amp; a quote &quot;&lt;/p&gt;</code></pre>
70
-
71
- <pre lang='xml'><code class='xml' lang='xml'>&lt;p&gt;here&#39;s an apostrophe &amp;amp; a quote &quot;&lt;/p&gt;</code></pre>
72
-
73
- <pre><code class='not_supported' lang='not_supported'>&lt;p&gt;here&#39;s an apostrophe &amp; a quote &quot;&lt;/p&gt;</code></pre>
74
-
75
- <pre><code class='xml' lang='xml'><span class='punct'>&lt;</span><span class='tag'>p</span><span class='punct'>&gt;</span>here&#39;s an apostrophe &amp; a quote &quot;<span class='punct'>&lt;/</span><span class='tag'>p</span><span class='punct'>&gt;</span></code></pre>
76
- *** Output of to_latex ***
77
- {\colorbox[rgb]{1.00,0.93,1.00}{\tt \char60p\char62here\char39s~an~apostrophe~\char38~a~quote~\char34\char60\char47p\char62}}
78
-
79
- \begin{verbatim}<p>here's an apostrophe & a quote "</p>\end{verbatim}
80
- \begin{verbatim}<p>here's an apostrophe & a quote "</p>\end{verbatim}
81
- \begin{verbatim}<p>here's an apostrophe & a quote "</p>\end{verbatim}
82
- \begin{verbatim}<p>here's an apostrophe & a quote "</p>\end{verbatim}
83
- *** Output of to_md ***
84
-
85
- *** Output of to_s ***
86
57
 
87
58
  *** Output of Markdown.pl ***
88
59
  <p><code>&lt;p&gt;here's an apostrophe &amp; a quote "&lt;/p&gt;</code></p>
@@ -162,7 +162,7 @@ Search on GoogleSearch on GoogleSearch on GoogleSearch on GoogleSearch on Google
162
162
 
163
163
  <p>Inline with title: <a href="http://google.com "Title"">Google images</a></p>
164
164
 
165
- <p>Search on <a href="http://www.gogole.com">http://www.gogole.com</a> or <a href="http://Here.com">http://Here.com</a> or ask <a href="&#109;&#97;&#x69;&#x6C;&#116;&#x6F;:&#x62;&#x69;&#108;&#108;&#64;&#103;&#111;&#x6F;&#103;l&#101;&#x2E;&#99;&#111;&#x6D;">&#x62;&#x69;&#108;&#108;&#64;&#103;&#111;&#x6F;&#103;l&#101;&#x2E;&#99;&#111;&#x6D;</a>
165
+ <p>Search on <a href="http://www.gogole.com">http://www.gogole.com</a> or <a href="http://Here.com">http://Here.com</a> or ask <a href="&#109;&#x61;&#105;&#108;&#x74;&#x6F;:&#x62;&#x69;&#108;&#108;&#64;&#x67;&#x6F;&#111;&#103;&#x6C;&#x65;&#46;&#99;&#111;&#x6D;">&#x62;&#x69;&#108;&#108;&#64;&#x67;&#x6F;&#111;&#103;&#x6C;&#x65;&#46;&#99;&#111;&#x6D;</a>
166
166
  or you might ask bill@google.com.</p>
167
167
 
168
168
  <p>If all else fails, ask <a href="http://www.google.com">Google</a></p>
@@ -44,40 +44,10 @@ SymbolMeaningcomments The firstI like it. The firstI like it.
44
44
 
45
45
 
46
46
 
47
+ OK!
48
+
47
49
 
48
- Failed tests: [:to_html]
49
50
 
50
- *** Output of inspect ***
51
- md_el(:document,[
52
- md_el(:table,[
53
- md_el(:head_cell,["Symbol"],{},[]),
54
- md_el(:head_cell,["Meaning"],{},[]),
55
- md_el(:head_cell,["comments"],{},[]),
56
- md_el(:cell,[" ", md_entity("alpha")],{},[[:ref, "r"]]),
57
- md_el(:cell,["The first"],{},[]),
58
- md_el(:cell,["I like it."],{},[]),
59
- md_el(:cell,[" ", md_entity("aleph")],{},[[:ref, "r"]]),
60
- md_el(:cell,["The first"],{},[]),
61
- md_el(:cell,["I like it."],{},[])
62
- ],{:align=>[:left, :left, :left]},[]),
63
- md_el(:ald,[],{:ald=>[["scope", "row"]],:ald_id=>"r"},[])
64
- ],{},[])
65
- *** Output of to_html ***
66
- -----| WARNING | -----
67
- <table><thead><tr><th>Symbol</th><th>Meaning</th><th>comments</th></tr></thead><tbody><tr><th scope='row' style='text-align: left;'> &#945;</th><td style='text-align: left;'>The first</td><td style='text-align: left;'>I like it.</td>
68
- </tr><tr><th scope='row' style='text-align: left;'> &amp;aleph;</th><td style='text-align: left;'>The first</td><td style='text-align: left;'>I like it.</td>
69
- </tr></tbody></table>
70
- *** Output of to_latex ***
71
- \begin{tabular}{l|l|l}
72
- Symbol&Meaning&comments\\
73
- \hline
74
- $\alpha${}&The first&I like it.\\
75
- &The first&I like it.\\
76
- \end{tabular}
77
- *** Output of to_md ***
78
- SymbolMeaningcomments The firstI like it. The firstI like it.
79
- *** Output of to_s ***
80
- SymbolMeaningcomments The firstI like it. The firstI like it.
81
51
  *** Output of Markdown.pl ***
82
52
  <p>Symbol | Meaning | comments
83
53
  ------------|---------|---------
@@ -0,0 +1,29 @@
1
+ Write a comment here
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ @articles.map(&:title)
6
+ *** Output of inspect ***
7
+ md_el(:document,[md_el(:code,[],{:raw_code=>"@articles.map(&:title)"},[])],{},[])
8
+ *** Output of to_html ***
9
+ <pre><code>@articles.map(&amp;:title)</code></pre>
10
+ *** Output of to_latex ***
11
+ \begin{verbatim}@articles.map(&:title)\end{verbatim}
12
+ *** Output of to_md ***
13
+
14
+ *** Output of to_s ***
15
+
16
+ *** EOF ***
17
+
18
+
19
+
20
+ OK!
21
+
22
+
23
+
24
+ *** Output of Markdown.pl ***
25
+ <pre><code>@articles.map(&amp;:title)
26
+ </code></pre>
27
+
28
+ *** Output of Markdown.pl (parsed) ***
29
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -0,0 +1,53 @@
1
+ Write a comment here
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ | | 1 | 2 |
6
+ |----|----|----|
7
+ | A | X | |
8
+ | B | | X |
9
+ *** Output of inspect ***
10
+ md_el(:document,[
11
+ md_el(:table,[
12
+ md_el(:head_cell,[],{},[]),
13
+ md_el(:head_cell,["1"],{},[]),
14
+ md_el(:head_cell,["2"],{},[]),
15
+ md_el(:cell,["A"],{},[]),
16
+ md_el(:cell,["X"],{},[]),
17
+ md_el(:cell,[],{},[]),
18
+ md_el(:cell,["B"],{},[]),
19
+ md_el(:cell,[],{},[]),
20
+ md_el(:cell,["X"],{},[])
21
+ ],{:align=>[:left, :left, :left]},[])
22
+ ],{},[])
23
+ *** Output of to_html ***
24
+ <table><thead><tr><th /><th>1</th><th>2</th></tr></thead><tbody><tr><td style='text-align: left;'>A</td><td style='text-align: left;'>X</td><td style='text-align: left;' />
25
+ </tr><tr><td style='text-align: left;'>B</td><td style='text-align: left;' /><td style='text-align: left;'>X</td>
26
+ </tr></tbody></table>
27
+ *** Output of to_latex ***
28
+ \begin{tabular}{l|l|l}
29
+ &1&2\\
30
+ \hline
31
+ A&X&\\
32
+ B&&X\\
33
+ \end{tabular}
34
+ *** Output of to_md ***
35
+ 12AXBX
36
+ *** Output of to_s ***
37
+ 12AXBX
38
+ *** EOF ***
39
+
40
+
41
+
42
+ OK!
43
+
44
+
45
+
46
+ *** Output of Markdown.pl ***
47
+ <p>| | 1 | 2 |
48
+ |----|----|----|
49
+ | A | X | |
50
+ | B | | X |</p>
51
+
52
+ *** Output of Markdown.pl (parsed) ***
53
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -0,0 +1,103 @@
1
+ Write a comment here
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ <http://www.aa.com>
6
+
7
+ <http://www.bb.com>
8
+
9
+ <http://www.cc.com>
10
+
11
+ <http://www.dd.com>
12
+
13
+ <http://www.dd.com>
14
+
15
+ <a@invalid.it>
16
+
17
+ <a@invalid.it>
18
+
19
+ <a@invalid.it>
20
+
21
+ <a@invalid.it>
22
+ *** Output of inspect ***
23
+ md_el(:document,[
24
+ md_par([md_url("http://www.aa.com")]),
25
+ md_par([md_url("http://www.bb.com")]),
26
+ md_par([md_url("http://www.cc.com")]),
27
+ md_par([md_url("http://www.dd.com")]),
28
+ md_el(:code,[],{:raw_code=>"<http://www.dd.com>"},[]),
29
+ md_par([md_email("a@invalid.it")]),
30
+ md_par([md_email("a@invalid.it")]),
31
+ md_par([md_email("a@invalid.it")]),
32
+ md_el(:code,[],{:raw_code=>"<a@invalid.it>"},[])
33
+ ],{},[])
34
+ *** Output of to_html ***
35
+ <p><a href='http://www.aa.com'>http://www.aa.com</a></p>
36
+
37
+ <p><a href='http://www.bb.com'>http://www.bb.com</a></p>
38
+
39
+ <p><a href='http://www.cc.com'>http://www.cc.com</a></p>
40
+
41
+ <p><a href='http://www.dd.com'>http://www.dd.com</a></p>
42
+
43
+ <pre><code>&lt;http://www.dd.com&gt;</code></pre>
44
+
45
+ <p><a href='mailto:a@invalid.it'>&#097;&#064;&#105;&#110;&#118;&#097;&#108;&#105;&#100;&#046;&#105;&#116;</a></p>
46
+
47
+ <p><a href='mailto:a@invalid.it'>&#097;&#064;&#105;&#110;&#118;&#097;&#108;&#105;&#100;&#046;&#105;&#116;</a></p>
48
+
49
+ <p><a href='mailto:a@invalid.it'>&#097;&#064;&#105;&#110;&#118;&#097;&#108;&#105;&#100;&#046;&#105;&#116;</a></p>
50
+
51
+ <pre><code>&lt;a@invalid.it&gt;</code></pre>
52
+ *** Output of to_latex ***
53
+ \href{http://www.aa.com}{http\char58\char47\char47www\char46aa\char46com}
54
+
55
+ \href{http://www.bb.com}{http\char58\char47\char47www\char46bb\char46com}
56
+
57
+ \href{http://www.cc.com}{http\char58\char47\char47www\char46cc\char46com}
58
+
59
+ \href{http://www.dd.com}{http\char58\char47\char47www\char46dd\char46com}
60
+
61
+ \begin{verbatim}<http://www.dd.com>\end{verbatim}
62
+ \href{mailto:a@invalid.it}{a\char64invalid\char46it}
63
+
64
+ \href{mailto:a@invalid.it}{a\char64invalid\char46it}
65
+
66
+ \href{mailto:a@invalid.it}{a\char64invalid\char46it}
67
+
68
+ \begin{verbatim}<a@invalid.it>\end{verbatim}
69
+ *** Output of to_md ***
70
+
71
+ *** Output of to_s ***
72
+
73
+ *** EOF ***
74
+
75
+
76
+
77
+ OK!
78
+
79
+
80
+
81
+ *** Output of Markdown.pl ***
82
+ <p><a href="http://www.aa.com">http://www.aa.com</a></p>
83
+
84
+ <p><a href="http://www.bb.com">http://www.bb.com</a></p>
85
+
86
+ <p><a href="http://www.cc.com">http://www.cc.com</a></p>
87
+
88
+ <p><a href="http://www.dd.com">http://www.dd.com</a></p>
89
+
90
+ <pre><code>&lt;http://www.dd.com&gt;
91
+ </code></pre>
92
+
93
+ <p><a href="&#x6D;&#x61;&#x69;&#108;&#x74;&#111;:&#x61;&#64;&#105;n&#x76;&#x61;&#x6C;&#105;&#x64;&#x2E;&#105;&#x74;">&#x61;&#64;&#105;n&#x76;&#x61;&#x6C;&#105;&#x64;&#x2E;&#105;&#x74;</a></p>
94
+
95
+ <p><a href="m&#x61;&#105;&#108;&#x74;&#111;:&#97;&#64;&#105;&#110;v&#x61;&#108;&#x69;&#100;&#x2E;&#x69;&#x74;">&#97;&#64;&#105;&#110;v&#x61;&#108;&#x69;&#100;&#x2E;&#x69;&#x74;</a></p>
96
+
97
+ <p><a href="&#109;&#97;&#x69;&#x6C;&#116;&#111;:&#97;&#64;&#x69;&#110;&#118;&#97;&#108;&#x69;&#100;.&#105;&#x74;">&#97;&#64;&#x69;&#110;&#118;&#97;&#108;&#x69;&#100;.&#105;&#x74;</a></p>
98
+
99
+ <pre><code>&lt;a@invalid.it&gt;
100
+ </code></pre>
101
+
102
+ *** Output of Markdown.pl (parsed) ***
103
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
@@ -0,0 +1,34 @@
1
+ Write a comment here
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ [a. b] is a link.
6
+
7
+ [a. b]: http://site.com/
8
+
9
+ *** Output of inspect ***
10
+ md_el(:document,[
11
+ md_par([md_link(["a. b"],"a_b"), " is a link."]),
12
+ md_ref_def("a_b", "http://site.com/", {:title=>nil})
13
+ ],{},[])
14
+ *** Output of to_html ***
15
+ <p><a href='http://site.com/'>a. b</a> is a link.</p>
16
+ *** Output of to_latex ***
17
+ \href{http://site.com/}{a. b} is a link.
18
+ *** Output of to_md ***
19
+ a. bis a link.
20
+ *** Output of to_s ***
21
+ a. b is a link.
22
+ *** EOF ***
23
+
24
+
25
+
26
+ OK!
27
+
28
+
29
+
30
+ *** Output of Markdown.pl ***
31
+ <p>[a. b] is a link.</p>
32
+
33
+ *** Output of Markdown.pl (parsed) ***
34
+ Error: #<NoMethodError: private method `write_children' called for <div> ... </>:REXML::Element>
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.10
3
3
  specification_version: 1
4
4
  name: maruku
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.7
7
- date: 2007-10-05
6
+ version: 0.5.8
7
+ date: 2008-02-17
8
8
  summary: Maruku is a Markdown-superset interpreter written in Ruby.
9
9
  require_paths:
10
10
  - lib
@@ -43,6 +43,7 @@ files:
43
43
  - lib/maruku/version.rb
44
44
  - lib/maruku/ext/math.rb
45
45
  - lib/maruku/ext/math/elements.rb
46
+ - lib/maruku/ext/math/latex_fix.rb
46
47
  - lib/maruku/ext/math/parsing.rb
47
48
  - lib/maruku/ext/math/to_html.rb
48
49
  - lib/maruku/ext/math/to_latex.rb
@@ -205,6 +206,10 @@ files:
205
206
  - tests/unittest/notyet/triggering.md
206
207
  - tests/unittest/paragraph_rules/dont_merge_ref.md
207
208
  - tests/unittest/paragraph_rules/tab_is_blank.md
209
+ - tests/unittest/pending/amps.md
210
+ - tests/unittest/pending/empty_cells.md
211
+ - tests/unittest/pending/link.md
212
+ - tests/unittest/pending/ref.md
208
213
  - tests/unittest/recover/recover_links.md
209
214
  - tests/unittest/references/long_example.md
210
215
  - tests/unittest/references/spaces_and_numbers.md