diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index e42c3f80..f6dad253 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -303,7 +303,7 @@ class WikiController < ApplicationController end def tex - if @web.markup == :markdownMML or @web.markup == :markdown + if @web.markup == :markdownMML or @web.markup == :markdownPNG or @web.markup == :markdown @tex_content = Maruku.new(@page.content).to_latex else @tex_content = 'TeX export only supported with the Markdown text filters.' @@ -311,7 +311,7 @@ class WikiController < ApplicationController end def s5 - if @web.markup == :markdownMML || @web.markup == :markdown + if @web.markup == :markdownMML || @web.markup == :markdownPNG || @web.markup == :markdown my_rendered = PageRenderer.new(@page.revisions.last) @s5_content = my_rendered.display_s5 @s5_theme = my_rendered.s5_theme @@ -343,7 +343,7 @@ class WikiController < ApplicationController # end def export_page_to_tex(file_path) - if @web.markup == :markdownMML + if @web.markup == :markdownMML || @web.markup == :markdownPNG @tex_content = Maruku.new(@page.content).to_latex else @tex_content = 'TeX export only supported with the Markdown text filters.' @@ -423,7 +423,7 @@ class WikiController < ApplicationController def render_tex_web @web.select.by_name.inject({}) do |tex_web, page| - if @web.markup == :markdownMML + if @web.markup == :markdownMML || @web.markup == :markdownPNG tex_web[page.name] = Maruku.new(page.content).to_latex else tex_web[page.name] = 'TeX export only supported with the Markdown text filters.' diff --git a/app/views/wiki/page.rhtml b/app/views/wiki/page.rhtml index 65752b81..bdbe24cd 100644 --- a/app/views/wiki/page.rhtml +++ b/app/views/wiki/page.rhtml @@ -35,7 +35,7 @@ <%= link_to('Print', { :web => @web.address, :action => 'print', :id => @page.name }, { :accesskey => 'p', :id => 'view_print', :rel => 'nofollow' }) %> - <% if @web.markup == :markdownMML or @web.markup == :markdown %> + <% if @web.markup == :markdownMML or @web.markup == :markdown or @web.markup == :markdownPNG %> | <%= link_to 'TeX', {:web => @web.address, :action => 'tex', :id => @page.name}, {:id => 'view_tex', :rel => 'nofollow' } %> diff --git a/lib/chunks/engines.rb b/lib/chunks/engines.rb index 892be49a..d7324013 100644 --- a/lib/chunks/engines.rb +++ b/lib/chunks/engines.rb @@ -75,6 +75,37 @@ module Engines end end + class MarkdownPNG < AbstractEngine + def mask + # If the request is for S5, call Maruku accordingly + if @content.options[:mode] == :s5 + my_content = Maruku.new(@content.delete("\r").to_utf8, + {:math_enabled => true, + :math_numbered => ['\\[','\\begin{equation}'], + :html_math_output_mathml => false, + :html_math_output_png => true, + :html_png_engine => 'blahtex', + :html_png_dir => @content.web.files_path + '/pngs', + :html_png_url => '../files/pngs/', + :content_only => true, + :author => @content.options[:engine_opts][:author], + :title => @content.options[:engine_opts][:title]}) + @content.options[:renderer].s5_theme = my_content.s5_theme + my_content.to_s5 + else + html = Maruku.new(@content.delete("\r").to_utf8, + {:math_enabled => true, + :math_numbered => ['\\[','\\begin{equation}'], + :html_math_output_mathml => false, + :html_math_output_png => true, + :html_png_engine => 'blahtex', + :html_png_dir => @content.web.files_path + '/pngs', + :html_png_url => '../files/pngs/'}).to_html + html.gsub(/\A
\n?(.*?)\n?<\/div>\Z/m, '\1') + end + end + end + class Mixed < AbstractEngine def mask redcloth = RedCloth.new(@content, @content.options[:engine_opts]) @@ -90,6 +121,6 @@ module Engines end end - MAP = { :textile => Textile, :markdown => Markdown, :markdownMML => MarkdownMML, :mixed => Mixed, :rdoc => RDoc } + MAP = { :textile => Textile, :markdown => Markdown, :markdownMML => MarkdownMML, :markdownPNG => MarkdownPNG, :mixed => Mixed, :rdoc => RDoc } MAP.default = MarkdownMML end diff --git a/lib/sanitizer.rb b/lib/sanitizer.rb index aa34b440..43ad40fb 100644 --- a/lib/sanitizer.rb +++ b/lib/sanitizer.rb @@ -174,7 +174,7 @@ module Sanitizer style = style.to_s.gsub(/url\s*\(\s*[^\s)]+?\s*\)\s*/, ' ') # gauntlet - return '' unless style =~ /^([:,;#%.\sa-zA-Z0-9!]|\w-\w|\'[\s\w]+\'|\"[\s\w]+\"|\([\d,\s]+\))*$/ + return '' unless style =~ /^([-:,;#%.\sa-zA-Z0-9!]|\w-\w|\'[\s\w]+\'|\"[\s\w]+\"|\([\d,\s]+\))*$/ return '' unless style =~ /^(\s*[-\w]+\s*:\s*[^:;]*(;|$))*$/ clean = [] diff --git a/lib/wiki_content.rb b/lib/wiki_content.rb index 1e1593ed..6ec39b4c 100644 --- a/lib/wiki_content.rb +++ b/lib/wiki_content.rb @@ -89,11 +89,12 @@ end # WikiContent.new class WikiContentStub < String - attr_reader :options + attr_reader :web, :options include ChunkManager - def initialize(content, options) + def initialize(content, web, options) super(content) + @web = web @options = options init_chunk_manager end @@ -164,7 +165,7 @@ class WikiContent < String # The copy is rendered and used to detect the chunks that are inside protecting context # These chunks are reverted on the original content string. - copy = WikiContentStub.new(self, @options) + copy = WikiContentStub.new(self, @web, @options) @options[:engine].apply_to(copy) copy.inside_chunks(HIDE_CHUNKS) do |id| diff --git a/vendor/plugins/HTML5lib/lib/html5/sanitizer.rb b/vendor/plugins/HTML5lib/lib/html5/sanitizer.rb index 479f81a9..a36148f8 100644 --- a/vendor/plugins/HTML5lib/lib/html5/sanitizer.rb +++ b/vendor/plugins/HTML5lib/lib/html5/sanitizer.rb @@ -167,7 +167,7 @@ module HTML5 style = style.to_s.gsub(/url\s*\(\s*[^\s)]+?\s*\)\s*/, ' ') # gauntlet - return '' unless style =~ /^([:,;#%.\sa-zA-Z0-9!]|\w-\w|\'[\s\w]+\'|\"[\s\w]+\"|\([\d,\s]+\))*$/ + return '' unless style =~ /^([-:,;#%.\sa-zA-Z0-9!]|\w-\w|\'[\s\w]+\'|\"[\s\w]+\"|\([\d,\s]+\))*$/ return '' unless style =~ /^(\s*[-\w]+\s*:\s*[^:;]*(;|$))*$/ clean = [] diff --git a/vendor/plugins/maruku/bin/maruku b/vendor/plugins/maruku/bin/maruku index 60d33d8a..aa24228f 100644 --- a/vendor/plugins/maruku/bin/maruku +++ b/vendor/plugins/maruku/bin/maruku @@ -3,6 +3,11 @@ require 'maruku' require 'optparse' +def cli_puts(s) + $stderr.puts(s) if MaRuKu::Globals[:verbose] +end + + export = :html break_on_error = false using_math = false @@ -26,7 +31,7 @@ opt = OptionParser.new do |opts| MaRuKu::Globals[:html_math_output_png] = true MaRuKu::Globals[:html_math_output_mathml] = false MaRuKu::Globals[:html_png_engine] = s - $stderr.puts "Using png engine #{s}." + cli_puts "Using png engine #{s}." end opts.on("-m", "--math-engine ENGINE", "Uses ENGINE to render MathML") do |s| @@ -49,8 +54,7 @@ opt = OptionParser.new do |opts| opts.on_tail("--inspect", "Shows the parsing result" ) do export = :inspect end opts.on_tail("--version", "Show version") do - puts OptionParser::Version.join('.') - exit + puts "Maruku #{MaRuKu::Version}"; exit end opts.on_tail("-h", "--help", "Show this message") do @@ -68,27 +72,29 @@ rescue OptionParser::InvalidOption=>e exit end + if using_math - $stderr.puts "Using Math extensions." + cli_puts "Using Math extensions." require 'maruku/ext/math' end #p ARGV #p MaRuKu::Globals + inputs = # If we are given filenames, convert each file if not ARGV.empty? ARGV.map do |f| # read file content - $stderr.puts "Reading from #{f}." + cli_puts "Reading from file #{f.inspect}." [f, File.open(f,'r').read] end else export = :html_frag if export == :html export = :tex_frag if export == :tex - $stderr.puts "Reading from standard input." + cli_puts "Reading from standard input." [[nil, $stdin.read]] end @@ -100,7 +106,8 @@ inputs.each do |f, input| t = Time.now doc = Maruku.new(input, params) - $stderr.puts "Parsing in %.2f seconds." % (Time.now-t) + + cli_puts ("Parsing in %.2f seconds." % (Time.now-t)) out=""; suffix = "?" t = Time.now @@ -124,11 +131,12 @@ inputs.each do |f, input| suffix='.pretty_md' out = doc.to_markdown when :s5 - suffix='_s5slides.xhtml' + suffix='_s5slides.html' out = doc.to_s5({:content_only => false}) end - $stderr.puts "Rendering in %.2f seconds." % (Time.now-t) - + + cli_puts("Rendering in %.2f seconds." % (Time.now-t)) + # write to file or stdout if f @@ -141,19 +149,19 @@ inputs.each do |f, input| end if output_file == "-" - $stderr.puts "Writing to standard output" + cli_puts "Writing to standard output" $stdout.puts out else if not (export == :pdf) - $stderr.puts "Writing to #{output_file}" + cli_puts "Writing to #{output_file}" File.open(output_file,'w') do |f| f.puts out end else - $stderr.puts "Writing to #{job}.tex" + cli_puts "Writing to #{job}.tex" File.open("#{job}.tex",'w') do |f| f.puts out end cmd = "pdflatex '#{job}.tex' -interaction=nonstopmode "+ "'-output-directory=#{dir}' " - $stderr.puts "maruku: executing $ #{cmd}" + cli_puts "maruku: executing $ #{cmd}" # run twice for cross references system cmd system cmd @@ -161,7 +169,7 @@ inputs.each do |f, input| end else # write to stdout - $stderr.puts "Writing to standard output" + cli_puts "Writing to standard output" $stdout.puts out end end diff --git a/vendor/plugins/maruku/lib/maruku/defaults.rb b/vendor/plugins/maruku/lib/maruku/defaults.rb index 3c7d80be..9f66f67c 100644 --- a/vendor/plugins/maruku/lib/maruku/defaults.rb +++ b/vendor/plugins/maruku/lib/maruku/defaults.rb @@ -47,6 +47,7 @@ Globals = { :latex_use_listings => false, :latex_cjk => false, + :latex_cache_file => "blahtex_cache.pstore", # cache file for blahtex filter :debug_keep_ials => false, :doc_prefix => '' diff --git a/vendor/plugins/maruku/lib/maruku/ext/math/mathml_engines/blahtex.rb b/vendor/plugins/maruku/lib/maruku/ext/math/mathml_engines/blahtex.rb index 2da34cbd..a8f049bb 100644 --- a/vendor/plugins/maruku/lib/maruku/ext/math/mathml_engines/blahtex.rb +++ b/vendor/plugins/maruku/lib/maruku/ext/math/mathml_engines/blahtex.rb @@ -15,36 +15,34 @@ module MaRuKu; module Out; module HTML # first, we check whether this image has already been processed md5sum = Digest::MD5.hexdigest(tex+" params: ") result_file = File.join(MaRuKu::Globals[:html_png_dir], md5sum+".txt") - + if not File.exists?(result_file) tmp_in = Tempfile.new('maruku_blahtex') - f = tmp_in.open + f = tmp_in.open f.write tex f.close - + resolution = get_setting(:html_png_resolution) - - options = "--png --use-preview-package --shell-dvipng 'dvipng -D #{resolution}' " + + options = "--png --use-preview-package --shell-dvipng '/usr/bin/dvipng -D #{resolution}' " + options += ("--temp-directory '%s' " % MaRuKu::Globals[:html_png_dir]) options += ("--png-directory '%s'" % MaRuKu::Globals[:html_png_dir]) - + cmd = "blahtex #{options} < #{tmp_in.path} > #{result_file}" - $stderr.puts "$ #{cmd}" - system cmd + #$stderr.puts "$ #{cmd}" + system cmd tmp_in.delete - end - result = nil - f = File.open(result_file) - result = f.read - f.close - - + result = File.read(result_file) + if result.nil? || result.empty? + raise "Blahtex error: empty output" + end + doc = Document.new(result, {:respect_whitespace =>:all}) png = doc.root.elements[1] if png.name != 'png' - maruku_error "Blahtex error: \n#{doc}" - return nil + raise "Blahtex error: \n#{doc}" end depth = png.elements['depth'] || (raise "No depth element in:\n #{doc}") height = png.elements['height'] || (raise "No height element in:\n #{doc}") @@ -56,19 +54,19 @@ module MaRuKu; module Out; module HTML dir_url = MaRuKu::Globals[:html_png_url] return PNG.new("#{dir_url}#{md5}.png", depth, height) - rescue Exception => e maruku_error "Error: #{e}" end nil end - BlahtexCache = PStore.new("blahtex_cache.pstore") - + def convert_to_mathml_blahtex(kind, tex) + @@BlahtexCache = PStore.new(MaRuKu::Globals[:latex_cache_file]) + begin - BlahtexCache.transaction do - if BlahtexCache[tex].nil? + @@BlahtexCache.transaction do + if @@BlahtexCache[tex].nil? tmp_in = Tempfile.new('maruku_blahtex') f = tmp_in.open f.write tex @@ -77,7 +75,7 @@ module MaRuKu; module Out; module HTML options = "--mathml" cmd = "blahtex #{options} < #{tmp_in.path} > #{tmp_out.path}" - $stderr.puts "$ #{cmd}" + #$stderr.puts "$ #{cmd}" system cmd tmp_in.delete @@ -85,10 +83,10 @@ module MaRuKu; module Out; module HTML File.open(tmp_out.path) do |f| result=f.read end puts result - BlahtexCache[tex] = result + @@BlahtexCache[tex] = result end - blahtex = BlahtexCache[tex] + blahtex = @@BlahtexCache[tex] doc = Document.new(blahtex, {:respect_whitespace =>:all}) mathml = doc.root.elements['mathml'] if not mathml diff --git a/vendor/plugins/maruku/lib/maruku/input/parse_block.rb b/vendor/plugins/maruku/lib/maruku/input/parse_block.rb index 687dfbea..0cec4a89 100644 --- a/vendor/plugins/maruku/lib/maruku/input/parse_block.rb +++ b/vendor/plugins/maruku/lib/maruku/input/parse_block.rb @@ -337,7 +337,7 @@ module MaRuKu; module In; module Markdown; module BlockLevelParser # puts "id =_#{id}_; text=_#{text}_ indent=#{indentation}" - break_list = [:footnote_text] + break_list = [:footnote_text, :ref_definition, :definition, :abbreviation] item_type = :footnote_text lines, want_my_paragraph = read_indented_content(src,indentation, break_list, item_type) @@ -471,9 +471,10 @@ module MaRuKu; module In; module Markdown; module BlockLevelParser def read_ref_definition(src, out) line = src.shift_line + # if link is incomplete, shift next line - if src.cur_line && (src.cur_line.md_type != :ref_definition) && - ([1,2,3].include? number_of_leading_spaces(src.cur_line) ) + if src.cur_line && !([:footnote_text, :ref_definition, :definition, :abbreviation].include? src.cur_line.md_type) && + ([1,2,3].include? number_of_leading_spaces(src.cur_line) ) line += " "+ src.shift_line end diff --git a/vendor/plugins/maruku/lib/maruku/input/type_detection.rb b/vendor/plugins/maruku/lib/maruku/input/type_detection.rb index b2e234b2..e019414c 100644 --- a/vendor/plugins/maruku/lib/maruku/input/type_detection.rb +++ b/vendor/plugins/maruku/lib/maruku/input/type_detection.rb @@ -94,6 +94,7 @@ module MaRuKu; module Strings # *[HTML]: Hyper Text Markup Language Abbreviation = %r{ ^ # begin of line + [ ]{0,3} # up to 3 spaces \* # one asterisk \[ # opening bracket ([^\]]+) # any non-closing bracket: id = $1 @@ -106,7 +107,9 @@ module MaRuKu; module Strings }x FootnoteText = %r{ - ^\s*\[(\^.+)\]: # id = $1 (including '^') + ^ # begin of line + [ ]{0,3} # up to 3 spaces + \[(\^.+)\]: # id = $1 (including '^') \s*(\S.*)?$ # text = $2 (not obb.) }x @@ -115,7 +118,7 @@ module MaRuKu; module Strings LinkRegex = %r{ ^[ ]{0,3}\[([^\[\]]+)\]: # id = $1 [ ]* - ? # url = $2 + \s]+)>? # url = $2 [ ]* (?:# Titles are delimited by "quotes" or (parens). ["('] diff --git a/vendor/plugins/maruku/lib/maruku/output/to_html.rb b/vendor/plugins/maruku/lib/maruku/output/to_html.rb index c5a05854..62a12665 100644 --- a/vendor/plugins/maruku/lib/maruku/output/to_html.rb +++ b/vendor/plugins/maruku/lib/maruku/output/to_html.rb @@ -188,6 +188,7 @@ Example: =end + METAS = %w{description keywords author revised} # Render to a complete HTML document (returns a REXML document tree) def to_html_document_tree @@ -209,7 +210,25 @@ Example: # me.attributes['content'] = 'text/html;charset=utf-8' me.attributes['content'] = 'application/xhtml+xml;charset=utf-8' + METAS.each do |m| + if value = self.attributes[m.to_sym] + meta = Element.new 'meta', head + meta.attributes['name'] = m + meta.attributes['content'] = value.to_s + end + end + + + self.attributes.each do |k,v| + if k.to_s =~ /\Ameta-(.*)\Z/ + meta = Element.new 'meta', head + meta.attributes['name'] = $1 + meta.attributes['content'] = v.to_s + end + end + + # Create title element doc_title = self.attributes[:title] || self.attributes[:subject] || "" title = Element.new 'title', head @@ -312,7 +331,8 @@ Example: li.insert_after(li.children.last, a) ol << li else - maruku_error"Could not find footnote '#{fid}'" + maruku_error "Could not find footnote id '#{fid}' among ["+ + self.footnotes.keys.map{|s|"'"+s+"'"}.join(', ')+"]." end end div << ol @@ -827,10 +847,21 @@ If true, raw HTML is discarded from the output. # save the order of used footnotes order = @doc.footnotes_order + if order.include? id + # footnote has already been used + return [] + end + + if not @doc.footnotes[id] + return [] + end + # take next number order << id - num = order.size; + #num = order.size; + num = order.index(id) + 1 + sup = Element.new 'sup' sup.attributes['id'] = "#{get_setting(:doc_prefix)}fnref:#{num}" a = Element.new 'a' diff --git a/vendor/plugins/maruku/lib/maruku/string_utils.rb b/vendor/plugins/maruku/lib/maruku/string_utils.rb index 21bd4d26..d297cd43 100644 --- a/vendor/plugins/maruku/lib/maruku/string_utils.rb +++ b/vendor/plugins/maruku/lib/maruku/string_utils.rb @@ -46,7 +46,7 @@ module MaRuKu; module Strings # def parse_email_headers(s) keys={} - match = (s =~ /((\w[\w\s]+: .*\n)+)\n/) + match = (s =~ /\A((\w[\w\s\_\-]+: .*\n)+)\s*\n/) if match != 0 keys[:data] = s else diff --git a/vendor/plugins/maruku/lib/maruku/version.rb b/vendor/plugins/maruku/lib/maruku/version.rb index f691256a..651ffc93 100644 --- a/vendor/plugins/maruku/lib/maruku/version.rb +++ b/vendor/plugins/maruku/lib/maruku/version.rb @@ -19,7 +19,7 @@ #++ module MaRuKu - Version = '0.5.8' + Version = '0.5.9' MarukuURL = 'http://maruku.rubyforge.org/' diff --git a/vendor/plugins/maruku/tests/unittest/divs/div1.html b/vendor/plugins/maruku/tests/unittest/divs/div1.html new file mode 100644 index 00000000..15931aa3 --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/divs/div1.html @@ -0,0 +1,55 @@ + + + + + +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ +
+

text

+
+ \ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/divs/div1.md b/vendor/plugins/maruku/tests/unittest/divs/div1.md index 523e02f4..c1aaee16 100644 --- a/vendor/plugins/maruku/tests/unittest/divs/div1.md +++ b/vendor/plugins/maruku/tests/unittest/divs/div1.md @@ -201,4 +201,53 @@ texttexttexttexttexttexttexttexttexttexttexttext

=--

*** Output of Markdown.pl (parsed) *** -Error: # ... :REXML::Element> +
+

+ +--------- | text +---------- +

+

+ +--------- |text +

+

+ +-- text +

+

+ =-- +

+

+ +--------- | text +---------- +

+

+ +--------- |text +

+

+ +-- text +

+

+ =-- +

+

+ +--------- | text +---------- +

+

+ +--------- |text +

+

+ +-- text +

+

+ =-- +

+

+ +--------- | text +---------- +

+

+ +--------- |text +

+

+ +-- text +

+

+ =-- +

+
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/divs/div2.html b/vendor/plugins/maruku/tests/unittest/divs/div2.html new file mode 100644 index 00000000..c23e83c3 --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/divs/div2.html @@ -0,0 +1,11 @@ + + + + + +
+

ciao

+
+ \ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/divs/div2.md b/vendor/plugins/maruku/tests/unittest/divs/div2.md index 8c891e5b..5cc78a66 100644 --- a/vendor/plugins/maruku/tests/unittest/divs/div2.md +++ b/vendor/plugins/maruku/tests/unittest/divs/div2.md @@ -31,4 +31,8 @@ ciao =--

*** Output of Markdown.pl (parsed) *** -Error: # ... :REXML::Element> +
+

+ +-- ciao =-- +

+
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/divs/div3_nest.html b/vendor/plugins/maruku/tests/unittest/divs/div3_nest.html new file mode 100644 index 00000000..36d76f3f --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/divs/div3_nest.html @@ -0,0 +1,17 @@ + + + + + +
+

this is the last warning!

+ +

please, go away!

+ +
+

or else terrible things will happen

+
+
+ \ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/divs/div3_nest.md b/vendor/plugins/maruku/tests/unittest/divs/div3_nest.md index 065b932e..95881ac2 100644 --- a/vendor/plugins/maruku/tests/unittest/divs/div3_nest.md +++ b/vendor/plugins/maruku/tests/unittest/divs/div3_nest.md @@ -59,4 +59,12 @@ this is the last warning!please, go away!or else terrible things will happen +---------------------------------------------------

*** Output of Markdown.pl (parsed) *** -Error: # ... :REXML::Element> +
+

+ +-----------------------------------{.warning}------ | this is the last + warning! | | please, go away! | | +------------------------------------- + {.menace} -- | | or else terrible things will happen | + +-------------------------------------------------- + +--------------------------------------------------- +

+
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/email.md b/vendor/plugins/maruku/tests/unittest/email.md index 738bb83b..b859d748 100644 --- a/vendor/plugins/maruku/tests/unittest/email.md +++ b/vendor/plugins/maruku/tests/unittest/email.md @@ -27,7 +27,7 @@ This is an email address: *** Output of Markdown.pl *** -

This is an email address: andrea@invalid.it

+

This is an email address: andrea@invalid.it

*** Output of Markdown.pl (parsed) *** Error: # diff --git a/vendor/plugins/maruku/tests/unittest/footnotes.html b/vendor/plugins/maruku/tests/unittest/footnotes.html index 0c8170bd..bce03299 100644 --- a/vendor/plugins/maruku/tests/unittest/footnotes.html +++ b/vendor/plugins/maruku/tests/unittest/footnotes.html @@ -5,7 +5,7 @@ -

That’s some text with a footnote 4 and another 5 and another 6.

+

That’s some text with a footnote and another and another .

This is not a footnote.


  1. @@ -18,14 +18,4 @@

    And that’s the footnote.

    That’s the second paragraph of the footnote.

    -
  2. -

    And that’s the footnote. This is second sentence (same paragraph).

    -
  3. -

    This is the very long one.

    - -

    That’s the second paragraph.

    -
  4. -

    And that’s the footnote.

    - -

    That’s the second paragraph of the footnote.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/inline_html.md b/vendor/plugins/maruku/tests/unittest/inline_html.md index a6942024..f4073cb1 100644 --- a/vendor/plugins/maruku/tests/unittest/inline_html.md +++ b/vendor/plugins/maruku/tests/unittest/inline_html.md @@ -238,9 +238,9 @@ Line: Position: Last 80 unconsumed characters:
This is *true* markdown text (paragraph)

-/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:320:in `pull' -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:21:in `parse' -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:204:in `build' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:205:in `build' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:42:in `initialize' bin/marutest:200:in `new' bin/marutest:200:in `run_test' diff --git a/vendor/plugins/maruku/tests/unittest/links.md b/vendor/plugins/maruku/tests/unittest/links.md index 0a063eb6..643a0930 100644 --- a/vendor/plugins/maruku/tests/unittest/links.md +++ b/vendor/plugins/maruku/tests/unittest/links.md @@ -162,7 +162,7 @@ Search on GoogleSearch on GoogleSearch on GoogleSearch on GoogleSearch on Google

Inline with title: Google images

-

Search on http://www.gogole.com or http://Here.com or ask bill@google.com +

Search on http://www.gogole.com or http://Here.com or ask bill@google.com or you might ask bill@google.com.

If all else fails, ask Google

@@ -175,9 +175,9 @@ Line: Position: Last 80 unconsumed characters: > -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:320:in `pull' -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:21:in `parse' -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:204:in `build' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:205:in `build' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:42:in `initialize' bin/marutest:200:in `new' bin/marutest:200:in `run_test' diff --git a/vendor/plugins/maruku/tests/unittest/pending/amps.html b/vendor/plugins/maruku/tests/unittest/pending/amps.html new file mode 100644 index 00000000..e698c6c7 --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/pending/amps.html @@ -0,0 +1,9 @@ + + + + + +
@articles.map(&:title)
+ \ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/pending/amps.md b/vendor/plugins/maruku/tests/unittest/pending/amps.md new file mode 100644 index 00000000..9ef197f7 --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/pending/amps.md @@ -0,0 +1,35 @@ +Write a comment here +*** Parameters: *** +{} # params +*** Markdown input: *** + @articles.map(&:title) +*** Output of inspect *** +md_el(:document,[md_el(:code,[],{:raw_code=>"@articles.map(&:title)"},[])],{},[]) +*** Output of to_html *** +
@articles.map(&:title)
+*** Output of to_latex *** +\begin{verbatim}@articles.map(&:title)\end{verbatim} +*** Output of to_md *** + +*** Output of to_s *** + +*** EOF *** + + + + OK! + + + +*** Output of Markdown.pl *** +
@articles.map(&:title)
+
+ +*** Output of Markdown.pl (parsed) *** +
+
+  
+   @articles.map(&:title) 
+  
+ 
+
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/pending/empty_cells.html b/vendor/plugins/maruku/tests/unittest/pending/empty_cells.html new file mode 100644 index 00000000..e2549b53 --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/pending/empty_cells.html @@ -0,0 +1,9 @@ + + + + + +
12
AX +
BX
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/pending/empty_cells.md b/vendor/plugins/maruku/tests/unittest/pending/empty_cells.md new file mode 100644 index 00000000..eb1d634e --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/pending/empty_cells.md @@ -0,0 +1,57 @@ +Write a comment here +*** Parameters: *** +{} # params +*** Markdown input: *** +| | 1 | 2 | +|----|----|----| +| A | X | | +| B | | X | +*** Output of inspect *** +md_el(:document,[ + md_el(:table,[ + md_el(:head_cell,[],{},[]), + md_el(:head_cell,["1"],{},[]), + md_el(:head_cell,["2"],{},[]), + md_el(:cell,["A"],{},[]), + md_el(:cell,["X"],{},[]), + md_el(:cell,[],{},[]), + md_el(:cell,["B"],{},[]), + md_el(:cell,[],{},[]), + md_el(:cell,["X"],{},[]) + ],{:align=>[:left, :left, :left]},[]) +],{},[]) +*** Output of to_html *** + +
12
AX +
BX
+*** Output of to_latex *** +\begin{tabular}{l|l|l} +&1&2\\ +\hline +A&X&\\ +B&&X\\ +\end{tabular} +*** Output of to_md *** +12AXBX +*** Output of to_s *** +12AXBX +*** EOF *** + + + + OK! + + + +*** Output of Markdown.pl *** +

| | 1 | 2 | +|----|----|----| +| A | X | | +| B | | X |

+ +*** Output of Markdown.pl (parsed) *** +
+

+ | | 1 | 2 | |----|----|----| | A | X | | | B | | X | +

+
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/pending/link.html b/vendor/plugins/maruku/tests/unittest/pending/link.html new file mode 100644 index 00000000..93d6a9e4 --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/pending/link.html @@ -0,0 +1,25 @@ + + + + + +

http://www.aa.com

+ +

http://www.bb.com

+ +

http://www.cc.com

+ +

http://www.dd.com

+ +
<http://www.dd.com>
+ +

a@invalid.it

+ +

a@invalid.it

+ +

a@invalid.it

+ +
<a@invalid.it>
+ \ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/pending/link.md b/vendor/plugins/maruku/tests/unittest/pending/link.md new file mode 100644 index 00000000..5f6271a6 --- /dev/null +++ b/vendor/plugins/maruku/tests/unittest/pending/link.md @@ -0,0 +1,149 @@ +Write a comment here +*** Parameters: *** +{} # params +*** Markdown input: *** + + + + + + + + + + + + + + + + + +*** Output of inspect *** +md_el(:document,[ + md_par([md_url("http://www.aa.com")]), + md_par([md_url("http://www.bb.com")]), + md_par([md_url("http://www.cc.com")]), + md_par([md_url("http://www.dd.com")]), + md_el(:code,[],{:raw_code=>""},[]), + md_par([md_email("a@invalid.it")]), + md_par([md_email("a@invalid.it")]), + md_par([md_email("a@invalid.it")]), + md_el(:code,[],{:raw_code=>""},[]) +],{},[]) +*** Output of to_html *** +

http://www.aa.com

+ +

http://www.bb.com

+ +

http://www.cc.com

+ +

http://www.dd.com

+ +
<http://www.dd.com>
+ +

a@invalid.it

+ +

a@invalid.it

+ +

a@invalid.it

+ +
<a@invalid.it>
+*** Output of to_latex *** +\href{http://www.aa.com}{http\char58\char47\char47www\char46aa\char46com} + +\href{http://www.bb.com}{http\char58\char47\char47www\char46bb\char46com} + +\href{http://www.cc.com}{http\char58\char47\char47www\char46cc\char46com} + +\href{http://www.dd.com}{http\char58\char47\char47www\char46dd\char46com} + +\begin{verbatim}\end{verbatim} +\href{mailto:a@invalid.it}{a\char64invalid\char46it} + +\href{mailto:a@invalid.it}{a\char64invalid\char46it} + +\href{mailto:a@invalid.it}{a\char64invalid\char46it} + +\begin{verbatim}\end{verbatim} +*** Output of to_md *** + +*** Output of to_s *** + +*** EOF *** + + + + OK! + + + +*** Output of Markdown.pl *** +

http://www.aa.com

+ +

http://www.bb.com

+ +

http://www.cc.com

+ +

http://www.dd.com

+ +
<http://www.dd.com>
+
+ +

a@invalid.it

+ +

a@invalid.it

+ +

a@invalid.it

+ +
<a@invalid.it>
+
+ +*** Output of Markdown.pl (parsed) *** + \ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/smartypants.md b/vendor/plugins/maruku/tests/unittest/smartypants.md index b6e92c7d..c9ff3f47 100644 --- a/vendor/plugins/maruku/tests/unittest/smartypants.md +++ b/vendor/plugins/maruku/tests/unittest/smartypants.md @@ -149,9 +149,9 @@ Line: Position: Last 80 unconsumed characters:
She was 6\"12\'. 

She was 6\"12\'. -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:320:in `pull' -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:21:in `parse' -/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:204:in `build' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse' +/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:205:in `build' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:42:in `initialize' bin/marutest:200:in `new' bin/marutest:200:in `run_test' diff --git a/vendor/plugins/maruku/tests/unittest/xml.html b/vendor/plugins/maruku/tests/unittest/xml.html index 6602ea36..cb3459ff 100644 --- a/vendor/plugins/maruku/tests/unittest/xml.html +++ b/vendor/plugins/maruku/tests/unittest/xml.html @@ -4,4 +4,12 @@ "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> - \ No newline at end of file +

HTML parse error: 
+<svg:svg/>
HTML parse error: 
+<svg:svg 
+width="600px" height="400px">
+  <svg:g id="group">
+	<svg:circle id="circ1" r="1cm" cx="3cm" cy="3cm" style="fill:red;"></svg:circle>
+	<svg:circle id="circ2" r="1cm" cx="7cm" cy="3cm" style="fill:red;" />
+  </svg:g>
+</svg:svg>
\ No newline at end of file diff --git a/vendor/plugins/maruku/tests/unittest/xml.md b/vendor/plugins/maruku/tests/unittest/xml.md index 598df0a8..4341a741 100644 --- a/vendor/plugins/maruku/tests/unittest/xml.md +++ b/vendor/plugins/maruku/tests/unittest/xml.md @@ -35,9 +35,30 @@ md_el(:document,[ - OK! +Failed tests: [:to_html] +*** Output of inspect *** +md_el(:document,[ + md_html(""), + md_html("\n \n\t\n\t\n \n") +],{},[]) +*** Output of to_html *** +-----| WARNING | ----- +
HTML parse error: 
+<svg:svg/>
HTML parse error: 
+<svg:svg 
+width="600px" height="400px">
+  <svg:g id="group">
+	<svg:circle id="circ1" r="1cm" cx="3cm" cy="3cm" style="fill:red;"></svg:circle>
+	<svg:circle id="circ2" r="1cm" cx="7cm" cy="3cm" style="fill:red;" />
+  </svg:g>
+</svg:svg>
+*** Output of to_latex *** + +*** Output of to_md *** + +*** Output of to_s *** *** Output of Markdown.pl ***

@@ -51,16 +72,4 @@ width="600px" height="400px">

*** Output of Markdown.pl (parsed) *** -
-

- -

-

- - - - - - -

-
\ No newline at end of file +Error: #