martile 0.4.2 → 0.5.0

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.
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