runeblog 0.2.26 → 0.2.31

Sign up to get free protection for your applications and to get access to all the features.
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