runeblog 0.2.5 → 0.2.10

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
  SHA256:
3
- metadata.gz: b72b0b4ca22d08e40c691a27c1a9affa94dc9c3f8ff1063d85f7b72be8b83838
4
- data.tar.gz: d1919b3fef470e70acb7b7f8cc5f36f6ed7cb58176ee36e424e09691e83bd495
3
+ metadata.gz: a037d087baf23e47f7b3c254dac3348048cc9c498ad439a5f235149b9bbf96cb
4
+ data.tar.gz: f82a11b32ee3eb3738abdc1a60f3fc1606efb5252a29f5902d53591117199c6c
5
5
  SHA512:
6
- metadata.gz: 9a4feafd8e972f87280c3f4fbe43321d62de61a6eb9913deef08790e967c94d09fd2f451e7235f3cc4cc0620dd92087cb0c39ef6bb1fed6afe6a197fc1fc5450
7
- data.tar.gz: d5a9fec4a3412ff28a1acf607f60614a1c3ed4d1fdbdf43747b5250e4f6930503028ad8ba2d866ea4c00695b6b81bf52a376e9e642b906427f84bb09a5711718
6
+ metadata.gz: 9fa1d23bd68596356383676b5d4c5c9fba04afaba2d98ccf8bb1d27fb4b68aba8b9a1078aaebcc7a61cefb8d8bb5102e51d09ecd68e82ce436afaa734c028862
7
+ data.tar.gz: aae6ba4be7009d1cfcc7461f6dfb5f4459d880b796a7842e67050863e6f48d9ede6923a8995c4945a0923153b7f97c051f18691f8e0d343ed450dcba586c88e0
Binary file
@@ -38,7 +38,7 @@ exit unless rc
38
38
  return false
39
39
  end
40
40
 
41
- def livetext(src, dst=nil)
41
+ def livetext(src, dst=nil, dir=".")
42
42
  log!(enter: __method__, args: [src, dst])
43
43
  src << ".lt3" unless src.end_with?(".lt3")
44
44
  if dst
@@ -47,7 +47,21 @@ exit unless rc
47
47
  dst = src.sub(/.lt3$/, "")
48
48
  end
49
49
  # return unless stale?(src, dst)
50
- system("livetext #{src} >#{dst}")
50
+ Dir.chdir(dir) { system("livetext #{src} >#{dst}") }
51
+ end
52
+
53
+ def livetext!(src, dst=nil, dir=".")
54
+ log!(enter: __method__, args: [src, dst])
55
+ src << ".lt3" unless src.end_with?(".lt3")
56
+ if dst
57
+ dst << ".html" unless dst.end_with?(".html")
58
+ else
59
+ dst = src.sub(/.lt3$/, "")
60
+ end
61
+ # return unless stale?(src, dst)
62
+ STDERR.puts "-- livetext #{src} >#{dst} \n in: #{Dir.pwd}\n from: #{caller[0]}"
63
+ Dir.chdir(dir) { system("livetext #{src} >#{dst}") }
64
+ STDERR.puts "... completed"
51
65
  end
52
66
 
53
67
  def get_root
@@ -423,6 +423,7 @@ def sidebar
423
423
  _out %[<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">]
424
424
  _args do |token|
425
425
  tag = token.chomp.strip.downcase
426
+ # Doesn't handle "split personality" widgets yet
426
427
  Dir.chdir("widgets/#{tag}") do
427
428
  livetext tag, "card-#{tag}.html"
428
429
  _include_file "card-#{tag}.html"
@@ -447,59 +448,43 @@ def script
447
448
  _out %[<script src="#{url}" integrity="#{integ}" crossorigin="#{cross}"></script>]
448
449
  end
449
450
 
450
-
451
- ### How this next bit works:
452
- ###
453
- ### all_teasers will call _find_recent_posts
454
- ###
455
- ### _find_recent_posts will search higher in the directory structure
456
- ### for where the posts are (0001, 0002, ...) NOTE: This implies you
457
- ### must be in some specific place when this code is run.
458
- ### It returns the 20 most recent posts.
459
- ###
460
- ### all_teasers will then pick a small number of posts and call _teaser
461
-
462
- ### on each one. (The code in _teaser really belongs in a small template
463
- ### somewhere.)
464
- ###
465
-
466
- def _find_recent_posts
467
- @vdir = _var(:FileDir).match(%r[(^.*/views/.*?)/])[1]
468
- posts = nil
469
- dir_posts = @vdir + "/posts"
470
- entries = Dir.entries(dir_posts)
471
- posts = entries.grep(/^\d\d\d\d/).map {|x| dir_posts + "/" + x }
472
- posts.select! {|x| File.directory?(x) }
473
- # directories that start with four digits
474
- posts = posts.sort {|a, b| b.to_i <=> a.to_i } # sort descending
475
- posts[0..19] # return 20 at most
476
- end
477
-
478
- def all_teasers
479
- open = <<-HTML
480
- <section class="posts">
481
- HTML
482
- close = <<-HTML
483
- </section>
484
- HTML
485
-
486
- text = <<-HTML
487
- <html>
488
- <head><link rel="stylesheet" href="etc/blog.css"></head>
489
- <body>
490
- HTML
491
- posts = _find_recent_posts
492
- wanted = [5, posts.size].min # estimate how many we want?
493
- enum = posts.each
494
- wanted.times do
495
- postid = File.basename(enum.next)
496
- postid = postid.to_i
497
- text << _teaser(postid) # side effect! calls _out
498
- end
499
- text << "</body></html>"
500
- File.write("recent.html", text)
501
- _out %[<iframe id="main" style="width: 100vw; height: 100vh; position: relative;" src='recent.html' width=100% frameborder="0" allowfullscreen></iframe>]
502
- end
451
+ # def _find_recent_posts
452
+ # @vdir = _var(:FileDir).match(%r[(^.*/views/.*?)/])[1]
453
+ # posts = nil
454
+ # dir_posts = @vdir + "/posts"
455
+ # entries = Dir.entries(dir_posts)
456
+ # posts = entries.grep(/^\d\d\d\d/).map {|x| dir_posts + "/" + x }
457
+ # posts.select! {|x| File.directory?(x) }
458
+ # # directories that start with four digits
459
+ # posts = posts.sort {|a, b| b.to_i <=> a.to_i } # sort descending
460
+ # posts[0..19] # return 20 at most
461
+ # end
462
+ #
463
+ # def all_teasers
464
+ # open = <<-HTML
465
+ # <section class="posts">
466
+ # HTML
467
+ # close = <<-HTML
468
+ # </section>
469
+ # HTML
470
+ #
471
+ # text = <<-HTML
472
+ # <html>
473
+ # <head><link rel="stylesheet" href="etc/blog.css"></head>
474
+ # <body>
475
+ # HTML
476
+ # posts = _find_recent_posts
477
+ # wanted = [5, posts.size].min # estimate how many we want?
478
+ # enum = posts.each
479
+ # wanted.times do
480
+ # postid = File.basename(enum.next)
481
+ # postid = postid.to_i
482
+ # text << _teaser(postid) # side effect! calls _out
483
+ # end
484
+ # text << "</body></html>"
485
+ # File.write("recent.html", text)
486
+ # _out %[<iframe id="main" style="width: 100vw; height: 100vh; position: relative;" src='recent.html' width=100% frameborder="0" allowfullscreen></iframe>]
487
+ # end
503
488
 
504
489
  def _post_lookup(postid) # side-effect
505
490
  # .. = templates, ../.. = views/thisview
@@ -521,21 +506,21 @@ def _interpolate(str, context) # FIXME move this later
521
506
  eval(wrapped, context)
522
507
  end
523
508
 
524
- def _teaser(slug)
525
- id = slug.to_i
526
- text = nil
527
- post_entry_name = @theme + "blog/post_entry.lt3"
528
- @_post_entry ||= File.read(post_entry_name)
529
- vp = _post_lookup(id)
530
- nslug, aslug, title, date, teaser_text =
531
- vp.nslug, vp.aslug, vp.title, vp.date, vp.teaser_text
532
- path = vp.path
533
- url = "#{path}/#{aslug}.html" # Should be relative to .blogs!! FIXME
534
- date = Date.parse(date)
535
- date = date.strftime("%B %e<br>%Y")
536
- text = _interpolate(@_post_entry, binding)
537
- text
538
- end
509
+ # def _teaser(slug)
510
+ # id = slug.to_i
511
+ # text = nil
512
+ # post_entry_name = @theme + "blog/post_entry.lt3"
513
+ # @_post_entry ||= File.read(post_entry_name)
514
+ # vp = _post_lookup(id)
515
+ # nslug, aslug, title, date, teaser_text =
516
+ # vp.nslug, vp.aslug, vp.title, vp.date, vp.teaser_text
517
+ # path = vp.path
518
+ # url = "#{path}/#{aslug}.html" # Should be relative to .blogs!! FIXME
519
+ # date = Date.parse(date)
520
+ # date = date.strftime("%B %e<br>%Y")
521
+ # text = _interpolate(@_post_entry, binding)
522
+ # text
523
+ # end
539
524
 
540
525
  def _card_generic(card_title:, middle:, extra: "")
541
526
  front = <<-HTML
@@ -1,6 +1,6 @@
1
1
  unless self.respond_to?("log!")
2
2
  $logging = true
3
- $log = File.new("/tmp/runeblog}.log","w")
3
+ $log = File.new("/tmp/runeblog.log","w")
4
4
 
5
5
  def log!(str: "", enter: nil, args: [], pwd: false, dir: false)
6
6
  return unless $logging
@@ -31,28 +31,28 @@ unless self.respond_to?("log!")
31
31
  $log = File.new("/tmp/runeblog.log","a")
32
32
  end
33
33
 
34
- def log(str: "", enter: nil, args: [], pwd: false, dir: false)
35
- return unless $logging
36
- time = Time.now.strftime("%H:%M:%S")
37
- meth = ""
38
- meth = "#{enter}" if enter
39
- para = " args: #{args.inspect[1..-2]}"
40
- source = caller[0].sub(/.*\//, " in ").sub(/:/, " line ").sub(/:.*/, "")
41
- source = " in #{source} (probably liveblog.rb)" if source.include? "(eval)"
42
- str = " ... #{str}" unless str.empty?
43
- indent = " "*12
44
- STDERR.puts "#{time} #{str} #{meth}"
45
- STDERR.puts "#{indent} #{source}"
46
- STDERR.puts "#{indent} pwd = #{Dir.pwd} " if pwd
47
- if dir
48
- files = (Dir.entries('.') - %w[. ..]).join(" ")
49
- STDERR.puts "#{indent} dir/* = #{files}"
50
- end
51
- STDERR.puts "#{indent} #{para} " unless args.empty?
52
- # STDERR.puts "#{indent} livetext params = #{livedata.inpect} " unless livedata.nil?
53
- STDERR.puts
54
- # $log.close
55
- # $log = File.new("/tmp/runeblog.log","a")
56
- end
34
+ # def log(str: "", enter: nil, args: [], pwd: false, dir: false)
35
+ # return unless $logging
36
+ # time = Time.now.strftime("%H:%M:%S")
37
+ # meth = ""
38
+ # meth = "#{enter}" if enter
39
+ # para = " args: #{args.inspect[1..-2]}"
40
+ # source = caller[0].sub(/.*\//, " in ").sub(/:/, " line ").sub(/:.*/, "")
41
+ # source = " in #{source} (probably liveblog.rb)" if source.include? "(eval)"
42
+ # str = " ... #{str}" unless str.empty?
43
+ # indent = " "*12
44
+ # STDERR.puts "#{time} #{str} #{meth}"
45
+ # STDERR.puts "#{indent} #{source}"
46
+ # STDERR.puts "#{indent} pwd = #{Dir.pwd} " if pwd
47
+ # if dir
48
+ # files = (Dir.entries('.') - %w[. ..]).join(" ")
49
+ # STDERR.puts "#{indent} dir/* = #{files}"
50
+ # end
51
+ # STDERR.puts "#{indent} #{para} " unless args.empty?
52
+ # # STDERR.puts "#{indent} livetext params = #{livedata.inpect} " unless livedata.nil?
53
+ # STDERR.puts
54
+ # # $log.close
55
+ # # $log = File.new("/tmp/runeblog.log","a")
56
+ # end
57
57
  end
58
58
 
@@ -59,7 +59,6 @@ class RuneBlog
59
59
  raise BlogRepoAlreadyExists if Dir.exist?(root)
60
60
  create_dirs(root)
61
61
  Dir.chdir(root) do
62
- # puts " pwd = #{Dir.pwd} Trying: cp #{RuneBlog::Path}/../empty_view.tgz ."
63
62
  system("cp #{RuneBlog::Path}/../empty_view.tgz .")
64
63
  create_dirs(:drafts, :views)
65
64
  new_sequence
@@ -108,7 +107,6 @@ class RuneBlog
108
107
  val = self.instance_variable_get(iv)
109
108
  str << "#{iv}: #{val} "
110
109
  end
111
- # str << "]]"
112
110
  str
113
111
  end
114
112
 
@@ -200,32 +198,15 @@ class RuneBlog
200
198
  vdir = arg.dup
201
199
  raise DirAlreadyExists(vdir) if Dir.exist?(vdir)
202
200
 
203
- # puts "cv: pwd = #{Dir.pwd} file = #{`ls`}"
204
- Dir.chdir(@root) do
205
- # puts "---- (#{arg}) tar operation..."
206
-
207
- # system("bash")
208
- cmd1 = "tar zxvf empty_view.tgz >/dev/null 2>&1"
209
- cmd2 = "cp -r empty_view views/#{arg}"
210
- system(cmd1)
211
- # puts " pwd = #{Dir.pwd}"
212
- # puts " . => #{`echo *`}"
213
- # puts " ./views => #{`ls views`}"
214
- # puts " #{cmd1}\n #{cmd2}"
215
- system(cmd2)
216
- end
217
- # create_dirs(vdir)
201
+ Dir.chdir(@root) do
202
+ cmd1 = "tar zxvf empty_view.tgz >/dev/null 2>&1"
203
+ cmd2 = "cp -r empty_view views/#{arg}"
204
+ system(cmd1)
205
+ system(cmd2)
206
+ end
218
207
 
219
- # puts "vdir = #{vdir} pwd = #{Dir.pwd}"
220
208
  Dir.chdir("#@root/views/#{vdir}") do
221
- # system("bash")
222
- # x = RuneBlog::Default
223
- # copy!("#{Themes}", "themes")
224
- # create_dirs(:assets, :posts, :staging, "remote/permalink", "remote/navbar")
225
- # livetext "themes/standard/etc/blog.css.lt3" # strip ext
226
- # _copy_to_staging
227
- # _copy_to_remote
228
- livetext "themes/standard/blog/generate", "remote/index"
209
+ livetext "generate", "../../../remote/index", "themes/standard/blog"
229
210
  pub = "user: xxx\nserver: xxx\ndocroot: xxx\npath: xxx\nproto: xxx\n"
230
211
  dump(pub, "publish")
231
212
 
@@ -257,7 +238,6 @@ class RuneBlog
257
238
 
258
239
  def post_lookup(postid) # side-effect?
259
240
  log!(enter: __method__, args: [postid])
260
- # .. = templates, ../.. = views/thisview
261
241
  slug = title = date = teaser_text = nil
262
242
 
263
243
  dir_posts = @vdir + "/posts"
@@ -281,7 +261,6 @@ class RuneBlog
281
261
  nslug, aslug, title, date, teaser_text =
282
262
  vp.nslug, vp.aslug, vp.title, vp.date, vp.teaser_text
283
263
  path = vp.path
284
- # url = "#{path}/#{aslug}.html" # Should be relative to .blogs!! FIXME
285
264
  url = "#{aslug}.html" # Should be relative to .blogs!! FIXME
286
265
  date = ::Date.parse(date)
287
266
  date = date.strftime("%B %e<br>%Y")
@@ -379,7 +358,7 @@ class RuneBlog
379
358
 
380
359
  def generate_view(view) # huh?
381
360
  log!(enter: __method__, args: [view])
382
- generate_index(view)
361
+ generate_index(view) # recent posts (recent.html)
383
362
  Dir.chdir(@root + "/views/#{view}/themes/standard") do
384
363
  livetext "blog/generate.lt3", "../../remote/index.html"
385
364
  end
@@ -396,22 +375,6 @@ class RuneBlog
396
375
  views
397
376
  end
398
377
 
399
- # Remember: A post in multiple views will trigger multiple
400
- # views needing to be rebuilt (and published)
401
-
402
- # generate a post:
403
- # given draft 9999-title.lt3
404
- # create VIEW/posts/9999-title/index.lt3
405
- # LATER: metadata!! or is it in head?
406
- # Generate VIEW/posts/9999-title/head.lt3?
407
- # livetext draft_wrapper_plain.lt3 >generated/posts/plain-title.html # unframed
408
- # livetext draft_generate.lt3 >generated/posts/real-title.html # framed
409
- # livetext draft_wrapper_perma.lt3 >generated/posts/perma-title.html # permaframed
410
- #
411
- # Generate associated views:
412
- # livetext ??/recent.lt3 >VIEW/working/recent.html
413
- # livetext VIEW/blog/generate.lt3 ??
414
-
415
378
  def _copy_get_dirs(draft, view)
416
379
  log!(enter: __method__, args: [draft, view])
417
380
  fname = File.basename(draft)
@@ -425,48 +388,73 @@ class RuneBlog
425
388
  [noext, viewdir, slugdir, aslug, theme]
426
389
  end
427
390
 
391
+ def _handle_post(draft, view)
392
+ noext, viewdir, slugdir, aslug, @theme = _copy_get_dirs(draft, view)
393
+ html = noext[5..-1] # strip "nnnn-"
394
+ remote = viewdir + "/remote"
395
+ Dir.chdir(slugdir) do
396
+ copy(draft, ".") # copy source into slugdir
397
+ lt3 = draft.split("/")[-1] # Remember: Some posts may be in more than
398
+ copy(lt3, remote) # one view -- careful with links back
399
+ STDERR.puts "1 pwd = #{Dir.pwd}"
400
+ livetext! draft, html
401
+ STDERR.puts " copy #{html}, #{remote}/#{html}"
402
+ copy(html, "#{remote}/#{html}")
403
+
404
+ title_line = File.readlines(draft).grep(/^.title /).first
405
+ title = title_line.split(" ", 2)[1]
406
+ excerpt = File.read("teaser.txt")
407
+ vars = %[.set title="#{title.chomp}"\n] +
408
+ %[.set teaser="#{excerpt.chomp}"]
409
+ theme = "#{viewdir}/themes/standard"
410
+ File.open("#{theme}/post/vars.lt3", "w") {|f| f.puts vars }
411
+
412
+ livetext! "generate.lt3", "#{remote}/html", "#{theme}/post"
413
+ copy("#{remote}/#{html}", "#{theme}/post")
414
+
415
+ livetext! "permalink.lt3", "#{remote}/permalink/#{html}", "#{theme}/post"
416
+ log!(str: "About to enter remote/", pwd: true, dir: true)
417
+ Dir.chdir(remote) do
418
+ log!(str: "Now in remote/", pwd: true, dir: true)
419
+ system("cp -r ../themes/standard/widgets .")
420
+ log!(str: "finished with remote/", pwd: true, dir: true)
421
+ end
422
+ end
423
+ end
424
+
428
425
  def generate_post(draft)
429
426
  log!(enter: __method__, args: [draft])
430
427
  views = _get_views(draft)
431
428
  views.each do |view|
432
- noext, viewdir, slugdir, aslug, @theme = _copy_get_dirs(draft, view)
433
- # staging = viewdir + "/staging"
434
- remote = viewdir + "/remote"
435
- Dir.chdir(slugdir) do
436
- copy(draft, ".")
437
- lt3 = draft.split("/")[-1]
438
- # Remember: Some posts may be in more than one view -- careful with links back
439
- # system("livetext #{draft} >staging/#{name}/index.html") # permalink?
440
- # copy!("#{@theme}/*", "#{staging}")
441
- # copy(lt3, staging)
442
- copy(lt3, remote)
443
- html = noext[5..-1]
444
- livetext draft, html # livetext "foobar.lt3", "foobar.html"
445
- # copy(html, "../../staging/post/index.html")
446
- copy(html, "../../remote/post/index.html")
447
- title_line = File.readlines(draft).grep(/^.title /).first
448
- title = title_line.split(" ", 2)[1]
449
- excerpt = File.read("teaser.txt")
450
- vars = %[.set title="#{title.chomp}"\n] +
451
- %[.set teaser="#{excerpt.chomp}"]
452
- theme = "../../theme/standard"
453
- File.open("vars.lt3", "w") {|f| f.puts vars }
454
- livetext "#{theme}/post/generate.lt3", "#{remote}/#{html}"
455
- livetext "#{theme}/post/permalink.lt3", "#{remote}/permalink/#{html}"
456
- # puts <<-TEXT
457
- # File.open("vars.lt3", "w") {|f| f.puts vars }
458
- # livetext "../post/generate.lt3", "#{remote}/#{html}"
459
- # livetext "../post/permalink.lt3", "#{remote}/permalink/#{html}"
460
- # TEXT
461
- # system("bash")
462
- log!(str: "About to enter remote/", pwd: true, dir: true)
463
- Dir.chdir(remote) do
464
- log!(str: "Now in remote/", pwd: true, dir: true)
465
- system("cp -r ../themes/standard/widgets .")
466
- log!(str: "finished with remote/", pwd: true, dir: true)
467
- end
468
- end
429
+ _handle_post(draft, view)
469
430
  end
431
+ # noext, viewdir, slugdir, aslug, @theme = _copy_get_dirs(draft, view)
432
+ # remote = viewdir + "/remote"
433
+ # Dir.chdir(slugdir) do
434
+ # copy(draft, ".")
435
+ # lt3 = draft.split("/")[-1]
436
+ # # Remember: Some posts may be in more than one view -- careful with links back
437
+ # copy(lt3, remote)
438
+ # html = noext[5..-1] # strip "nnnn-"
439
+ # livetext! draft, html
440
+ # copy(html, "#{remote}/#{html}")
441
+ # title_line = File.readlines(draft).grep(/^.title /).first
442
+ # title = title_line.split(" ", 2)[1]
443
+ # excerpt = File.read("teaser.txt")
444
+ # vars = %[.set title="#{title.chomp}"\n] +
445
+ # %[.set teaser="#{excerpt.chomp}"]
446
+ # theme = "#{viewdir}/themes/standard"
447
+ # File.open("#{theme}/post/vars.lt3", "w") {|f| f.puts vars }
448
+ # livetext! "generate.lt3", "#{remote}/html", "#{theme}/post"
449
+ # copy("#{remote}/html", "#{theme}/post")
450
+ # livetext! "permalink.lt3", "#{remote}/permalink/#{html}", "#{theme}/post"
451
+ # log!(str: "About to enter remote/", pwd: true, dir: true)
452
+ # Dir.chdir(remote) do
453
+ # log!(str: "Now in remote/", pwd: true, dir: true)
454
+ # system("cp -r ../themes/standard/widgets .")
455
+ # log!(str: "finished with remote/", pwd: true, dir: true)
456
+ # end
457
+ # end
470
458
  end
471
459
 
472
460
  def relink
@@ -2,7 +2,7 @@
2
2
  if ! (Object.constants.include?(:RuneBlog) && RuneBlog.constants.include?(:Path))
3
3
 
4
4
  class RuneBlog
5
- VERSION = "0.2.5"
5
+ VERSION = "0.2.10"
6
6
 
7
7
  path = Gem.find_files("runeblog").grep(/runeblog-/).first
8
8
  Path = File.dirname(path)
@@ -30,6 +30,8 @@ spec = Gem::Specification.new do |s|
30
30
  test = Find.find("test").to_a
31
31
  misc = %w[./README.lt3 ./README.md ./runeblog.gemspec]
32
32
 
33
+ # system("tar zcvf empty_view.tgz empty_view")
34
+
33
35
  s.files = main + misc + test + ["empty_view.tgz"]
34
36
  s.homepage = 'https://github.com/Hal9000/runeblog'
35
37
  s.license = "Ruby"
@@ -21,7 +21,7 @@ end
21
21
  def make_post(x, title, teaser, body, views=[])
22
22
  # STDERR.puts "\n========= make_post '#{title}'"
23
23
  print "."
24
- num = x.create_new_post(title, true, teaser: teaser, body: body, other_views: views)
24
+ x.create_new_post(title, true, teaser: teaser, body: body, other_views: views)
25
25
  views.each {|view| x.generate_index(view) } # recent.html
26
26
  end
27
27
 
@@ -132,5 +132,6 @@ BODY
132
132
 
133
133
  x.change_view("around_austin")
134
134
 
135
+ puts
135
136
  puts Time.now
136
137
  puts
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runeblog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-26 00:00:00.000000000 Z
11
+ date: 2019-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: livetext