martile 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b1ab59b9e27447edce7ae0f83115e026b576598
4
- data.tar.gz: fa8187355519c2a3652c6cd622ea458ba350b780
3
+ metadata.gz: 57c77f14ea96d92bec54a35e63e2123c33c186a1
4
+ data.tar.gz: ce9a89ce4f2da190f7c38dba918ea634ffd380f3
5
5
  SHA512:
6
- metadata.gz: 5ed3dd4912ee68d876af4fe72a12149dcffed8d832c569a7ac1fa5e0fdd2233de6b290c875d4adf21a102eaefa480702477be42f425a880c9f159cade20ad4ca
7
- data.tar.gz: 6b2e341d605ab8c39f806c4a894a9f4d1deb5ae8180d9480b213358dd2c41430fb7e7de72b53f9b57a066379da5ab2f80ed9493a56b54b0a73f0cee4b75eb538
6
+ metadata.gz: eea430a364e7e58a7b99db5bc2cee89d968b2585b644f4cb57422668c43e9637e20d91b7a986a57113461f2886d7bc28f416362d13f807bbca0d08f79ebd3ee4
7
+ data.tar.gz: a146c2bda3edc11975ceb660cc75b72fa8672472f7ddca31e1893324874e45cfb1298f836ce652a2077fd2fa31ec03ca3be83f7622e1102f620ab23aff03e8e1
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -8,6 +8,8 @@ require 'dynarex'
8
8
  require 'rdiscount'
9
9
 
10
10
 
11
+ # bug fix: 11-Mar-2015: Escapes angle brackets within a code block *before*
12
+ # the string is passed to Rexle
11
13
  # bug fix: 01-Mar-2015: code_block_to_html() now only searches strings which
12
14
  # are outside of angle brackets
13
15
  # bug fix: 10-Dec-2014: Generation of pre tags using // can now only happen
@@ -61,25 +63,7 @@ class Martile
61
63
 
62
64
  s = slashpre raw_s
63
65
  #puts 's : ' + s.inspect
64
- raw_s2 = apply_filter(s.strip + "\n") {|x| code_block_to_html x }
65
- #puts 'raw_s2 : ' + raw_s2.inspect
66
- # ensure all angle brackets within <pre><code> is escaped
67
- s2 = raw_s2.split(/(?=<pre><code>)/m).map { |y|
68
- y.sub(/<pre><code>(.*)<\/code><\/pre>/m) do |x|
69
- s3 = ($1)
70
- "<pre><code>%s</code></pre>" % s3.gsub(/</,'&lt;').gsub(/>/,'&gt;')
71
- end
72
- }.join
73
-
74
- # escape the content of <pre> tags which doesn't contain the code tag
75
- s2.gsub(/<(pre)>[^(?:<\/\1>)]+<\/\1>/m) do |x|
76
- s = x[5..-7]
77
- if s[/^<code>/] then
78
- x
79
- else
80
- "<pre>%s</pre>" % s.gsub(/</,'&lt;').gsub(/>/,'&gt;')
81
- end
82
- end
66
+ s2 = code_block_to_html(s.strip + "\n")
83
67
 
84
68
  #puts 's2 : ' + s2.inspect
85
69
  s3 = apply_filter(s2, %w(ol ul)) {|x| explicit_list_to_html x }
@@ -124,7 +108,7 @@ class Martile
124
108
  if r.join.strip.length > 0 then
125
109
  raw_code = a.shift(r.length).map{|x| x.sub(/^ {4}/,'')}.join
126
110
 
127
- code_block = "<pre><code>%s</code></pre>" % raw_code
111
+ code_block = "<pre><code>%s</code></pre>" % escape(raw_code)
128
112
 
129
113
  b << code_block
130
114
  s2 = a.join
@@ -153,10 +137,13 @@ class Martile
153
137
 
154
138
  dynarex = Dynarex.new($1)
155
139
  dynarex.to_h.map(&:values)
156
- '[' + dynarex.to_h.map{|x| x.values.join('|').gsub('<','&lt;')\
157
- .gsub('>','&gt;') + "\n"}.join('|').chomp + ']'
140
+ '[' + dynarex.to_h.map{|x| escape(x.values.join('|')) + "\n"}.join('|').chomp + ']'
158
141
  end
159
142
  end
143
+
144
+ def escape(s)
145
+ s.gsub('<','&lt;').gsub('>','&gt;')
146
+ end
160
147
 
161
148
  def list_to_html(s,symbol='#')
162
149
 
@@ -248,7 +235,7 @@ class Martile
248
235
  rows.each do |cols|
249
236
  xml.tr do
250
237
  cols.each do |col|
251
- xml.td col.gsub('<','&lt;').gsub('>','&gt;')
238
+ xml.td escape(col)
252
239
  end
253
240
  end
254
241
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: martile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  fnr5l+RI/6f8lfxBNgDrktGB/RwPkOyWtyKk1tu9CWgHmptxL0JglikCXg5MzuZI
32
32
  tZzXOvXUoUf1VQ==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-03-01 00:00:00.000000000 Z
34
+ date: 2015-03-11 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdiscount
@@ -42,7 +42,7 @@ dependencies:
42
42
  version: '2.1'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 2.1.7.1
45
+ version: 2.1.8
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,27 +52,27 @@ dependencies:
52
52
  version: '2.1'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 2.1.7.1
55
+ version: 2.1.8
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: dynarex
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '1.4'
62
+ version: '1.5'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 1.4.1
65
+ version: 1.5.0
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: '1.4'
72
+ version: '1.5'
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 1.4.1
75
+ version: 1.5.0
76
76
  description:
77
77
  email: james@r0bertson.co.uk
78
78
  executables: []
metadata.gz.sig CHANGED
Binary file