liveblog 1.2.0 → 1.2.1

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: d574eca2cd80707277fb9f226580027004d61060
4
- data.tar.gz: 8689a3244cd648c04a4a803dfc0dd356f1ba9b77
3
+ metadata.gz: 3029f6644f23406e0156b91ae824ee9746741978
4
+ data.tar.gz: 676335b6951e0543ec1309fb86c92f569bc94283
5
5
  SHA512:
6
- metadata.gz: c7f87bcf5b845e0a0a43c87ac70c92f42184436e7788f3c208c708b6481d1ea1c2325be511a5ff867fb4957be659fdf0aea5abf67a4f85c22ba2b86b52260335
7
- data.tar.gz: 42baed27cfab64c6be46b1364c5ea02d062683295bd94e562749950aef5ca4c0721d952f5df18c32e8140c7e6d3f96484e2d322001ff0dc55b4b8f296df72956
6
+ metadata.gz: 02b916db6d70cb73ba141e091681b93ffc443223ebeebdc39422d2c32eff36451034e4aaecbd3145b7acd4a2871f4f2f34177c5b1307fe31a9578119d53aa573
7
+ data.tar.gz: b6937f0fec40ec6e649fef264ec2cb0662111d3585492a6184bb58a163f8eb7e3a9078f3990ed8282d26906d8d6a4280aab7aa5c6ac7087bc16f7f74c9c9c1f0
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- 8mwf�kBo�֣��\�qȻ���T��ۅ��*|�$0��覀��q �:Cܘ��D����������ɛ��)s�w?��e"h���On�d� �ҥO�������e.���2ޠ��3n�,���41NX������
2
- ����\0%��Xw����c��/�} ���a7ݢ
1
+ �����bY+�q��
2
+ `���%}.;���~�+�k��DF���фO�UHp��]eL^�WgHX�{�b#��O��lS�K!�h4aF?�)�`��j�qH[�"�O6����Kp��5d�Hv#� C�#}c�@���C�*vJ��~�%.u1
data.tar.gz.sig CHANGED
Binary file
data/lib/liveblog.rb CHANGED
@@ -183,7 +183,8 @@ EOF
183
183
  FileUtils.mkdir_p File.join(path())
184
184
 
185
185
  @dx = Dynarex.new
186
- @dx.import s
186
+
187
+ @dx.import(s) {|x| sanitise x }
187
188
 
188
189
  @dx.xpath('records/section').each do |rec|
189
190
 
@@ -213,15 +214,15 @@ EOF
213
214
 
214
215
  end
215
216
 
216
- def update_entry(entry)
217
+ def update_entry(raw_entry)
217
218
 
218
- hashtag = entry.lines.first[/#(\w+)$/,1]
219
+ hashtag = raw_entry.lines.first[/#(\w+)$/,1]
219
220
 
220
221
  record_found = find_hashtag hashtag
221
222
 
222
223
  if record_found then
223
224
 
224
- record_found.x = entry
225
+ record_found.x = sanitise entry
225
226
  save()
226
227
 
227
228
  @plugins.each do |x|
@@ -247,11 +248,12 @@ EOF
247
248
  rec = @dx.find hashtag
248
249
 
249
250
  return [false, 'rec not found'] unless rec
250
-
251
- rec.x += "\n\n" + raw_entry.chomp + "\n"
251
+
252
+ entry = sanitise raw_entry.chomp
253
+ rec.x += "\n\n" + entry + "\n"
252
254
 
253
255
  @plugins.each do |x|
254
-
256
+
255
257
  if x.respond_to? :on_new_section_entry then
256
258
  x.on_new_section_entry(raw_entry, hashtag)
257
259
  end
@@ -281,6 +283,28 @@ EOF
281
283
 
282
284
  [true, 'section added']
283
285
  end
286
+
287
+ # used by the sanitise method
288
+ #
289
+ def code2indent(s2)
290
+
291
+ # find the beginning
292
+ x1 = s2 =~ /^```/
293
+ return s2 unless x1
294
+
295
+ # find the end
296
+ x2 = s2[x1+3..-1] =~ /^```/
297
+ return s2 unless x2
298
+
299
+ codeblock = s2[x1+3..x1+x2+2]
300
+
301
+ s3 = s2[0..x1-1] + codeblock.lines.map{|x| x.prepend(' ' * 4)}.join + \
302
+ "\n" + s2[x1+x2+6..-1]
303
+
304
+ return code2indent(s3)
305
+
306
+ end
307
+
284
308
 
285
309
  def new_config()
286
310
 
@@ -319,6 +343,16 @@ EOF
319
343
  def static_urlpath(d=@d)
320
344
  @urlbase.sub(/[^\/]$/,'\0/') + urlpath(d)
321
345
  end
346
+
347
+ def sanitise(raw_s)
348
+
349
+ # Transform any code encapsulated within 3 backticks to the
350
+ # 4 spaces indented style. This prevents Ruby comments being
351
+ # wrongfully identified as a sectionx heading.
352
+
353
+ code2indent(raw_s)
354
+
355
+ end
322
356
 
323
357
  def save_html()
324
358
 
@@ -550,4 +584,4 @@ EOF
550
584
  nil
551
585
  end
552
586
  end
553
- end
587
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liveblog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  5s8qc8N6iJi3jGcarS1hVkhlWGshAZx1T0n/Q27m1S0GoVUebJYFJxqaZqL5FO/v
32
32
  NonZ4ByUi+SaTg==
33
33
  -----END CERTIFICATE-----
34
- date: 2016-06-10 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: dxsectionx
metadata.gz.sig CHANGED
Binary file