martile 0.6.27 → 0.6.28

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: c82e54f50f94ae7be44ab6449e2c5defe0801d24
4
- data.tar.gz: 9093f1e4ab36350febe6fd62cf249c6b8dd9e87d
3
+ metadata.gz: 2c27a84eb62497e8c17af299fdb740c14e80f709
4
+ data.tar.gz: c62e29e1f18f2b76ab6f850cd7f3ffc58b8845f1
5
5
  SHA512:
6
- metadata.gz: ea92efaaf95d6ada71633ac5fca9914c4748c595f0ed82a756f3696eca58cbcc6869e60c1e892bf320e8149c3085ab298f57fae39378b9738144d3dcf4d5f86e
7
- data.tar.gz: ee95038e83e1c8d2bbd22ce20782144d35e4a6093156fffe3f24f708ccbb4d44f9d0b615ea74b8857c6ee025d2ce4cf099192a4cb9f91e016f9683a15967332c
6
+ metadata.gz: cc74c733a4aaf5e1fa3c638fdde27c3f56a3ae3d55fdb8cf5685cc569ddb01e80bc9ecfb1a269ed10af3cef4c74c63399d64ef64822036be12a65d5020fb5c9e
7
+ data.tar.gz: 1110f77cf75e3241839f5ae909dce8a71477375c9a083a54db88e6ef26d423820de5792b8f593c3a6a14afd9e2c87a83ae02c253bf189f6253b7a3f7d50790d7
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/martile.rb CHANGED
@@ -9,6 +9,7 @@ require 'rdiscount'
9
9
  require 'kvx'
10
10
 
11
11
 
12
+ # bug fix: 11-Jun-2016 pre tags are now filtered out properly
12
13
  # feature: 22-May-2016 Introduced the __DATA__ section which appears at
13
14
  # the end of the document to reference 1 or more raw
14
15
  # Dynarex documents
@@ -68,12 +69,13 @@ class Martile
68
69
  @data_source = {}
69
70
 
70
71
  @ignore_domainlabel = ignore_domainlabel
72
+
71
73
 
72
74
  s0 = raw_s =~ /^__DATA__$/ ? parse__data__(raw_s) : raw_s
73
-
74
- s1 = slashpre s0
75
- #puts 's : ' + s.inspect
76
- s2 = code_block_to_html(s1.strip + "\n")
75
+ #puts 's0: ' + s0.inspect
76
+ s1 = apply_filter(s0) {|x| slashpre x }
77
+ #puts 's1 : ' + s1.inspect
78
+ s2 = apply_filter(s1) {|x| code_block_to_html(x.strip + "\n") }
77
79
 
78
80
  #puts 's2 : ' + s2.inspect
79
81
  #s3 = apply_filter(s2, %w(ol ul)) {|x| explicit_list_to_html x }
@@ -90,9 +92,9 @@ class Martile
90
92
  s7 = apply_filter(s6) {|x| table_to_html x }
91
93
  #puts 's7 : ' + s7.inspect
92
94
 
93
- s8 = apply_filter(s7) {|x| underline x }
95
+ s8 = apply_filter(s7) {|x| underline x}
94
96
  #puts 's8: ' + s8.inspect
95
- s9 = apply_filter(s8) {|x| section x }
97
+ s9 = apply_filter(s8) {|x| section x }
96
98
  #puts 's9: ' + s9.inspect
97
99
 
98
100
  s10 = apply_filter(s9) {|x| smartlink x }
@@ -101,20 +103,20 @@ class Martile
101
103
 
102
104
  #s11 = section s9
103
105
  #puts 's11 : ' + s11.inspect
104
- s12 = apply_filter(s10){|x| audiotag x}
106
+ s12 = apply_filter(s10) {|x| audiotag x }
105
107
  #puts 's12 : ' + s12.inspect
106
- s13 = apply_filter(s12){|x| videotag x}
108
+ s13 = apply_filter(s12) {|x| videotag x }
107
109
  #puts 's13 : ' + s13.inspect
108
- s14 = apply_filter(s13){|x| iframetag x}
110
+ s14 = apply_filter(s13) {|x| iframetag x }
109
111
  #puts 's14 : ' + s14.inspect
110
- s15 = apply_filter(s14){|x| kvx_to_dl x}
112
+ s15 = apply_filter(s14) {|x| kvx_to_dl x }
111
113
  #puts 's15 : ' + s15.inspect
112
- s16 = apply_filter(s15){|x| list_item_to_hyperlink x}
114
+ s16 = apply_filter(s15) {|x| list_item_to_hyperlink x }
113
115
  #puts 's16 : ' + s16.inspect
114
- s17 = apply_filter(s16) {|x| mtlite_utils x }
116
+ s17 = apply_filter(s16) {|x| mtlite_utils x }
115
117
 
116
118
  #puts 's17 : ' + s17.inspect
117
-
119
+
118
120
  @to_s = s17
119
121
  end
120
122
 
@@ -145,8 +147,8 @@ class Martile
145
147
  def code_block_to_html(s)
146
148
 
147
149
 
148
- s.split(/(?=<pre>)/).map do |s2|
149
-
150
+ s.split(/(?=<pre>)/).map do |s2|
151
+
150
152
  if s2[0] != '<' then
151
153
 
152
154
  b =[]
@@ -180,17 +182,7 @@ class Martile
180
182
  end.join
181
183
 
182
184
 
183
- end
184
-
185
- def dynarex_to_markdown2(s)
186
-
187
- s.gsub(/-\[((https?:\/\/)?[\w\/\.\-]+)\]/) do |match|
188
-
189
- dynarex = Dynarex.new($1)
190
- dynarex.to_h.map(&:values)
191
- '[' + dynarex.to_h.map{|x| escape(x.values.join('|')) + "\n"}.join('|').chomp + ']'
192
- end
193
- end
185
+ end
194
186
 
195
187
  def dynarex_to_markdown(s)
196
188
 
@@ -274,36 +266,42 @@ class Martile
274
266
 
275
267
  end.join
276
268
 
277
- end
278
-
279
- def apply_filter(s, names=%w(pre code), &blk)
280
-
281
- separator = "\n1449232851\n"
282
-
283
- a, apre = s.split(/(?=<pre)/).inject([[],[]]) do |r, row|
269
+ end
270
+
271
+ def filter_on(s)
284
272
 
285
- pre = nil
273
+ @filter = []
286
274
 
287
- s2 = row.sub(/<pre.*<\/pre>/m) do |pattern|
288
- pre = pattern
289
- separator
275
+ a = s.split(/(?=<pre)/).map.with_index do |row, i|
276
+
277
+ row.sub(/<pre.*<\/pre>/m) do |pattern|
278
+ placeholder = '!' + Time.now.to_i.to_s + i.to_s
279
+ @filter << [placeholder, pattern]
280
+ placeholder
290
281
  end
291
282
 
292
- r.first << s2
293
- r.last << pre if pre
294
- r
295
-
296
283
  end
297
-
298
- r2 = blk.call a.join
284
+ a.join
299
285
 
300
- apre.compact.each do |x|
301
- r2.sub!(separator, x)
302
- end
286
+ end
287
+
288
+ def filter_off(raw_s)
289
+
290
+ s = raw_s.clone
291
+ @filter.each {|id, x| s.sub!(id, x) }
292
+ return s
293
+
294
+ end
303
295
 
304
- r2
296
+ def apply_filter(s)
297
+
298
+ s1 = filter_on(s)
299
+ s2 = yield s1
300
+ s3 = filter_off s2
305
301
 
302
+ return s3
306
303
  end
304
+
307
305
 
308
306
  def explicit_list_to_html(s)
309
307
 
@@ -315,7 +313,7 @@ class Martile
315
313
  symbol = ('\\' + symbol) if symbol == '*'
316
314
 
317
315
  a3 = s.split(/(?=<#{type}>)/).map do |x|
318
- # puts 'x' + x.inspect
316
+
319
317
  if x =~ /<ol>/ then
320
318
  "<%s>%s</%s>" % \
321
319
  [type, x[/<#{type}>[#{symbol}]\s*(.*)<\/#{type}>/m,1]\
@@ -438,7 +436,6 @@ class Martile
438
436
  s2 = x.strip
439
437
  next if s2.empty?
440
438
 
441
- puts 's2: ' + s2.inspect
442
439
  id = s2.lines.first[/id=["']([^"']+)/,1]
443
440
  dx = Dynarex.new
444
441
  dx.import s2
@@ -515,7 +512,7 @@ class Martile
515
512
  a = s.lines
516
513
 
517
514
  a2 = a.inject([[]]) do |r,x|
518
-
515
+
519
516
  match = x.match(/^={1}(?:#)?(\w+)?$/)
520
517
 
521
518
  if match then
@@ -575,4 +572,4 @@ class Martile
575
572
  s.gsub(/\B(\* +)([^\n]+)\s+(https?:\/\/.*)/,'\1[\2](\3)')
576
573
 
577
574
  end
578
- end
575
+ end
data.tar.gz.sig CHANGED
@@ -1,3 +1,3 @@
1
- P3v�c A��|f
2
- n�q�)�8J0�S��צ��bD����z��[؈����I�F,�P�dY��zW_�M[�B>
3
- n4��=�'�d,�<�|
1
+ U������9Us7���V6B<X[F���� e�$��. �%����h�T),�;�!FqO>���ٮ�ˁ�$���t�
2
+ �(m"��}T�v`�� n��&�p�����SU�̂���
3
+ �9�9g���: 8o�q�,�"a_|</��މ�| &�����������]p��]N"��$ŃĀ�� �!.�O��@P�,B
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.6.27
4
+ version: 0.6.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  fHJRwdYS8tvLYH9UFytJxDKjlovBuFUsfKP0FJlZGQGJM5JiIj5LWelTGJtJD8hI
32
32
  2jPlwrOtiqZt2A==
33
33
  -----END CERTIFICATE-----
34
- date: 2016-05-22 00:00:00.000000000 Z
34
+ date: 2016-06-11 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdiscount
@@ -123,5 +123,6 @@ rubyforge_project:
123
123
  rubygems_version: 2.5.1
124
124
  signing_key:
125
125
  specification_version: 4
126
- summary: A flavour of Markdown which converts a Martile string to html
126
+ summary: Martile is a Markdown pre formatter which is designed to format custom Markdown
127
+ tags prior to being passed to the Markdown gem.
127
128
  test_files: []
metadata.gz.sig CHANGED
Binary file