maruku 0.2.9 → 0.2.10

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.
@@ -47,14 +47,16 @@ class Maruku
47
47
  # search for ``code`` markers
48
48
  span.match_couple_of('``') { |children, match1, match2|
49
49
  e = create_md_element(:inline_code)
50
- e.meta[:raw_code] = children.join('') # this is now opaque to processing
50
+ # this is now opaque to processing
51
+ e.meta[:raw_code] = children.join('').it_was_a_code_block
51
52
  e
52
53
  }
53
54
 
54
55
  # Search for `single tick` code markers
55
56
  span.match_couple_of('`') { |children, match1, match2|
56
57
  e = create_md_element(:inline_code)
57
- e.meta[:raw_code] = children.join('').unescape_md_special
58
+ # this is now opaque to processing
59
+ e.meta[:raw_code] = children.join('').it_was_a_code_block
58
60
  # this is now opaque to processing
59
61
  e
60
62
  }
@@ -167,11 +169,13 @@ class Maruku
167
169
  " # closing
168
170
  }x
169
171
 
170
- # (http://www.google.com "Google.com"), (http://www.google.com),
172
+ # [bah](http://www.google.com "Google.com"),
173
+ # [bah](http://www.google.com),
174
+ # [empty]()
171
175
  reg_url_and_title = %r{
172
176
  \( # opening
173
177
  \s* # whitespace
174
- #{reg_url} # url = 1
178
+ #{reg_url}? # url = 1 might be empty
175
179
  (?:\s+["'](.*)["'])? # optional title = 2
176
180
  \s* # whitespace
177
181
  \) # closing
@@ -234,6 +238,7 @@ class Maruku
234
238
  }
235
239
 
236
240
  # Detect any link with immediate url: [Google](http://www.google.com)
241
+ # XXX Note that the url can be empty: [Empty]()
237
242
  # a dummy ref is created and put in the symbol table
238
243
  span.match_couple_of('[', # opening bracket
239
244
  %r{\] # closing bracket
@@ -265,6 +270,13 @@ class Maruku
265
270
 
266
271
 
267
272
  # And now the easy stuff
273
+
274
+ # search for ***strong and em***
275
+ span.match_couple_of('***') { |children,m1,m2|
276
+ create_md_element(:strong, [create_md_element(:emphasis, children)] ) }
277
+
278
+ span.match_couple_of('___') { |children,m1,m2|
279
+ create_md_element(:strong, [create_md_element(:emphasis, children)] ) }
268
280
 
269
281
  # search for **strong**
270
282
  span.match_couple_of('**') { |children,m1,m2| create_md_element(:strong, children) }
@@ -193,7 +193,7 @@ class Maruku
193
193
  # line that were mistaken for raw_html
194
194
  return :text if l=~EMailAddress or l=~ URL
195
195
  return :raw_html if l =~ %r{^[ ]?[ ]?[ ]?</?\s*\w+}
196
- return :ulist if l =~ /^\s?(\*|-)\s+.*\w+/
196
+ return :ulist if l =~ /^\s?([\*-\+])\s+.*\w+/
197
197
  return :olist if l =~ /^\s?\d\..*\w+/
198
198
  return :empty if l.strip.size == 0
199
199
  return :header1 if l =~ /^(=)+/
@@ -274,16 +274,16 @@ class Maruku
274
274
  end
275
275
 
276
276
  class String
277
- S = 240
277
+ S = 230
278
278
  MarkdownEscaped =
279
- [["\\",S+0],
279
+ [["\\",S+0],
280
280
  ['`',S+1],
281
281
  ['*',S+2],
282
282
  ['_',S+3],['{',S+4],['}',S+5],['[',S+6],[']',S+7],
283
283
  ['(',S+8],[')',S+9],['#',S+10],['.',S+11],
284
284
  ['!',S+12],
285
285
  # PHP Markdown extra
286
- ['|',S+13],[':',S+14]]
286
+ ['|',S+13],[':',S+14], ["+",S+15], ["-",S+16], [">",S+17]]
287
287
 
288
288
  MarkdownAdd = 200
289
289
 
@@ -314,6 +314,23 @@ class String
314
314
  end
315
315
  self
316
316
  end
317
+
318
+ def it_was_a_code_block
319
+ s = ""; tmp =" "
320
+ each_byte do |b|
321
+ tmp[0] = b
322
+ found = false
323
+ for e in MarkdownEscaped
324
+ if b == e[1]
325
+ s << '\\'
326
+ s << e[0]
327
+ found = true
328
+ end
329
+ end
330
+ s << tmp if not found
331
+ end
332
+ s
333
+ end
317
334
 
318
335
  def unescape_md_special; dup.unescape_md_special! end
319
336
  def escape_md_special; dup. escape_md_special! end
@@ -17,7 +17,7 @@
17
17
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
18
 
19
19
  class Maruku
20
- Version = '0.2.9'
20
+ Version = '0.2.10'
21
21
 
22
22
  MarukuURL = 'http://maruku.rubyforge.org/'
23
23
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: maruku
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.2.9
7
- date: 2006-12-27 00:00:00 +01:00
6
+ version: 0.2.10
7
+ date: 2006-12-28 00:00:00 +01:00
8
8
  summary: A Markdown interpreter in Ruby
9
9
  require_paths:
10
10
  - lib