runeblog 0.2.26 → 0.2.31

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: d72cd82f9c7134b97443bf105553f82e4520ecc3fee581a9a0543c1ea91cf82b
4
- data.tar.gz: 31db4f83710a441e5a27305edba5c198e6e62138e2b40ae4c87131229b7033b5
3
+ metadata.gz: 24f0f2eb8b2b217131e1a0bf2c74edd38efd672161f4cfbbe2f32caca0f7198a
4
+ data.tar.gz: a356e607a4e20cf4e024995441966f42031f98ce58ef1bff1b616d3f44446cd2
5
5
  SHA512:
6
- metadata.gz: 1a74945ef0c5a2bed46e70987895e1a5bd2886de6dde5a433a03b7e827f94aa6d5c2e16f577ee8f04edb76938b1285acb5f9236ebe970146524ab62e1c03504b
7
- data.tar.gz: ef357bcfe3df3a79fe91dfc0287b319327bf403a6f26d402975a5b65a67febf72756cbd04a75c7e2489cc9ad3a54859f9e8576094236f147824f5de1450424da
6
+ metadata.gz: 23d9b96c624032f42f9928e376c3df6d075a548b4f53278c8adecc9c7379ab999b0d2c2964f867c9379fb78d0373863a5de57b52e8c12a3dfbca463f502b288e
7
+ data.tar.gz: 50b81e2e7db6e3f418600bf529fedd1353eeffb39a1bab6f58ed72641e244d4608c44c580864e9c420a6bdd3f39d40f3a8314b551197ef5d26bcee93366852c6
Binary file
@@ -67,17 +67,17 @@ module RuneBlog::Helpers
67
67
  vals
68
68
  end
69
69
 
70
- def put_config(root:, view:"test_view", editor: "/usr/local/bin/vim")
71
- log!(enter: __method__, args: [root, view, editor])
72
- Dir.mkdir(root) unless Dir.exist?(root)
73
- Dir.chdir(root) do
74
- File.open("config", "w") do |cfg|
75
- cfg.puts "root: #{root}"
76
- cfg.puts "current_view: #{view}"
77
- cfg.puts "editor: #{editor}"
78
- end
79
- end
80
- end
70
+ # def put_config(root:, view:"test_view", editor: "/usr/local/bin/vim")
71
+ # log!(enter: __method__, args: [root, view, editor])
72
+ # Dir.mkdir(root) unless Dir.exist?(root)
73
+ # Dir.chdir(root) do
74
+ # File.open("config", "w") do |cfg|
75
+ # cfg.puts "root: #{root}"
76
+ # cfg.puts "current_view: #{view}"
77
+ # cfg.puts "editor: #{editor}"
78
+ # end
79
+ # end
80
+ # end
81
81
 
82
82
  def write_config(obj, file)
83
83
  log!(enter: __method__, args: [obj, file])
@@ -95,10 +95,10 @@ end
95
95
 
96
96
  def new_dotfile(root: ".blogs", current_view: "test_view", editor: "vi")
97
97
  log!(enter: __method__, args: [root, current_view, editor])
98
- root = Dir.pwd + "/" + root
98
+ root = Dir.pwd/root
99
99
  x = OpenStruct.new
100
100
  x.root, x.current_view, x.editor = root, current_view, editor
101
- write_config(x, ".blogs/" + RuneBlog::ConfigFile)
101
+ write_config(x, root/RuneBlog::ConfigFile)
102
102
  end
103
103
 
104
104
  def new_sequence
@@ -207,19 +207,6 @@ module RuneBlog::REPL
207
207
  error(err)
208
208
  end
209
209
 
210
- def ask_publishing_info # returns Publishing object
211
- # user, server, root, path, protocol = "http"
212
- puts "Please enter publishing data for view #{@blog.view}..."
213
- user = ask("User: ")
214
- root = ask("Doc root: ")
215
- server = ask("Server: ")
216
- path = ask("View path: ")
217
- proto = ask("Protocol (ENTER for http): ")
218
- [user, root, server, path, proto].each {|x| x.chomp! }
219
- proto = "http" if proto.empty?
220
- RuneBlog::Publishing.new(user, server, root, path, proto)
221
- end
222
-
223
210
  def tags_for_view(vname = @blog.view)
224
211
  Dir.chdir(vname) do
225
212
  fname = "tagpool"
@@ -13,7 +13,7 @@ def init_liveblog # FIXME - a lot of this logic sucks
13
13
  here = Dir.pwd
14
14
  dir = here
15
15
  loop { dir = Dir.pwd; break if File.exist?("config"); Dir.chdir("..") }
16
- Dir.chdir(here)
16
+ Dir.chdir(here) # here??? or dir??
17
17
  @blog = RuneBlog.new(dir)
18
18
  @root = @blog.root
19
19
  @view = @blog.view
@@ -23,21 +23,6 @@ def init_liveblog # FIXME - a lot of this logic sucks
23
23
  @theme = @vdir/:themes/:standard
24
24
  end
25
25
 
26
- ## FIXME - livetext is duplicated from helpers-blog
27
- #
28
- # def livetext(src, dst=nil, cwd=Dir.pwd)
29
- # Dir.chdir(cwd) do
30
- # src += ".lt3" unless src.end_with?(".lt3")
31
- # if dst
32
- # dst += ".html" unless dst.end_with?(".html")
33
- # else
34
- # dst = src.sub(/.lt3$/, "")
35
- # end
36
- # return unless stale?(src, dst)
37
- # system("livetext #{src} >#{dst}")
38
- # end
39
- # end
40
-
41
26
  ##################
42
27
  # "dot" commands
43
28
  ##################
@@ -52,6 +37,27 @@ def backlink
52
37
  _out %[<br><a href="javascript:history.go(-1)">[Back]</a>]
53
38
  end
54
39
 
40
+ def dropcap
41
+ # Bad form: adds another HEAD
42
+ _out <<-HTML
43
+ <head>
44
+ <style>
45
+ p:first-child:first-letter {
46
+ color: #0000ff;
47
+ float: left;
48
+ font-family: Georgia;
49
+ font-size: 75px;
50
+ line-height: 60px;
51
+ padding-top: 4px;
52
+ padding-right: 8px;
53
+ padding-left: 3px;
54
+ }
55
+ </style>
56
+ </head>
57
+ HTML
58
+ _out " "
59
+ end
60
+
55
61
  def quote
56
62
  _passthru "<blockquote>"
57
63
  _passthru _body
@@ -307,7 +313,7 @@ end
307
313
  def recent_posts # side-effect
308
314
  _out <<-HTML
309
315
  <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12">
310
- <iframe id="main" style="width: 100vw; height: 100vh; position: relative;"
316
+ <iframe id="main" style="width: 70vw; height: 100vh; position: relative;"
311
317
  src='recent.html' width=100% frameborder="0" allowfullscreen>
312
318
  </iframe>
313
319
  </div>
@@ -557,24 +563,17 @@ def _write_card(cardfile, mainfile, pairs, card_title, tag, relative: true)
557
563
  local = _local_tag?(tag)
558
564
  pairs.each do |file, title|
559
565
  url = file
560
- yesno = "yes"
561
- yesno, title = title.split(/, */) if title =~ /^[yes|no]/ # FIXME please!
562
-
563
- case [yesno, local]
564
- when ["yes", false] # can iframe, remote file
565
- url_ref = "href='#{file}'"
566
- when ["yes", true] # can iframe, local file
567
- url_ref = _widget_card(file, tag)
568
- when ["no", false] # CAN'T iframe, remote file
569
- url_ref = _blank(file)
570
- when ["no", true] # CAN'T iframe, local file (possible?)
571
- url_ref = _blank(file)
566
+ type, title = page_type(tag, title)
567
+ case type
568
+ when :local; url_ref = _widget_main(file, tag) # local always frameable
569
+ when :frame; url_ref = _main(file) # remote, frameable
570
+ when :noframe; url_ref = _blank(file) # remote, not frameable
572
571
  end
573
-
574
572
  anchor = %[<a #{url_ref}>#{title}</a>]
575
573
  wrapper = %[<li class="list-group-item">#{anchor}</li>]
576
574
  f.puts wrapper
577
575
  end
576
+ _include_file cardfile+".html"
578
577
  f.puts <<-EOS
579
578
  </div>
580
579
  </div>
@@ -594,6 +593,20 @@ def _local_tag?(tag)
594
593
  end
595
594
  end
596
595
 
596
+ def page_type(tag, title)
597
+ yesno = "yes"
598
+ yesno, title = title.split(/, */) if title =~ /^[yes|no]/
599
+ local = _local_tag?(tag)
600
+ frameable = (yesno == "yes")
601
+ if local
602
+ return [:local, title]
603
+ elsif frameable
604
+ return [:frame, title]
605
+ else
606
+ return [:noframe, title]
607
+ end
608
+ end
609
+
597
610
  def _write_main(mainfile, pairs, card_title, tag)
598
611
  log!(str: "Creating #{mainfile}.html", pwd: true)
599
612
  local = _local_tag?(tag)
@@ -601,17 +614,12 @@ def _write_main(mainfile, pairs, card_title, tag)
601
614
  _html_body(f) do
602
615
  f.puts "<h1>#{card_title}</h1>"
603
616
  pairs.each do |file, title|
604
- yesno = "yes"
605
- yesno, title = title.split(/, */) if title =~ /^[yes|no]/ # FIXME please!
606
- case [yesno, local]
607
- when ["yes", false] # can iframe, remote file
608
- url_ref = "href='#{file}'"
609
- when ["yes", true] # can iframe, local file
610
- url_ref = _widget_main(file, tag)
611
- when ["no", false] # CAN'T iframe, remote file
612
- url_ref = _blank(file)
613
- when ["no", true] # CAN'T iframe, local file (possible?)
614
- url_ref = _blank(file)
617
+ type, title = page_type(tag, title)
618
+ title = title.gsub(/\\/, "") # kludge
619
+ case type
620
+ when :local; url_ref = _widget_main(file, tag) # local always frameable
621
+ when :frame; url_ref = "href = '#{file}'" # local always frameable
622
+ when :noframe; url_ref = _blank(file) # local always frameable
615
623
  end
616
624
  css = "color: #8888FF; text-decoration: none; font-size: 24px; font-family: verdana"
617
625
  f.puts %[<a style="#{css}" #{url_ref}>#{title}</a> <br>]
@@ -63,8 +63,8 @@ class RuneBlog::Post
63
63
  end
64
64
 
65
65
  def self.create(title:, teaser:, body:, pubdate: Time.now.strftime("%Y-%m-%d"),
66
- other_views:[])
67
- log!(enter: __method__, args: [title, teaser, body, pubdate, other_views])
66
+ views:[])
67
+ log!(enter: __method__, args: [title, teaser, body, pubdate, views])
68
68
  post = self.new
69
69
  # NOTE: This is the ONLY place next_sequence is called!
70
70
  num = post.meta.num = post.blog.next_sequence
@@ -72,7 +72,8 @@ class RuneBlog::Post
72
72
  # new_metadata
73
73
  post.meta.title, post.meta.teaser, post.meta.body, post.meta.pubdate =
74
74
  title, teaser, body, pubdate
75
- post.meta.views = [post.blog.view.to_s] + other_views
75
+ post.meta.views = [post.blog.view.to_s] + views
76
+ # STDERR.puts "Post.create: views = #{views.inspect}"
76
77
  post.meta.tags = []
77
78
  post.blog.make_slug(post.meta) # adds to meta
78
79
 
@@ -7,18 +7,27 @@ class RuneBlog::Publishing
7
7
  BadRemoteLogin = Exception.new("Can't login remotely")
8
8
  BadRemotePerms = Exception.new("Bad remote permissions")
9
9
 
10
- def initialize(*params)
11
- log!(enter: __method__, args: [*params])
10
+ def initialize(view)
11
+ log!(enter: __method__, args: [view.to_s])
12
12
  @blog = RuneBlog.blog
13
- # Clunky...
14
- if params.size == 1 && params[0].is_a?(OpenStruct)
15
- obj = params[0]
16
- array = obj.to_h.values_at(:user, :server, :docroot,
17
- :path, :proto)
18
- @user, @server, @docroot, @path, @proto = *array
19
- else
20
- @user, @server, @docroot, @path, @proto = *params
21
- end
13
+ # # Clunky...
14
+ # if params.size == 1 && params[0].is_a?(OpenStruct)
15
+ # obj = params[0]
16
+ # array = obj.to_h.values_at(:user, :server, :docroot,
17
+ # :path, :proto)
18
+ # @user, @server, @docroot, @path, @proto = *array
19
+ # else
20
+ # @user, @server, @docroot, @path, @proto = *params
21
+ # end
22
+ # find a better way?
23
+ gfile = @blog.root/:views/view/"themes/standard/global.lt3"
24
+ data = File.readlines(gfile)
25
+ grab = ->(var) { data.grep(/^#{var} /).first.chomp.split(" ", 2)[1] }
26
+ @user = grab.call("publish.user")
27
+ @server = grab.call("publish.server")
28
+ @docroot = grab.call("publish.docroot")
29
+ @path = grab.call("publish.path")
30
+ @proto = grab.call("publish.proto")
22
31
  end
23
32
 
24
33
  def to_h
@@ -30,7 +39,7 @@ class RuneBlog::Publishing
30
39
  def url
31
40
  log!(enter: __method__)
32
41
  vname = @blog.view.name # .gsub(/_/, "\\_")
33
- url = "#@proto://#@server/#@path/#{vname}"
42
+ url = "#@proto://#@server/#@path" # /#{vname}"
34
43
  end
35
44
 
36
45
  def system!(str)
@@ -43,11 +52,11 @@ class RuneBlog::Publishing
43
52
  log!(enter: __method__, args: [files, assets])
44
53
  dir = @docroot/@path
45
54
  view_name = @blog.view.name
46
- viewpath = dir/view_name
47
- result = system!("ssh #@user@#@server -x mkdir -p #{viewpath}")
55
+ viewpath = dir # /view_name
56
+ # result = system!("ssh #@user@#@server -x mkdir -p #{viewpath}")
48
57
  result = system!("ssh #@user@#@server -x mkdir -p #{viewpath}/assets")
49
58
  files.each do |file|
50
- dest = "#@user@#@server:" + dir/view_name
59
+ dest = "#@user@#@server:" + dir # /view_name
51
60
  file.gsub!(/\/\//, "/") # weird... :-/
52
61
  cmd = "scp -r #{file} #{dest} >/dev/null 2>/tmp/wtf"
53
62
  debug "cmd = #{cmd.inspect} - see /tmp/wtf"
@@ -39,10 +39,7 @@ module RuneBlog::REPL
39
39
  def cmd_config(arg, testing = false)
40
40
  check_empty(arg)
41
41
  dir = @blog.view.dir
42
- # FIXME bad path
43
- items = ["publish",
44
- "themes/standard/blogview.lt3",
45
- "themes/standard/post-index.lt3"]
42
+ items = ["themes/standard/blogview.lt3", "themes/standard/post-index.lt3"]
46
43
  num, fname = STDSCR.menu(title: "Edit file:", items: items)
47
44
  edit_file("#{dir}/#{fname}")
48
45
  end
@@ -98,8 +95,9 @@ module RuneBlog::REPL
98
95
  reset_output
99
96
  check_empty(arg)
100
97
  unless @blog.view.can_publish?
101
- puts "Can't publish without entries in #{@blog.view.name}/publish" unless testing
102
- output! "Can't publish without entries in #{@blog.view.name}/publish"
98
+ msg = "Can't publish... see globals.lt3"
99
+ puts msg unless testing
100
+ output! msg
103
101
  return @out
104
102
  end
105
103
 
@@ -179,12 +177,6 @@ module RuneBlog::REPL
179
177
  reset_output
180
178
  @blog.create_view(arg)
181
179
  @blog.change_view(arg)
182
- resp = yesno("Add publishing/hosting info now? (Y/N): ")
183
- if resp
184
- @blog.view.publisher = ask_publishing_info
185
- out = @blog.view.dir + "/publish"
186
- write_config(@blog.view.publisher, out)
187
- end
188
180
  @out
189
181
  rescue ViewAlreadyExists
190
182
  puts 'Blog already exists'
@@ -64,7 +64,10 @@ class RuneBlog
64
64
  create_dirs(:drafts, :views, :posts)
65
65
  new_sequence
66
66
  end
67
- put_config(root: root)
67
+ # put_config(root: root)
68
+ x = OpenStruct.new
69
+ x.root, x.current_view, x.editor = root, "test_view", "/usr/bin/vim " # dumb - FIXME later
70
+ write_config(x, root/ConfigFile)
68
71
  @blog = self.new(root)
69
72
  @blog.create_view("test_view")
70
73
  @blog
@@ -101,16 +104,13 @@ class RuneBlog
101
104
  def _deploy_local(dir)
102
105
  log!(enter: __method__, args: [dir])
103
106
  Dir.chdir(dir) do
104
- # views = File.readlines("metadata.txt").grep(/^views: /).first[7..-1].split
105
107
  views = _retrieve_metadata(:views)
106
- STDERR.puts "---- deploy: views = #{views.inspect}"
107
108
  views.each {|v| system!("cp *html #@root/views/#{v}/remote") }
108
109
  end
109
110
  end
110
111
 
111
112
  def _retrieve_metadata(key)
112
113
  key = key.to_s
113
- STDERR.puts "--- retrieve: key = #{key.inspect}"
114
114
  lines = File.readlines("metadata.txt")
115
115
  lines = lines.grep(/^#{key}: /)
116
116
  case lines.size
@@ -118,7 +118,7 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
118
118
  result = nil # not found
119
119
  when 1
120
120
  front = "#{key}: "
121
- n = front.size + 1
121
+ n = front.size
122
122
  str = lines.first.chomp[n..-1]
123
123
  case key
124
124
  when "views", "tags" # plurals
@@ -172,10 +172,7 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
172
172
 
173
173
  def _set_publisher
174
174
  log!(enter: __method__)
175
- file = @view.dir/:publish
176
- @view.publisher = nil
177
- return unless File.exist?(file)
178
- @view.publisher = RuneBlog::Publishing.new(read_config(file))
175
+ @view.publisher = RuneBlog::Publishing.new(@view.to_s) # FIXME refactor
179
176
  end
180
177
 
181
178
  def view=(arg)
@@ -219,15 +216,6 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
219
216
  Dir.exist?(DotDir) && File.exist?(DotDir/ConfigFile)
220
217
  end
221
218
 
222
- def make_dummy_publish_file(view_name)
223
- log!(enter: __method__, args: [view_name])
224
- vdir = @root/:views/view_name
225
- pub = [:user, :server, :docroot, :path, :proto]
226
- pub = pub.map {|x| x.to_s + ": undefined" }
227
- pub = pub.join("\n") + "\n"
228
- dump(pub, vdir/:publish)
229
- end
230
-
231
219
  def mark_last_published(str)
232
220
  log!(enter: __method__, args: [str])
233
221
  dump(str, "last_published")
@@ -267,7 +255,6 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
267
255
  log!(enter: __method__, args: [view_name])
268
256
  check_valid_new_view(view_name)
269
257
  make_empty_view_tree(view_name)
270
- make_dummy_publish_file(view_name)
271
258
  mark_last_published("Initial creation")
272
259
  add_view(view_name)
273
260
  end
@@ -310,7 +297,7 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
310
297
  id = slug.to_i
311
298
  text = nil
312
299
  post_entry_name = @theme/"blog/post_entry.lt3"
313
- xlate src: post_entry_name, dst: "/tmp/post_entry.html", debug: true
300
+ xlate src: post_entry_name, dst: "/tmp/post_entry.html" # , debug: true
314
301
  @_post_entry ||= File.read("/tmp/post_entry.html")
315
302
  vp = post_lookup(id)
316
303
  nslug, aslug, title, date, teaser_text =
@@ -349,11 +336,12 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
349
336
  File.write(@vdir/:remote/file, text)
350
337
  end
351
338
 
352
- def create_new_post(title, testing = false, teaser: nil, body: nil, other_views: [])
353
- log!(enter: __method__, args: [title, testing, teaser, body, other_views])
339
+ def create_new_post(title, testing = false, teaser: nil, body: nil, views: [])
340
+ log!(enter: __method__, args: [title, testing, teaser, body, views])
354
341
  meta = nil
342
+ views = views + [self.view.to_s]
355
343
  Dir.chdir(@root/:posts) do
356
- post = Post.create(title: title, teaser: teaser, body: body, other_views: other_views)
344
+ post = Post.create(title: title, teaser: teaser, body: body, views: views)
357
345
  post.edit unless testing
358
346
  post.build
359
347
  meta = post.meta
@@ -394,7 +382,7 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
394
382
  raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View)
395
383
  x = OpenStruct.new
396
384
  x.root, x.current_view, x.editor = @root, view.to_s, @editor # dumb - FIXME later
397
- write_config(x, ConfigFile)
385
+ write_config(x, @root/ConfigFile)
398
386
  self.view = view # error checking?
399
387
  end
400
388
 
@@ -413,6 +401,8 @@ STDERR.puts "--- retrieve: key = #{key.inspect}"
413
401
  src: "blog.css.lt3", copy: vdir/"remote/etc/blog.css" # , debug: true
414
402
  xlate cwd: vdir/"themes/standard",
415
403
  src: "blog/generate.lt3", dst: vdir/:remote/"index.html"
404
+ copy("#{vdir}/assets/*", "#{vdir}/remote/assets/")
405
+
416
406
  end
417
407
 
418
408
  def _get_views(draft)
@@ -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.26"
5
+ VERSION = "0.2.31"
6
6
 
7
7
  path = Gem.find_files("runeblog").grep(/runeblog-/).first
8
8
  Path = File.dirname(path)
@@ -12,12 +12,8 @@ class RuneBlog::View
12
12
  raise NoBlogAccessor if RuneBlog.blog.nil?
13
13
  @blog = RuneBlog.blog
14
14
  @name = name
15
- @can_publish = false
16
- pub_file = @blog.root + "/views/#@name/publish"
17
- if File.exist?(pub_file) && File.size(pub_file) != 0
18
- @publisher = RuneBlog::Publishing.new(read_config(pub_file))
19
- @can_publish = true
20
- end
15
+ @publisher = RuneBlog::Publishing.new(name)
16
+ @can_publish = true # FIXME
21
17
  end
22
18
 
23
19
  def dir
@@ -45,7 +41,8 @@ class RuneBlog::View
45
41
  vdir = dir()
46
42
  remote = local_index()
47
43
  files = [remote]
48
- others = Dir.entries(vdir + "/remote").map {|x| "#{vdir}/remote/#{x}" }
44
+ others = Dir.entries(vdir/:remote) - %w[. ..]
45
+ others.map! {|x| "#{vdir}/remote/#{x}" }
49
46
 
50
47
  assets = Dir.entries("#{vdir}/assets") - %w[. ..]
51
48
  assets.map! {|x| "#{vdir}/assets/#{x}" }
@@ -219,7 +219,7 @@ class TestREPL < Minitest::Test
219
219
  @blog.undelete_post(7)
220
220
  end
221
221
 
222
- if File.exist?("testing.publish")
222
+ if File.exist?("testing.publish") # FIXME!!!
223
223
 
224
224
  def xtest_016_can_publish
225
225
  # puts __method__
@@ -29,7 +29,7 @@ end
29
29
 
30
30
  def make_post(x, title, teaser, body, views=[])
31
31
  debug " make_post #{bold(title)}"
32
- x.create_new_post(title, true, teaser: teaser, body: body, other_views: views)
32
+ x.create_new_post(title, true, teaser: teaser, body: body, views: views)
33
33
  views.each do |view|
34
34
  debug
35
35
  debug "** generate_index #{bold(view)}"
@@ -46,7 +46,7 @@ end
46
46
 
47
47
  # "Main"...
48
48
 
49
- puts Time.now
49
+ puts bold("\nGenerating test blog...")
50
50
 
51
51
  system("rm -rf .blogs")
52
52
  RuneBlog.create_new_blog_repo(".blogs")
@@ -116,8 +116,32 @@ x.change_view("around_austin")
116
116
  make_post(x, "The graffiti wall", <<-EXCERPT, <<-BODY)
117
117
  RIP, Hope Gallery
118
118
  EXCERPT
119
+ .dropcap
120
+
119
121
  It's been a while since I was there. They say it was torn down
120
122
  while I wasn't looking.
123
+
124
+ This fake entry is a long one so as to demonstrate both drop-caps
125
+ (above) and an inset quote. Blah blah blah. Lorem ipsum dolor and
126
+ a partridge in a pear tree.
127
+
128
+ Wherever you go, there you are. Last night I saw upon the stair
129
+ a little man who was not there. He wasn't there again today; I
130
+ wish, I wish he'd go away.
131
+
132
+ As far as we know, our computer has never had an undetected error.
133
+ And never let it be denied that pobbles are happier without their
134
+ toes. And may your snark never be a boojum.
135
+
136
+ Contact light. Houston, this is Tranquility Base. The Eagle has
137
+ landed. That's one small step for (a) man, one giant leap for
138
+ mankind.
139
+ .inset left
140
+ On a clean disk, you can seek forever.
141
+ .end
142
+
143
+ Pity this busy monster, manunkind, not. Pity rather... Listen:
144
+ There's a hell of a universe next door; let's go.
121
145
  BODY
122
146
 
123
147
  make_post(x, "The Waller Creek project", <<-EXCERPT, <<-BODY)
@@ -145,5 +169,7 @@ BODY
145
169
  debug
146
170
  debug("** generate_view: #{bold('around_austin')}")
147
171
  x.generate_view("around_austin")
172
+ x.change_view("around_austin")
173
+
174
+ puts bold("...finished.\n")
148
175
 
149
- debug
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.26
4
+ version: 0.2.31
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-10-11 00:00:00.000000000 Z
11
+ date: 2019-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: livetext