wikicloth 0.8.1 → 0.8.3

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.
data/.travis.yml CHANGED
@@ -1,3 +1,4 @@
1
1
  rvm:
2
- - 1.8.7 # (current default)
3
2
  - 1.9.3
3
+ - 2.0.0
4
+ - 2.1.0
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source :rubygems
1
+ source "https://rubygems.org"
2
2
  gemspec
data/Rakefile CHANGED
@@ -11,20 +11,11 @@ Rake::TestTask.new(:test) do |test|
11
11
  test.verbose = true
12
12
  end
13
13
 
14
- if RUBY_VERSION =~ /^1\.9/
15
- require 'simplecov'
16
- desc "Code coverage detail"
17
- task :simplecov do
18
- ENV['COVERAGE'] = "true"
19
- Rake::Task['spec'].execute
20
- end
21
- else
22
- require 'rcov/rcovtask'
23
- Rcov::RcovTask.new do |test|
24
- test.libs << 'test'
25
- test.pattern = 'test/**/test_*.rb'
26
- test.verbose = true
27
- end
14
+ require 'simplecov'
15
+ desc "Code coverage detail"
16
+ task :simplecov do
17
+ ENV['COVERAGE'] = "true"
18
+ Rake::Task['spec'].execute
28
19
  end
29
20
 
30
21
  task :default => :test
@@ -1,31 +1,13 @@
1
- require 'rinku'
2
-
3
- if RUBY_VERSION < '1.9'
4
- READ_MODE = "r"
5
- class Object
6
- module InstanceExecHelper; end
7
- include InstanceExecHelper
8
- def instance_exec(*args, &block)
9
- begin
10
- old_critical, Thread.critical = Thread.critical, true
11
- n = 0
12
- n += 1 while respond_to?(mname="__instance_exec#{n}")
13
- InstanceExecHelper.module_eval{ define_method(mname, &block) }
14
- ensure
15
- Thread.critical = old_critical
16
- end
17
- begin
18
- ret = send(mname, *args)
19
- ensure
20
- InstanceExecHelper.module_eval{ remove_method(mname) } rescue nil
21
- end
22
- ret
23
- end
24
- end
25
- else
26
- READ_MODE = "r:UTF-8"
1
+ begin
2
+ require 'rinku'
3
+ rescue LoadError
4
+ require 'twitter-text'
5
+ require 'nokogiri'
6
+ require 'htmlentities'
27
7
  end
28
8
 
9
+ READ_MODE = "r:UTF-8"
10
+
29
11
  module Math
30
12
  def self.eval(expression)
31
13
  allowed_characters = Regexp.escape('+-*/.() ')
@@ -48,8 +30,20 @@ module ExtendedString
48
30
  self.gsub(/\W+/, '-').gsub(/^-+/,'').gsub(/-+$/,'').downcase
49
31
  end
50
32
 
51
- def auto_link
52
- Rinku.auto_link(to_s)
33
+ if defined? Rinku
34
+ def auto_link
35
+ Rinku.auto_link(to_s)
36
+ end
37
+ else
38
+ def auto_link
39
+ doc = Nokogiri::HTML::DocumentFragment.parse(to_s)
40
+ doc.xpath(".//text()").each do |node|
41
+ autolink = Twitter::Autolink.auto_link_urls(node.to_s, :suppress_no_follow => true, :target_blank => false)
42
+ autolink = HTMLEntities.new.decode(autolink) if node.parent.name == "pre"
43
+ node.replace autolink
44
+ end
45
+ doc.to_s
46
+ end
53
47
  end
54
48
 
55
49
  def last(n)
@@ -1,3 +1,3 @@
1
1
  module WikiCloth
2
- VERSION = "0.8.1" unless defined?(::WikiCloth::VERSION)
2
+ VERSION = "0.8.3" unless defined?(::WikiCloth::VERSION)
3
3
  end
@@ -175,7 +175,7 @@ class WikiBuffer::Var < WikiBuffer
175
175
  when "ucfirst"
176
176
  params.first.capitalize
177
177
  when "lcfirst"
178
- params.first[0,1].downcase + params.first[1..-1]
178
+ params.first[0,1].downcase + params.first[1..-1].to_s
179
179
  when "anchorencode"
180
180
  params.first.gsub(/\s+/,'_')
181
181
  when "plural"
@@ -218,6 +218,8 @@ class WikiBuffer
218
218
  (@paragraph_open ? "</p>" : "") + gen_heading($1.length,$2)
219
219
  }
220
220
 
221
+ self.data = self.data.auto_link
222
+
221
223
  # Paragraphs
222
224
  if is_heading
223
225
  @paragraph_open = false
@@ -232,7 +234,7 @@ class WikiBuffer
232
234
  end
233
235
  end
234
236
 
235
- self.params << self.data.auto_link
237
+ self.params << self.data
236
238
  self.data = ""
237
239
  else
238
240
  self.data << current_char
data/lib/wikicloth.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'rubygems' if RUBY_VERSION < '1.9'
2
- require 'jcode' if RUBY_VERSION < '1.9'
3
1
  require 'builder'
4
2
  # if i18n gem loaded use it instead
5
3
  require File.join(File.expand_path(File.dirname(__FILE__)), "wikicloth", "i18n") unless defined?(I18n)
@@ -60,43 +58,45 @@ module WikiCloth
60
58
  end
61
59
 
62
60
  def render(opt={})
63
- self.options = { :noedit => false, :locale => I18n.default_locale, :fast => true, :output => :html, :link_handler => self.link_handler,
61
+ self.options = { :noedit => false, :fast => true, :output => :html, :link_handler => self.link_handler,
64
62
  :params => self.params, :sections => self.sections }.merge(self.options).merge(opt)
65
63
  self.options[:link_handler].params = options[:params]
66
64
 
67
- I18n.locale = self.options[:locale]
68
-
69
- data = self.sections.collect { |s| s.render(self.options) }.join
70
- data.gsub!(/<!--(.|\s)*?-->/,"")
71
- data << "\n" if data.last(1) != "\n"
72
- data << "garbage"
73
-
74
- buffer = WikiBuffer.new("",options)
75
-
76
- begin
77
- if self.options[:fast]
78
- until data.empty?
79
- case data
80
- when /\A\w+/
81
- data = $'
82
- @current_row += $&.length
83
- buffer.add_word($&)
84
- when /\A[^\w]+(\w|)/m
85
- data = $'
86
- $&.each_char { |c| add_current_char(buffer,c) }
65
+ locale = self.options[:locale] || I18n.locale
66
+
67
+ I18n.with_locale(locale) do
68
+ data = self.sections.collect { |s| s.render(self.options) }.join
69
+ data.gsub!(/<!--(.|\s)*?-->/,"")
70
+ data << "\n" if data.last(1) != "\n"
71
+ data << "garbage"
72
+
73
+ buffer = WikiBuffer.new("",options)
74
+
75
+ begin
76
+ if self.options[:fast]
77
+ until data.empty?
78
+ case data
79
+ when /\A\w+/
80
+ data = $'
81
+ @current_row += $&.length
82
+ buffer.add_word($&)
83
+ when /\A[^\w]+(\w|)/m
84
+ data = $'
85
+ $&.each_char { |c| add_current_char(buffer,c) }
86
+ end
87
87
  end
88
+ else
89
+ data.each_char { |c| add_current_char(buffer,c) }
88
90
  end
89
- else
90
- data.each_char { |c| add_current_char(buffer,c) }
91
+ rescue => err
92
+ debug_tree = buffer.buffers.collect { |b| b.debug }.join("-->")
93
+ puts I18n.t("unknown error on line", :line => @current_line, :row => @current_row, :tree => debug_tree)
94
+ raise err
91
95
  end
92
- rescue => err
93
- debug_tree = buffer.buffers.collect { |b| b.debug }.join("-->")
94
- puts I18n.t("unknown error on line", :line => @current_line, :row => @current_row, :tree => debug_tree)
95
- raise err
96
- end
97
96
 
98
- buffer.eof()
99
- buffer.send("to_#{self.options[:output]}")
97
+ buffer.eof()
98
+ buffer.send("to_#{self.options[:output]}")
99
+ end
100
100
  end
101
101
 
102
102
  def sections
data/test/test_helper.rb CHANGED
@@ -1,8 +1,5 @@
1
-
2
1
  require 'rubygems'
3
- gem "test-unit", ">= 2.0.5"
4
- require 'active_support'
5
- require 'active_support/test_case'
6
2
  require 'test/unit'
3
+ require 'active_support'
7
4
  I18n.load_path << File.join(File.dirname(__FILE__),'locales.yml')
8
5
  require File.join(File.dirname(__FILE__),'../init')
@@ -37,7 +37,7 @@ class WikiParser < WikiCloth::Parser
37
37
  end
38
38
  end
39
39
 
40
- class WikiClothTest < ActiveSupport::TestCase
40
+ class WikiClothTest < Test::Unit::TestCase
41
41
 
42
42
  test "a url should be automaticly linked" do
43
43
  wiki = WikiCloth::Parser.new(:data => "\n\n\nhttp://www.google.com/")
@@ -51,10 +51,16 @@ class WikiClothTest < ActiveSupport::TestCase
51
51
  assert data.include?('<a href="http://www.google.com/">')
52
52
  wiki = WikiCloth::Parser.new(:data => "[https://github.com/repo/README.md README]")
53
53
  data = wiki.to_html
54
- assert data.include?('https://github.com/repo/README.md')
54
+ assert_equal data, "\n<p><a href=\"https://github.com/repo/README.md\" target=\"_blank\">README</a></p>"
55
55
  assert data =~ /\>\s*README\s*\</
56
56
  end
57
57
 
58
+ test "autolinking keeps html entities intact" do
59
+ wiki = WikiCloth::Parser.new(:data => "<div>&amp; &gt;</div><pre>&amp; &lt;</pre> https://github.com/repo/README.md &gt; &amp;")
60
+ data = wiki.to_html
61
+ assert_equal "\n<p><div>&amp; &gt;</div><pre>&amp; &lt;</pre> <a href=\"https://github.com/repo/README.md\">https://github.com/repo/README.md</a> &gt; &amp;</p>", data
62
+ end
63
+
58
64
  test "image url override" do
59
65
  wiki = WikiCloth::Parser.new(:data => "[[Image:test.jpg]]")
60
66
  data = wiki.to_html
@@ -279,7 +285,7 @@ class WikiClothTest < ActiveSupport::TestCase
279
285
  test "template vars should not be parsed inside a pre tag" do
280
286
  wiki = WikiCloth::Parser.new(:data => "<pre>{{{1}}}</pre>")
281
287
  data = wiki.to_html
282
- assert data =~ /&#123;&#123;&#123;1&#125;&#125;&#125;/
288
+ assert data =~ /\{\{\{1\}\}\}/
283
289
  end
284
290
 
285
291
  test "[[ links ]] should not work inside pre tags" do
@@ -391,7 +397,7 @@ EOS
391
397
  end
392
398
 
393
399
  test "sanitize html" do
394
- wiki = WikiParser.new(:data => "<script type=\"text/javascript\" src=\"bla.js\"></script>\n<a href=\"test.html\" onmouseover=\"alert('hello world');\">test</a>\n")
400
+ wiki = WikiParser.new(:data => "<pre>&lt;test</pre><script type=\"text/javascript\" src=\"bla.js\"></script>\n<a href=\"test.html\" onmouseover=\"alert('hello world');\">test</a>\n")
395
401
  data = wiki.to_html
396
402
  assert !(data =~ /<script/)
397
403
  assert !(data =~ /onmouseover/)
@@ -440,7 +446,7 @@ EOS
440
446
  test "empty item in toc" do
441
447
  wiki = WikiCloth::WikiCloth.new({:data => "__TOC__\n=A="})
442
448
  data = wiki.render
443
- assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div id=\"toctitle\"><h2>Table of Contents</h2></div><ul></li><li><a href=\"#A\">A</a></li></ul></td></tr></table>")
449
+ assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td>\n<div id=\"toctitle\"><h2>Table of Contents</h2></div>\n<ul><li><a href=\"#A\">A</a></li></ul>\n</td></tr></table>")
444
450
  end
445
451
 
446
452
  test "pre at beginning" do
@@ -452,12 +458,12 @@ EOS
452
458
  test "toc declared as list" do
453
459
  wiki = WikiCloth::WikiCloth.new({:data => "__TOC__\n=A=\n==B==\n===C==="})
454
460
  data = wiki.render
455
- assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div id=\"toctitle\"><h2>Table of Contents</h2></div><ul></li><li><a href=\"#A\">A</a><ul><li><a href=\"#B\">B</a><ul><li><a href=\"#C\">C</a></li></ul></ul></ul></td></tr></table>")
461
+ assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td>\n<div id=\"toctitle\"><h2>Table of Contents</h2></div>\n<ul><li>\n<a href=\"#A\">A</a><ul><li>\n<a href=\"#B\">B</a><ul><li><a href=\"#C\">C</a></li></ul>\n</li></ul>\n</li></ul>\n</td></tr></table>")
456
462
  end
457
463
 
458
464
  test "toc numbered" do
459
465
  wiki = WikiCloth::WikiCloth.new({:data => "=A=\n=B=\n==C==\n==D==\n===E===\n===F===\n====G====\n====H====\n==I==\n=J=\n=K=\n===L===\n===M===\n====N====\n====O===="})
460
466
  data = wiki.render(:noedit => true, :toc_numbered => true)
461
- assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div id=\"toctitle\"><h2>Table of Contents</h2></div><ul></li><li><a href=\"#A\">1 A</a></li><li><a href=\"#B\">2 B</a><ul><li><a href=\"#C\">2.1 C</a></li><li><a href=\"#D\">2.2 D</a><ul><li><a href=\"#E\">2.2.1 E</a></li><li><a href=\"#F\">2.2.2 F</a><ul><li><a href=\"#G\">2.2.2.1 G</a></li><li><a href=\"#H\">2.2.2.2 H</a></li></ul></ul><li><a href=\"#I\">2.3 I</a></li></ul><li><a href=\"#J\">3 J</a></li><li><a href=\"#K\">4 K</a><ul><ul><li><a href=\"#L\">4.1 L</a></li><li><a href=\"#M\">4.2 M</a><ul><li><a href=\"#N\">4.2.1 N</a></li><li><a href=\"#O\">4.2.2 O</a></li></ul></ul></ul></ul></td></tr></table>")
467
+ assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td>\n<div id=\"toctitle\"><h2>Table of Contents</h2></div>\n<ul>\n<li><a href=\"#A\">1 A</a></li>\n<li>\n<a href=\"#B\">2 B</a><ul>\n<li><a href=\"#C\">2.1 C</a></li>\n<li>\n<a href=\"#D\">2.2 D</a><ul>\n<li><a href=\"#E\">2.2.1 E</a></li>\n<li>\n<a href=\"#F\">2.2.2 F</a><ul>\n<li><a href=\"#G\">2.2.2.1 G</a></li>\n<li><a href=\"#H\">2.2.2.2 H</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"#I\">2.3 I</a></li>\n</ul>\n</li>\n<li><a href=\"#J\">3 J</a></li>\n<li>\n<a href=\"#K\">4 K</a><ul><ul>\n<li><a href=\"#L\">4.1 L</a></li>\n<li>\n<a href=\"#M\">4.2 M</a><ul>\n<li><a href=\"#N\">4.2.1 N</a></li>\n<li><a href=\"#O\">4.2.2 O</a></li>\n</ul>\n</li>\n</ul></ul>\n</li>\n</ul>\n</td></tr></table>")
462
468
  end
463
469
  end
data/wikicloth.gemspec CHANGED
@@ -22,11 +22,13 @@ spec = Gem::Specification.new do |s|
22
22
  s.license = "MIT"
23
23
  s.add_dependency 'builder'
24
24
  s.add_dependency 'expression_parser'
25
- s.add_dependency 'rinku'
25
+ s.add_dependency 'twitter-text'
26
+ s.add_dependency 'nokogiri'
27
+ s.add_dependency 'htmlentities'
26
28
  s.add_development_dependency 'test-unit'
27
29
  s.add_development_dependency 'activesupport'
28
30
  s.add_development_dependency 'i18n'
29
31
  s.add_development_dependency 'rake'
30
32
  s.add_development_dependency 'rdoc'
31
- s.add_development_dependency(RUBY_VERSION =~ /^1\.9/ ? "simplecov" : "rcov")
33
+ s.add_development_dependency 'simplecov'
32
34
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wikicloth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-07 00:00:00.000000000 Z
12
+ date: 2015-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &21800440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *21800440
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: expression_parser
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &21800020 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,21 @@ dependencies:
37
32
  version: '0'
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
35
+ version_requirements: *21800020
36
+ - !ruby/object:Gem::Dependency
37
+ name: twitter-text
38
+ requirement: &21799600 !ruby/object:Gem::Requirement
41
39
  none: false
42
40
  requirements:
43
41
  - - ! '>='
44
42
  - !ruby/object:Gem::Version
45
43
  version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *21799600
46
47
  - !ruby/object:Gem::Dependency
47
- name: rinku
48
- requirement: !ruby/object:Gem::Requirement
48
+ name: nokogiri
49
+ requirement: &21799180 !ruby/object:Gem::Requirement
49
50
  none: false
50
51
  requirements:
51
52
  - - ! '>='
@@ -53,15 +54,21 @@ dependencies:
53
54
  version: '0'
54
55
  type: :runtime
55
56
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
+ version_requirements: *21799180
58
+ - !ruby/object:Gem::Dependency
59
+ name: htmlentities
60
+ requirement: &21798760 !ruby/object:Gem::Requirement
57
61
  none: false
58
62
  requirements:
59
63
  - - ! '>='
60
64
  - !ruby/object:Gem::Version
61
65
  version: '0'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *21798760
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: test-unit
64
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &21798340 !ruby/object:Gem::Requirement
65
72
  none: false
66
73
  requirements:
67
74
  - - ! '>='
@@ -69,15 +76,10 @@ dependencies:
69
76
  version: '0'
70
77
  type: :development
71
78
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
79
+ version_requirements: *21798340
78
80
  - !ruby/object:Gem::Dependency
79
81
  name: activesupport
80
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &21797920 !ruby/object:Gem::Requirement
81
83
  none: false
82
84
  requirements:
83
85
  - - ! '>='
@@ -85,15 +87,10 @@ dependencies:
85
87
  version: '0'
86
88
  type: :development
87
89
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
90
+ version_requirements: *21797920
94
91
  - !ruby/object:Gem::Dependency
95
92
  name: i18n
96
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &21835860 !ruby/object:Gem::Requirement
97
94
  none: false
98
95
  requirements:
99
96
  - - ! '>='
@@ -101,15 +98,10 @@ dependencies:
101
98
  version: '0'
102
99
  type: :development
103
100
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
101
+ version_requirements: *21835860
110
102
  - !ruby/object:Gem::Dependency
111
103
  name: rake
112
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &21835440 !ruby/object:Gem::Requirement
113
105
  none: false
114
106
  requirements:
115
107
  - - ! '>='
@@ -117,15 +109,10 @@ dependencies:
117
109
  version: '0'
118
110
  type: :development
119
111
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
112
+ version_requirements: *21835440
126
113
  - !ruby/object:Gem::Dependency
127
114
  name: rdoc
128
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &21835020 !ruby/object:Gem::Requirement
129
116
  none: false
130
117
  requirements:
131
118
  - - ! '>='
@@ -133,15 +120,10 @@ dependencies:
133
120
  version: '0'
134
121
  type: :development
135
122
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
123
+ version_requirements: *21835020
142
124
  - !ruby/object:Gem::Dependency
143
125
  name: simplecov
144
- requirement: !ruby/object:Gem::Requirement
126
+ requirement: &21834600 !ruby/object:Gem::Requirement
145
127
  none: false
146
128
  requirements:
147
129
  - - ! '>='
@@ -149,12 +131,7 @@ dependencies:
149
131
  version: '0'
150
132
  type: :development
151
133
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
134
+ version_requirements: *21834600
158
135
  description: mediawiki parser
159
136
  email: nricciar@gmail.com
160
137
  executables: []
@@ -230,21 +207,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
230
207
  - - ! '>='
231
208
  - !ruby/object:Gem::Version
232
209
  version: '0'
233
- segments:
234
- - 0
235
- hash: -2603482441025638053
236
210
  required_rubygems_version: !ruby/object:Gem::Requirement
237
211
  none: false
238
212
  requirements:
239
213
  - - ! '>='
240
214
  - !ruby/object:Gem::Version
241
215
  version: '0'
242
- segments:
243
- - 0
244
- hash: -2603482441025638053
245
216
  requirements: []
246
217
  rubyforge_project:
247
- rubygems_version: 1.8.25
218
+ rubygems_version: 1.8.11
248
219
  signing_key:
249
220
  specification_version: 3
250
221
  summary: An implementation of the mediawiki markup in ruby