kramdown 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of kramdown might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MTMyMzYyMTE4OTYwNDRjYzdkMDZjN2M3NWY2MTE4ZmMwYjE4Mzc2OQ==
4
+ MTBhZjcwZjY5ODk0ZGY5YjBmMmNiOTQ3NzdlMzBkNTIxYTc0YWY2ZA==
5
5
  data.tar.gz: !binary |-
6
- ODQyZDZkMjc5ZjNlNTA1MjcxZjFmZTgzZTMyOTRhMmVmYzE1NjFkYw==
6
+ NGE3NGIyYmMzMTlkZjEzMmY2MWQ2ZTJhMzA5MmNjZmM4Yjc0MTU4NQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZGE2YTZlNzUwMjE3ZTAyOGU1MGYwOWRlMjU5NmQ0NTJkNDc0Mjg3NGE3MjBh
10
- MzkxMDIzNzU4MjE0ZTZlMjJjMWNiYWFkY2M3NmMxNjYyMzQwMmNiMTQ0YmE0
11
- MDUwNDI3MGIzYWNjNGZlOGE4MzBhMDIxN2NiZWFjMmJjM2Q5Zjg=
9
+ OWYyMzFlOTY3N2NiY2NlYzAzODdlYWY4ZjBlMWNkZjQxN2EzNzE1ODZmMmIy
10
+ Mzc1NGI2ZDMwYzFlZmRjNWJmMGIwZmI4OGZlZjUyZTdkOWQyMTg3YjFjYzU2
11
+ NjI2ZmVhZDIzNzU0NzM3ODFkNGNkZmVlYTA5NWVkNDQyOWYyZmU=
12
12
  data.tar.gz: !binary |-
13
- MDFkOGYxZjg5NjRmM2JlMTEzZDQ4ZTgxYmU3N2M4Y2Y1MGM5MDVkMGMwM2Y4
14
- YzRmYWQ2YzFlZjMxNzIxYmY4ZGE5YzJiZTc0N2M4YzI5MGIxOGM4NGMxMjZk
15
- OTVhMDRlN2YzMWNlOGUxMGE3MjE5Y2Q1Y2FiMzdlMTMzZGE2M2Y=
13
+ MzAzYjQ4NDA1NjNhMDg0YWQ3MGFkZTVkNTc2ZTViYTA0MWIwNGMzZjRlOWU4
14
+ Mjk4NGFlNWJjZjAxMWZhMzhlOGI5YzJhZDhhYWMzMDVjYzA1YjE4ODY0Y2E0
15
+ NDg3Yjg5N2I1OGZmMWMwNDdhMTlkNWM4OTZhOWU1MzBlZGE0ODg=
@@ -1,6 +1,6 @@
1
1
  Count Name
2
2
  ======= ====
3
- 576 Thomas Leitner <t_leitner@gmx.at>
3
+ 584 Thomas Leitner <t_leitner@gmx.at>
4
4
  6 Gioele Barabucci <gioele@svario.it>
5
5
  3 gettalong <t_leitner@gmx.at>
6
6
  3 Ben Armston <ben.armston@googlemail.com>
@@ -11,7 +11,9 @@
11
11
  1 Postmodern <postmodern.mod3@gmail.com>
12
12
  1 myqlarson <myqlarson@gmail.com>
13
13
  1 Michal Till <michal.till@gmail.com>
14
+ 1 Marcus Stollsteimer <sto.mar@web.de>
14
15
  1 John Croisant <jacius@gmail.com>
15
16
  1 Joe Fiorini <joe@faithfulgeek.org>
17
+ 1 Henning Perl <perl@fast-sicher.de>
16
18
  1 Damien Pollet <damien.pollet@gmail.com>
17
19
  1 Alex Tomlins <alex.tomlins@digital.cabinet-office.gov.uk>
data/README.md CHANGED
@@ -46,6 +46,9 @@ For detailed information have a look at the API documentation of the `Kramdown::
46
46
  The full API documentation is available at <http://kramdown.rubyforge.org/rdoc/>, other sites with an
47
47
  API documentation for kramdown probably don't provide the complete documentation!
48
48
 
49
+ There are also some third-party libraries that extend the functionality of kramdown -- see the
50
+ kramdown Wiki at <https://github.com/gettalong/kramdown/wiki>.
51
+
49
52
 
50
53
  ## Development
51
54
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
@@ -25,7 +25,7 @@ FILES.each do |file|
25
25
  data = File.read(File.join(File.dirname(__FILE__), file))
26
26
  puts
27
27
  puts "Test using file #{file} and #{RUNS} runs"
28
- Benchmark.bmbm do |b|
28
+ results = Benchmark.bmbm do |b|
29
29
  b.report("kramdown #{Kramdown::VERSION}") { RUNS.times { Kramdown::Document.new(data).to_html } }
30
30
  b.report("Maruku #{MaRuKu::Version}") { RUNS.times { Maruku.new(data, :on_error => :ignore).to_html } }
31
31
  b.report("BlueFeather #{BlueFeather::VERSION}") { RUNS.times { BlueFeather.parse(data) } }
@@ -33,4 +33,11 @@ FILES.each do |file|
33
33
  b.report("RDiscount #{RDiscount::VERSION}") { RUNS.times { RDiscount.new(data).to_html } }
34
34
  b.report("redcarpet #{Redcarpet::VERSION}") { RUNS.times { Redcarpet::Markdown.new(Redcarpet::Render::HTML).render(data) } }
35
35
  end
36
+
37
+ puts
38
+ puts "Real time of X divided by real time of kramdown"
39
+ kd = results.shift.real
40
+ %w[Maruku BlueFeather BlueCloth RDiscount redcarpet].each do |name|
41
+ puts name.ljust(19) << (results.shift.real/kd).round(4).to_s
42
+ end
36
43
  end
@@ -1,7 +1,7 @@
1
1
  <h2>News</h2>
2
2
 
3
- <p>The latest version of kramdown is <span class="inline-important">1.0.1</span> and it was released
4
- on <span class="inline-important">2013-03-11</span></p>
3
+ <p>The latest version of kramdown is <span class="inline-important">1.0.2</span> and it was released
4
+ on <span class="inline-important">2013-05-09</span></p>
5
5
 
6
6
  <p>More <a href="{relocatable: news.html}">news</a>…</p>
7
7
 
@@ -33,47 +33,61 @@ kramdown comes with a small benchmark to test how fast it is in regard to four o
33
33
  implementations: Maruku, BlueFeather, BlueCloth, RDiscount and Redcarpet. The first two are written
34
34
  using only Ruby, the latter three are written in C and need to be compiled.
35
35
 
36
- As one can see below, kramdown is currently (January 2013) ~3-4x faster than Maruku, ~4-5x faster
36
+ As one can see below, kramdown is currently (May 2013) ~3-4x faster than Maruku, ~4-5x faster
37
37
  than BlueFeather but ~30x slower than BlueCloth and RDiscount and ~100x slower than Redcarpet:
38
38
 
39
39
  <pre><code>
40
- Running tests on 2013-01-13 under ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]
40
+ Running tests on 2013-05-08 under ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]
41
41
 
42
42
  Test using file mdsyntax.text and 20 runs
43
43
  Rehearsal ----------------------------------------------------
44
- kramdown 0.14.1 1.400000 0.010000 1.410000 ( 1.428902)
45
- Maruku 0.6.0 4.520000 0.030000 4.550000 ( 4.578439)
46
- BlueFeather 0.40 5.680000 0.020000 5.700000 ( 5.707717)
47
- BlueCloth 2.2.0 0.060000 0.000000 0.060000 ( 0.067857)
48
- RDiscount 1.6.8 0.030000 0.000000 0.030000 ( 0.027722)
49
- redcarpet 2.2.2 0.010000 0.000000 0.010000 ( 0.007642)
50
- ------------------------------------------ total: 11.760000sec
44
+ kramdown 1.0.1 1.010000 0.000000 1.010000 ( 1.014665)
45
+ Maruku 0.6.0 2.910000 0.020000 2.930000 ( 2.939359)
46
+ BlueFeather 0.40 3.890000 0.000000 3.890000 ( 3.903594)
47
+ BlueCloth 2.2.0 0.050000 0.000000 0.050000 ( 0.048246)
48
+ RDiscount 1.6.8 0.020000 0.000000 0.020000 ( 0.020237)
49
+ redcarpet 2.2.2 0.000000 0.000000 0.000000 ( 0.005038)
50
+ ------------------------------------------- total: 7.900000sec
51
51
 
52
52
  user system total real
53
- kramdown 0.14.1 1.270000 0.000000 1.270000 ( 1.273636)
54
- Maruku 0.6.0 4.400000 0.020000 4.420000 ( 4.434123)
55
- BlueFeather 0.40 5.610000 0.000000 5.610000 ( 5.631930)
56
- BlueCloth 2.2.0 0.070000 0.000000 0.070000 ( 0.069900)
57
- RDiscount 1.6.8 0.040000 0.000000 0.040000 ( 0.035793)
58
- redcarpet 2.2.2 0.010000 0.000000 0.010000 ( 0.007520)
53
+ kramdown 1.0.1 0.850000 0.000000 0.850000 ( 0.856454)
54
+ Maruku 0.6.0 2.820000 0.030000 2.850000 ( 2.856139)
55
+ BlueFeather 0.40 3.870000 0.000000 3.870000 ( 3.884309)
56
+ BlueCloth 2.2.0 0.040000 0.000000 0.040000 ( 0.044865)
57
+ RDiscount 1.6.8 0.020000 0.000000 0.020000 ( 0.022889)
58
+ redcarpet 2.2.2 0.010000 0.000000 0.010000 ( 0.005234)
59
+
60
+ Real time of X divided by real time of kramdown
61
+ Maruku 3.3348
62
+ BlueFeather 4.5353
63
+ BlueCloth 0.0524
64
+ RDiscount 0.0267
65
+ redcarpet 0.0061
59
66
 
60
67
  Test using file mdbasics.text and 20 runs
61
68
  Rehearsal ----------------------------------------------------
62
- kramdown 0.14.1 0.230000 0.000000 0.230000 ( 0.228075)
63
- Maruku 0.6.0 1.070000 0.000000 1.070000 ( 1.079782)
64
- BlueFeather 0.40 1.440000 0.000000 1.440000 ( 1.446999)
65
- BlueCloth 2.2.0 0.020000 0.000000 0.020000 ( 0.019677)
66
- RDiscount 1.6.8 0.010000 0.000000 0.010000 ( 0.008010)
67
- redcarpet 2.2.2 0.010000 0.000000 0.010000 ( 0.002431)
68
- ------------------------------------------- total: 2.780000sec
69
+ kramdown 1.0.1 0.150000 0.000000 0.150000 ( 0.154616)
70
+ Maruku 0.6.0 0.690000 0.000000 0.690000 ( 0.689874)
71
+ BlueFeather 0.40 1.000000 0.000000 1.000000 ( 1.003185)
72
+ BlueCloth 2.2.0 0.010000 0.000000 0.010000 ( 0.012767)
73
+ RDiscount 1.6.8 0.010000 0.000000 0.010000 ( 0.004747)
74
+ redcarpet 2.2.2 0.000000 0.000000 0.000000 ( 0.001594)
75
+ ------------------------------------------- total: 1.860000sec
69
76
 
70
77
  user system total real
71
- kramdown 0.14.1 0.230000 0.000000 0.230000 ( 0.227214)
72
- Maruku 0.6.0 1.070000 0.000000 1.070000 ( 1.070332)
73
- BlueFeather 0.40 1.430000 0.000000 1.430000 ( 1.434958)
74
- BlueCloth 2.2.0 0.020000 0.000000 0.020000 ( 0.021127)
75
- RDiscount 1.6.8 0.020000 0.000000 0.020000 ( 0.009714)
76
- redcarpet 2.2.2 0.000000 0.000000 0.000000 ( 0.002571)
78
+ kramdown 1.0.1 0.160000 0.000000 0.160000 ( 0.155369)
79
+ Maruku 0.6.0 0.670000 0.000000 0.670000 ( 0.673886)
80
+ BlueFeather 0.40 1.000000 0.000000 1.000000 ( 0.995874)
81
+ BlueCloth 2.2.0 0.020000 0.000000 0.020000 ( 0.013389)
82
+ RDiscount 1.6.8 0.010000 0.000000 0.010000 ( 0.006698)
83
+ redcarpet 2.2.2 0.000000 0.000000 0.000000 ( 0.001691)
84
+
85
+ Real time of X divided by real time of kramdown
86
+ Maruku 4.3373
87
+ BlueFeather 6.4097
88
+ BlueCloth 0.0862
89
+ RDiscount 0.0431
90
+ redcarpet 0.0109
77
91
  </code></pre>
78
92
 
79
93
  And here are some graphs which show the execution times of the various kramdown releases on
@@ -366,7 +366,7 @@ module Kramdown
366
366
  res << "\n\n" if @linkrefs.size > 0
367
367
  @linkrefs.each_with_index do |el, i|
368
368
  title = el.attr['title']
369
- res << "[#{i+1}]: #{el.attr['href']} #{title ? '"' + title.gsub(/"/, "&quot;") + '"' : ''}\n"
369
+ res << "[#{i+1}]: #{el.attr['href']}#{title ? ' "' + title.gsub(/"/, "&quot;") + '"' : ''}\n"
370
370
  end
371
371
  res
372
372
  end
@@ -404,7 +404,7 @@ module Kramdown
404
404
  402 => ['\textflorin', 'mathcomp'],
405
405
  381 => ['\v{Z}'],
406
406
  382 => ['\v{z}'],
407
- 160 => ['\nolinebreak'],
407
+ 160 => ['~'],
408
408
  161 => ['\textexclamdown'],
409
409
  163 => ['\pounds'],
410
410
  164 => ['\currency', 'wasysym'],
@@ -102,6 +102,7 @@ module Kramdown
102
102
  @options = Options.merge(options).freeze
103
103
  parser = (options[:input] || 'kramdown').to_s
104
104
  parser = parser[0..0].upcase + parser[1..-1]
105
+ try_require('parser', parser)
105
106
  if Parser.const_defined?(parser)
106
107
  @root, @warnings = Parser.const_get(parser).parse(source, @options)
107
108
  else
@@ -114,7 +115,8 @@ module Kramdown
114
115
  #
115
116
  # For example, +to_html+ would instantiate the Kramdown::Converter::Html class.
116
117
  def method_missing(id, *attr, &block)
117
- if id.to_s =~ /^to_(\w+)$/ && (name = Utils.camelize($1)) && Converter.const_defined?(name)
118
+ if id.to_s =~ /^to_(\w+)$/ && (name = Utils.camelize($1)) &&
119
+ try_require('converter', name) && Converter.const_defined?(name)
118
120
  output, warnings = Converter.const_get(name).convert(@root, @options)
119
121
  @warnings.concat(warnings)
120
122
  output
@@ -127,6 +129,15 @@ module Kramdown
127
129
  "<KD:Document: options=#{@options.inspect} root=#{@root.inspect} warnings=#{@warnings.inspect}>"
128
130
  end
129
131
 
132
+ # Try requiring a parser or converter class and don't raise an error if the file is not found.
133
+ def try_require(type, name)
134
+ require("kramdown/#{type}/#{Utils.snake_case(name)}")
135
+ true
136
+ rescue LoadError
137
+ true
138
+ end
139
+ protected :try_require
140
+
130
141
  end
131
142
 
132
143
  end
@@ -17,7 +17,7 @@ module Kramdown
17
17
  class Kramdown
18
18
 
19
19
  CODEBLOCK_START = INDENT
20
- CODEBLOCK_MATCH = /(?:#{BLANK_LINE}?(?:#{INDENT}[ \t]*\S.*\n)+(?:(?!#{BLANK_LINE} {0,3}\S|#{IAL_BLOCK_START}|#{EOB_MARKER}|^#{OPT_SPACE}#{LAZY_END_HTML_STOP}|^#{OPT_SPACE}#{LAZY_END_HTML_START})^[ \t]*\S.*\n)*)*/
20
+ CODEBLOCK_MATCH = /(?:#{BLANK_LINE}?(?:#{INDENT}[ \t]*\S.*\n)+(?:(?!#{IAL_BLOCK_START}|#{EOB_MARKER}|^#{OPT_SPACE}#{LAZY_END_HTML_STOP}|^#{OPT_SPACE}#{LAZY_END_HTML_START})^[ \t]*\S.*\n)*)*/
21
21
 
22
22
  # Parse the indented codeblock at the current location.
23
23
  def parse_codeblock
@@ -16,6 +16,7 @@ module Kramdown
16
16
  # Parse the string +str+ and extract all attributes and add all found attributes to the hash
17
17
  # +opts+.
18
18
  def parse_attribute_list(str, opts)
19
+ return if str.strip.empty?
19
20
  attrs = str.scan(ALD_TYPE_ANY)
20
21
  attrs.each do |key, sep, val, ref, id_and_or_class, _, _|
21
22
  if ref
@@ -25,6 +25,15 @@ module Kramdown
25
25
  name.split('_').inject('') {|s,x| s << x[0..0].upcase + x[1..-1] }
26
26
  end
27
27
 
28
+ # Treat +name+ as if it were camelized (e.g. CamelizedName) and snake-case it (e.g. camelized_name).
29
+ def self.snake_case(name)
30
+ name = name.dup
31
+ name.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
32
+ name.gsub!(/([a-z])([A-Z])/,'\1_\2')
33
+ name.downcase!
34
+ name
35
+ end
36
+
28
37
  end
29
38
 
30
39
  end
@@ -10,6 +10,6 @@
10
10
  module Kramdown
11
11
 
12
12
  # The kramdown version.
13
- VERSION = '1.0.1'
13
+ VERSION = '1.0.2'
14
14
 
15
15
  end
@@ -0,0 +1,164 @@
1
+
2
+ <p>B</p>
3
+
4
+ <pre><code> BBBBBBBB.
5
+
6
+
7
+
8
+ BBBB BB BBBBBBBB BBBBB. BBBBBBB BB BBBBB BB BBB BBBB BBBBB BBB BBB BBBB BBB BBBBBBB BBB BBBBBBB. B BBB'B BBBBB BBBB BBB BBBB BBBBBBB BBBB BBBB BBBB BBBBBBBB.
9
+
10
+
11
+ BBB BBBBB BBBBB BBB BBBB BBBB BBBB, BBB BBBBB BB BBBBB BBB BB BBBBBB BBBB BBB BBBBB BBBB BB. BBBBB BBB BBBBB BBBBB BBB BBBB BB BBBB BBBB BBBBB.
12
+
13
+
14
+ BBBB BBBBB, BBBBB, BBBBBBBB?
15
+
16
+ BB BBB BB BBBB BBB BBBB BBB BBBBBB /BBB BB BBBBBBBBB BBBB BBBBBBB BBBBBB BB BBB.
17
+
18
+
19
+ BBBB BBBBBBBB BBB BBBB BB BBBBB BBB BBBBBB BBBB BBBBB BBBBBB BBBBBBBBB BBBB BB BBBBB......................................................................
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+ BBBBB B'B BBB BBBBB. BBBB BBBBB BBBBB. ( B BBBBB BBBBBBBBBB BBBBB BBBB'B BBBBB BBBBB. BBB BBBB BBBBB BBBB BBBB. BBBBBBB BBB BB BBBBBBB BBB BBB B BBBB BBBBBBBBBBBB. BBBBB BBBBB.)
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+ BBBB'B BB
71
+ </code></pre>
72
+
73
+ <p>.</p>
74
+
75
+ <pre><code> B BBB BBB BBB ? B. B BBB BBBBBB BBBB BBB BBBB. BBBBBBB BB BBBBBBB B BBBB BBBB BBB BBBBBB.
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ BBBB BB 'BBBB' BBBB BBBBB.
90
+
91
+
92
+ BBBBBBBB B BBBB BBBBBB BB BBBBBBBB BBB BBBBBBB BBBBBBB BBBBBBB.
93
+
94
+
95
+ B BBBB BB BBBB. BBBBB BBBBBBBB. BBB BB BB. BB BB BBBB BB BBBBBBBBBB. BB BBBBBBBB BB BBBBBBBBB.
96
+
97
+
98
+ BBBBBBBB BB BBBB. BBBBBBB BBB BBBBB BBBBB BBBBB. B'BB BBBBBBB BB BBBBB BBBBB BBBBBBB BBB BBBBB. BBBB.
99
+
100
+ B BBBBBB BBBB BB BBBB BBB. (BB BBB BBBBB BBBBB...............B)
101
+
102
+
103
+
104
+ BBBB!
105
+
106
+
107
+
108
+ BBBB BB BBB BBBBBBB BBBBBB. B
109
+ </code></pre>
110
+
111
+ <p>B</p>
112
+
113
+ <pre><code> BBBBB BB/BBB BBBBB! BBBB BBBB BBBBBBBBBBB 'BBB'B BBBBBB.'
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+ BBBB BBBBBBB BBBB BB BBB BBBBBBBB BB BBBB BBBBBB BBB BBBBBBBBB BBBB. BBBBBBBB BBBBBBB BBBB BBBB BBBB BB BBBB BB BBBB BB BBBB B BBB BB BBBBB BBBBBB. B BBBB BBBBBBB BB BBBB BBBBB B BBB BBBBBBB BB BBBBB BBBB. BBB BBBBBBB BBBB. B BBB BBBB BBBB B BBBB BBBBBB BBB B BBBBBB BBBBBB. BBB BB BBBBBB BBBBBB BBBBBBBBBB BB...BBBBB BBBB BBBB BB BBBBB. (BBBBBBB BBB BBBBBB BBB'B BBBB BBB BBBBB BBB BB BBBBB BBBBBBBBBBB BBBBB B BBBB BBBB BBBBB.
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+ BBBBB BB BB BBBB B'B BBBB BBBBB BBBBB BBB BB BBBBBB/BBB (BBBBB) BBBBBB BB.
139
+ BBBBBBBB. B BBB BBBB BB BB BBB/BBBBBB BBBBBB BBB BBBB BBBBBBBB BB BB B BBBBBB BBBBBB BBBBB. (BBB/B BBB BBBB BBBB...BBB BBB BBB BBBB BB BB B BBBB BB BBB BB? BBBBBBB B BBB B BBBB BBBBBBBB BBB B BBB BBB BBBBB BBBB BBB BBBB BB B BBBBBBBB BB BBBBB BB BB BBB BBBBB BBB BB BBBBB BBBBBBB B BBB BBBBBBB. BBBBBB (BBBBB) BBBB BBBBB BBBBBBB BBBBB BBBB BBBB BBB. 100 BBBBBB BB BBBBB. BBBB BBB BBB BBBBBB BBB BB. BBB BBBB BB BBB BBBBB! BBB BB BBBBBB BBBBB B BBB'B BBBBBBBBB BBBB BBB BBB. (BBBBBB BBBBBBB BB BBBB BBBBB (BBBBBB BBBBB BBBBB BBBBB.))
140
+
141
+
142
+ BBB B BBBBBBBBBBB BBBB BBB BB BBB. BBBBB BBB BBBBB B BBBB BBBBBB BBBBB BBB. BB BBBBBB BBB BBBB B BBB BB BBBBBBBB BBBBBB BBBB BBB B BBBBBB BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBBBBBB.
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+ BBBBB!!!!!!!
155
+
156
+
157
+ B BBB BBBB BBBBBB BBBB BBBB BBBB B BBB BBBBB BBB BBBBB B BBBB BBBBBBB BB BB BBBB BBBBBBBBB. B BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBB.
158
+
159
+ BB BB, BB BBBBBB BBBB, (BBBBBB BB BBB BBBB . BBBBB BB BBBB BBBB BB BB BBBB BBBB B BBBB BB BB (BB BBBB BB BBB BBBBBBB BB BBBBBBB. )) BB'BB BBB BBB'B BB BB BBBB BB B BBBB B BBBBB (BB BBBBBB BB BBB B'BB BBBBBBBB BB BBBB BBBB.)
160
+
161
+
162
+ B BBBBB B'BB BBB BB BBBB BBB BBB.
163
+ </code></pre>
164
+
@@ -0,0 +1,188 @@
1
+
2
+
3
+ B
4
+
5
+
6
+
7
+
8
+ BBBBBBBB.
9
+
10
+
11
+
12
+ BBBB BB BBBBBBBB BBBBB. BBBBBBB BB BBBBB BB BBB BBBB BBBBB BBB BBB BBBB BBB BBBBBBB BBB BBBBBBB. B BBB'B BBBBB BBBB BBB BBBB BBBBBBB BBBB BBBB BBBB BBBBBBBB.
13
+
14
+
15
+ BBB BBBBB BBBBB BBB BBBB BBBB BBBB, BBB BBBBB BB BBBBB BBB BB BBBBBB BBBB BBB BBBBB BBBB BB. BBBBB BBB BBBBB BBBBB BBB BBBB BB BBBB BBBB BBBBB.
16
+
17
+
18
+ BBBB BBBBB, BBBBB, BBBBBBBB?
19
+
20
+ BB BBB BB BBBB BBB BBBB BBB BBBBBB /BBB BB BBBBBBBBB BBBB BBBBBBB BBBBBB BB BBB.
21
+
22
+
23
+ BBBB BBBBBBBB BBB BBBB BB BBBBB BBB BBBBBB BBBB BBBBB BBBBBB BBBBBBBBB BBBB BB BBBBB......................................................................
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ BBBBB B'B BBB BBBBB. BBBB BBBBB BBBBB. ( B BBBBB BBBBBBBBBB BBBBB BBBB'B BBBBB BBBBB. BBB BBBB BBBBB BBBB BBBB. BBBBBBB BBB BB BBBBBBB BBB BBB B BBBB BBBBBBBBBBBB. BBBBB BBBBB.)
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ BBBB'B BB
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+ .
94
+
95
+ B BBB BBB BBB ? B. B BBB BBBBBB BBBB BBB BBBB. BBBBBBB BB BBBBBBB B BBBB BBBB BBB BBBBBB.
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ BBBB BB 'BBBB' BBBB BBBBB.
110
+
111
+
112
+ BBBBBBBB B BBBB BBBBBB BB BBBBBBBB BBB BBBBBBB BBBBBBB BBBBBBB.
113
+
114
+
115
+ B BBBB BB BBBB. BBBBB BBBBBBBB. BBB BB BB. BB BB BBBB BB BBBBBBBBBB. BB BBBBBBBB BB BBBBBBBBB.
116
+
117
+
118
+ BBBBBBBB BB BBBB. BBBBBBB BBB BBBBB BBBBB BBBBB. B'BB BBBBBBB BB BBBBB BBBBB BBBBBBB BBB BBBBB. BBBB.
119
+
120
+ B BBBBBB BBBB BB BBBB BBB. (BB BBB BBBBB BBBBB...............B)
121
+
122
+
123
+
124
+ BBBB!
125
+
126
+
127
+
128
+ BBBB BB BBB BBBBBBB BBBBBB.
129
+ B
130
+
131
+ B
132
+
133
+
134
+
135
+ BBBBB BB/BBB BBBBB! BBBB BBBB BBBBBBBBBBB 'BBB'B BBBBBB.'
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+ BBBB BBBBBBB BBBB BB BBB BBBBBBBB BB BBBB BBBBBB BBB BBBBBBBBB BBBB. BBBBBBBB BBBBBBB BBBB BBBB BBBB BB BBBB BB BBBB BB BBBB B BBB BB BBBBB BBBBBB. B BBBB BBBBBBB BB BBBB BBBBB B BBB BBBBBBB BB BBBBB BBBB. BBB BBBBBBB BBBB. B BBB BBBB BBBB B BBBB BBBBBB BBB B BBBBBB BBBBBB. BBB BB BBBBBB BBBBBB BBBBBBBBBB BB...BBBBB BBBB BBBB BB BBBBB. (BBBBBBB BBB BBBBBB BBB'B BBBB BBB BBBBB BBB BB BBBBB BBBBBBBBBBB BBBBB B BBBB BBBB BBBBB.
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+ BBBBB BB BB BBBB B'B BBBB BBBBB BBBBB BBB BB BBBBBB/BBB (BBBBB) BBBBBB BB.
161
+ BBBBBBBB. B BBB BBBB BB BB BBB/BBBBBB BBBBBB BBB BBBB BBBBBBBB BB BB B BBBBBB BBBBBB BBBBB. (BBB/B BBB BBBB BBBB...BBB BBB BBB BBBB BB BB B BBBB BB BBB BB? BBBBBBB B BBB B BBBB BBBBBBBB BBB B BBB BBB BBBBB BBBB BBB BBBB BB B BBBBBBBB BB BBBBB BB BB BBB BBBBB BBB BB BBBBB BBBBBBB B BBB BBBBBBB. BBBBBB (BBBBB) BBBB BBBBB BBBBBBB BBBBB BBBB BBBB BBB. 100 BBBBBB BB BBBBB. BBBB BBB BBB BBBBBB BBB BB. BBB BBBB BB BBB BBBBB! BBB BB BBBBBB BBBBB B BBB'B BBBBBBBBB BBBB BBB BBB. (BBBBBB BBBBBBB BB BBBB BBBBB (BBBBBB BBBBB BBBBB BBBBB.))
162
+
163
+
164
+ BBB B BBBBBBBBBBB BBBB BBB BB BBB. BBBBB BBB BBBBB B BBBB BBBBBB BBBBB BBB. BB BBBBBB BBB BBBB B BBB BB BBBBBBBB BBBBBB BBBB BBB B BBBBBB BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBBBBBB.
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+ BBBBB!!!!!!!
177
+
178
+
179
+ B BBB BBBB BBBBBB BBBB BBBB BBBB B BBB BBBBB BBB BBBBB B BBBB BBBBBBB BB BB BBBB BBBBBBBBB. B BBBB BBBBBB BBBBBBB BBBB BBBB BBB BBBB.
180
+
181
+ BB BB, BB BBBBBB BBBB, (BBBBBB BB BBB BBBB . BBBBB BB BBBB BBBB BB BB BBBB BBBB B BBBB BB BB (BB BBBB BB BBB BBBBBBB BB BBBBBBB. )) BB'BB BBB BBB'B BB BB BBBB BB B BBBB B BBBBB (BB BBBBBB BB BBB B'BB BBBBBBBB BB BBBB BBBB.)
182
+
183
+
184
+ B BBBBB B'BB BBB BB BBBB BBB BBB.
185
+
186
+
187
+
188
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kramdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Leitner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-11 00:00:00.000000000 Z
11
+ date: 2013-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coderay
@@ -192,6 +192,8 @@ files:
192
192
  - test/testcases/block/06_codeblock/highlighting.html
193
193
  - test/testcases/block/06_codeblock/highlighting.options
194
194
  - test/testcases/block/06_codeblock/highlighting.text
195
+ - test/testcases/block/06_codeblock/issue_gh45.html
196
+ - test/testcases/block/06_codeblock/issue_gh45.test
195
197
  - test/testcases/block/06_codeblock/lazy.html
196
198
  - test/testcases/block/06_codeblock/lazy.text
197
199
  - test/testcases/block/06_codeblock/no_newline_at_end.html