runeblog 0.3.02 → 0.3.07
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 +4 -4
- data/bin/blog +17 -16
- data/data/features.txt +1 -1
- data/empty_view/settings/features.txt +1 -1
- data/empty_view/settings/recent.txt +5 -0
- data/lib/helpers-blog.rb +13 -58
- data/lib/helpers-repl.rb +3 -41
- data/lib/liveblog.rb +7 -8
- data/lib/lowlevel.rb +42 -8
- data/lib/post.rb +16 -38
- data/lib/repl.rb +111 -217
- data/lib/runeblog.rb +30 -73
- data/lib/runeblog_version.rb +1 -2
- data/lib/view.rb +4 -0
- data/test/austin.rb +6 -7
- metadata +2 -2
data/lib/repl.rb
CHANGED
@@ -8,74 +8,57 @@ make_exception(:EditorProblem, "Could not edit $1")
|
|
8
8
|
|
9
9
|
module RuneBlog::REPL
|
10
10
|
def edit_file(file, vim: "")
|
11
|
-
|
11
|
+
# STDSCR.saveback
|
12
12
|
ed = @blog.editor
|
13
13
|
params = vim if ed =~ /vim$/
|
14
14
|
result = system!("#{@blog.editor} #{file} #{params}")
|
15
15
|
raise EditorProblem(file) unless result
|
16
|
-
|
17
|
-
|
16
|
+
# STDSCR.restback
|
17
|
+
cmd_clear
|
18
18
|
end
|
19
19
|
|
20
|
-
def cmd_quit
|
21
|
-
|
22
|
-
|
20
|
+
def cmd_quit
|
21
|
+
STDSCR.rows.times { puts " "*(STDSCR.cols-1) }
|
22
|
+
# FIXME please?
|
23
|
+
# sleep 0.1
|
24
|
+
STDSCR.clear
|
23
25
|
sleep 0.1
|
24
|
-
|
26
|
+
RubyText.stop
|
25
27
|
sleep 0.1
|
28
|
+
system("clear")
|
29
|
+
# sleep 0.1
|
26
30
|
exit
|
27
31
|
end
|
28
32
|
|
29
|
-
def cmd_clear
|
30
|
-
|
33
|
+
def cmd_clear
|
34
|
+
STDSCR.rows.times { puts " "*(STDSCR.cols-1) }
|
35
|
+
# sleep 0.1
|
31
36
|
STDSCR.clear
|
32
37
|
end
|
33
38
|
|
34
|
-
def cmd_version
|
35
|
-
|
36
|
-
output RuneBlog::VERSION
|
37
|
-
puts fx("\n RuneBlog", :bold), fx(" v #{RuneBlog::VERSION}\n", Red) unless testing
|
38
|
-
@out
|
39
|
+
def cmd_version
|
40
|
+
puts fx("\n RuneBlog", :bold), fx(" v #{RuneBlog::VERSION}\n", Red)
|
39
41
|
end
|
40
42
|
|
41
|
-
def
|
42
|
-
hash = {"global.lt3 Global configuration" => "global.lt3",
|
43
|
-
"banner/top.lt3 Text portion of banner" => "banner/top.lt3",
|
44
|
-
"blog/generate.lt3 Generator for view (usu not edited)" => "blog/generate.lt3",
|
45
|
-
".... head.lt3 HEAD info for view" => "blog/head.lt3",
|
46
|
-
".... banner.lt3 banner description" => "blog/banner.lt3",
|
47
|
-
".... index.lt3 User-edited detail for view" => "blog/index.lt3",
|
48
|
-
".... post_entry.lt3 Generator for post entry in recent-posts" => "blog/post_entry.lt3",
|
49
|
-
"etc/blog.css.lt3 Global CSS" => "etc/blog.css.lt3",
|
50
|
-
"... externals.lt3 External JS/CSS (Bootstrap, etc.)" => "/etc/externals.lt3",
|
51
|
-
"post/generate.lt3 Generator for a post" => "post/generate.lt3",
|
52
|
-
".... head.lt3 HEAD info for post" => "post/head.lt3",
|
53
|
-
".... index.lt3 Content for post" => "post/index.lt3",
|
54
|
-
".... permalink.lt3 Generator for permalink" => "post/permalink.lt3",
|
55
|
-
}
|
56
|
-
|
57
|
-
dir = @blog.view.dir/"themes/standard/"
|
58
|
-
num, target = STDSCR.menu(title: "Edit file:", items: hash)
|
59
|
-
edit_file(dir/target)
|
60
|
-
end
|
61
|
-
|
62
|
-
def cmd_config(arg, testing = false)
|
43
|
+
def cmd_config
|
63
44
|
hash = {"Global configuration" => "global.lt3",
|
64
45
|
" View-specific variables" => "../../settings/view.txt",
|
65
46
|
" Recent posts" => "../../settings/recent.txt",
|
66
47
|
" Publishing vars" => "../../settings/publish.txt",
|
67
|
-
"
|
68
|
-
"
|
69
|
-
"
|
48
|
+
" Config for reddit" => "../../config/reddit/credentials.txt",
|
49
|
+
" Config for Facebook" => "../../config/facebook/credentials.txt",
|
50
|
+
" Config for Twitter" => "../../config/twitter/credentials.txt",
|
51
|
+
"View generator" => "blog/generate.lt3",
|
52
|
+
" Banner: Description" => "blog/banner.lt3",
|
53
|
+
" Banner: Text portion" => "banner/top.lt3",
|
70
54
|
" HEAD info for view" => "blog/head.lt3",
|
71
55
|
" User-edited detail for view" => "blog/index.lt3",
|
72
|
-
"Generator for
|
73
|
-
"Global CSS" => "etc/blog.css.lt3",
|
74
|
-
"External JS/CSS (Bootstrap, etc.)" => "/etc/externals.lt3",
|
56
|
+
" Generator for recent-posts entry" => "blog/post_entry.lt3",
|
75
57
|
"Generator for a post" => "post/generate.lt3",
|
76
58
|
" HEAD info for post" => "post/head.lt3",
|
77
59
|
" Content for post" => "post/index.lt3",
|
78
|
-
"
|
60
|
+
"Global CSS" => "etc/blog.css.lt3",
|
61
|
+
"External JS/CSS (Bootstrap, etc.)" => "/etc/externals.lt3"
|
79
62
|
}
|
80
63
|
|
81
64
|
dir = @blog.view.dir/"themes/standard/"
|
@@ -83,26 +66,24 @@ module RuneBlog::REPL
|
|
83
66
|
edit_file(dir/target)
|
84
67
|
end
|
85
68
|
|
86
|
-
|
87
|
-
|
88
|
-
def cmd_manage(arg, testing = false)
|
69
|
+
def cmd_manage(arg)
|
89
70
|
case arg
|
90
|
-
when "pages"; _manage_pages(nil
|
91
|
-
when "links"; _manage_links(nil
|
92
|
-
when "navbar"; _manage_navbar(nil
|
93
|
-
# when "pinned"; _manage_pinned(nil
|
71
|
+
when "pages"; _manage_pages(nil)
|
72
|
+
when "links"; _manage_links(nil)
|
73
|
+
when "navbar"; _manage_navbar(nil)
|
74
|
+
# when "pinned"; _manage_pinned(nil) # ditch this??
|
94
75
|
else
|
95
76
|
puts "#{arg} is unknown"
|
96
77
|
end
|
97
78
|
end
|
98
79
|
|
99
|
-
def _manage_pinned
|
80
|
+
def _manage_pinned # cloned from manage_links
|
100
81
|
dir = @blog.view.dir/"themes/standard/widgets/pinned"
|
101
82
|
data = dir/"list.data"
|
102
83
|
edit_file(data)
|
103
84
|
end
|
104
85
|
|
105
|
-
def _manage_navbar
|
86
|
+
def _manage_navbar # cloned from manage_pages
|
106
87
|
dir = @blog.view.dir/"themes/standard/banner/navbar"
|
107
88
|
files = Dir.entries(dir) - %w[. .. navbar.lt3]
|
108
89
|
main_file = "[ navbar.lt3 ]"
|
@@ -131,13 +112,13 @@ module RuneBlog::REPL
|
|
131
112
|
end
|
132
113
|
end
|
133
114
|
|
134
|
-
def _manage_links
|
115
|
+
def _manage_links
|
135
116
|
dir = @blog.view.dir/"themes/standard/widgets/links"
|
136
117
|
data = dir/"list.data"
|
137
118
|
edit_file(data)
|
138
119
|
end
|
139
120
|
|
140
|
-
def _manage_pages(arg
|
121
|
+
def _manage_pages(arg)
|
141
122
|
dir = @blog.view.dir/"themes/standard/widgets/pages"
|
142
123
|
# Assume child files already generated (and list.data??)
|
143
124
|
data = dir/"list.data"
|
@@ -172,73 +153,53 @@ module RuneBlog::REPL
|
|
172
153
|
end
|
173
154
|
end
|
174
155
|
|
175
|
-
def cmd_import
|
156
|
+
def cmd_import
|
176
157
|
files = ask("\n File(s) = ")
|
177
158
|
system!("cp #{files} #{@blog.root}/views/#{@blog.view.name}/assets/")
|
178
159
|
end
|
179
160
|
|
180
|
-
def cmd_browse
|
181
|
-
reset_output
|
161
|
+
def cmd_browse
|
182
162
|
url = @blog.view.publisher.url
|
183
163
|
if url.nil?
|
184
|
-
output! "Publish first."
|
185
164
|
puts "\n Publish first."
|
186
|
-
return
|
165
|
+
return
|
187
166
|
end
|
188
167
|
result = system!("open '#{url}'")
|
189
168
|
raise CantOpen(url) unless result
|
190
|
-
return
|
169
|
+
return
|
191
170
|
end
|
192
171
|
|
193
|
-
def cmd_preview
|
194
|
-
reset_output
|
172
|
+
def cmd_preview
|
195
173
|
local = @blog.view.local_index
|
196
174
|
unless File.exist?(local)
|
197
175
|
puts "\n No index. Rebuilding..."
|
198
|
-
cmd_rebuild
|
176
|
+
cmd_rebuild
|
199
177
|
end
|
200
178
|
result = system!("open #{local}")
|
201
179
|
raise CantOpen(local) unless result
|
202
|
-
@out
|
203
180
|
rescue => err
|
204
|
-
|
205
|
-
File.open(out, "w") do |f|
|
206
|
-
f.puts err
|
207
|
-
f.puts err.backtrace.join("\n")
|
208
|
-
end
|
209
|
-
puts "Error: See #{out}"
|
181
|
+
_tmp_error(err)
|
210
182
|
end
|
211
183
|
|
212
|
-
def cmd_publish
|
184
|
+
def cmd_publish
|
213
185
|
# Future Hal says please refactor this
|
214
|
-
puts
|
215
|
-
reset_output
|
186
|
+
puts
|
216
187
|
unless @blog.view.can_publish?
|
217
188
|
msg = "Can't publish... see global.lt3"
|
218
|
-
puts msg
|
219
|
-
|
220
|
-
return @out
|
189
|
+
puts msg
|
190
|
+
return
|
221
191
|
end
|
222
192
|
|
223
193
|
ret = RubyText.spinner(label: " Publishing... ") do
|
224
194
|
@blog.view.publisher.publish
|
225
195
|
end
|
226
|
-
return
|
196
|
+
return unless ret
|
227
197
|
|
228
198
|
vdir = @blog.view.dir
|
229
199
|
dump("fix this later", "#{vdir}/last_published")
|
230
|
-
|
231
|
-
puts " ...finished.\n "
|
232
|
-
output! "...finished.\n"
|
233
|
-
end
|
234
|
-
return @out
|
200
|
+
puts " ...finished.\n " unless ret
|
235
201
|
rescue => err
|
236
|
-
|
237
|
-
File.open(out, "w") do |f|
|
238
|
-
f.puts err
|
239
|
-
f.puts err.backtrace.join("\n")
|
240
|
-
end
|
241
|
-
puts "Error: See #{out}"
|
202
|
+
_tmp_error(err)
|
242
203
|
end
|
243
204
|
|
244
205
|
def fresh?(src, dst)
|
@@ -259,49 +220,37 @@ module RuneBlog::REPL
|
|
259
220
|
puts
|
260
221
|
end
|
261
222
|
|
262
|
-
def cmd_rebuild
|
223
|
+
def cmd_rebuild
|
263
224
|
debug "Starting cmd_rebuild..."
|
264
|
-
|
265
|
-
|
225
|
+
puts
|
226
|
+
regen_posts
|
266
227
|
@blog.generate_view(@blog.view)
|
267
228
|
@blog.generate_index(@blog.view)
|
268
|
-
regen_posts
|
269
|
-
@out
|
270
229
|
rescue => err
|
271
|
-
|
272
|
-
File.open(out, "w") do |f|
|
273
|
-
f.puts err
|
274
|
-
f.puts err.backtrace.join("\n")
|
275
|
-
end
|
276
|
-
puts "Error: See #{out}"
|
230
|
+
_tmp_error(err)
|
277
231
|
end
|
278
232
|
|
279
|
-
def cmd_change_view(arg
|
280
|
-
reset_output
|
233
|
+
def cmd_change_view(arg)
|
281
234
|
# Simplify this
|
282
235
|
if arg.nil?
|
283
236
|
viewnames = @blog.views.map {|x| x.name }
|
284
237
|
n = viewnames.find_index(@blog.view.name)
|
285
238
|
name = @blog.view.name
|
286
239
|
# TODO: Add view description
|
287
|
-
k, name = STDSCR.menu(title: "Views", items: viewnames, curr: n)
|
240
|
+
k, name = STDSCR.menu(title: "Views", items: viewnames, curr: n)
|
288
241
|
return if name.nil?
|
289
242
|
@blog.view = name
|
290
|
-
|
291
|
-
|
292
|
-
return @out
|
243
|
+
puts "\n ", fx(name, :bold), "\n"
|
244
|
+
return
|
293
245
|
else
|
294
246
|
if @blog.view?(arg)
|
295
247
|
@blog.view = arg
|
296
|
-
|
297
|
-
puts "\n ", fx(arg, :bold), "\n" unless testing
|
248
|
+
puts "\n ", fx(arg, :bold), "\n"
|
298
249
|
end
|
299
250
|
end
|
300
|
-
return @out
|
301
251
|
end
|
302
252
|
|
303
|
-
def cmd_new_view(arg
|
304
|
-
reset_output
|
253
|
+
def cmd_new_view(arg)
|
305
254
|
if arg.nil?
|
306
255
|
arg = ask(fx("\nFilename: ", :bold))
|
307
256
|
puts
|
@@ -313,20 +262,13 @@ module RuneBlog::REPL
|
|
313
262
|
vim_params = '-c ":set hlsearch" -c ":hi Search ctermfg=2 ctermbg=6" +/"\(VIEW_.*\|SITE.*\)"'
|
314
263
|
edit_file(@blog.view.dir/"themes/standard/global.lt3", vim: vim_params)
|
315
264
|
@blog.change_view(arg)
|
316
|
-
@out
|
317
265
|
rescue ViewAlreadyExists
|
318
266
|
puts 'Blog already exists'
|
319
267
|
rescue => err
|
320
|
-
|
321
|
-
File.open(out, "w") do |f|
|
322
|
-
f.puts err
|
323
|
-
f.puts err.backtrace.join("\n")
|
324
|
-
end
|
325
|
-
puts "Error: See #{out}"
|
268
|
+
_tmp_error(err)
|
326
269
|
end
|
327
270
|
|
328
|
-
def cmd_new_post
|
329
|
-
reset_output
|
271
|
+
def cmd_new_post
|
330
272
|
if @blog.views.empty?
|
331
273
|
puts "\n Create a view before creating the first post!\n "
|
332
274
|
return
|
@@ -334,15 +276,8 @@ module RuneBlog::REPL
|
|
334
276
|
title = ask("\nTitle: ")
|
335
277
|
puts
|
336
278
|
@blog.create_new_post(title)
|
337
|
-
# STDSCR.clear
|
338
|
-
@out
|
339
279
|
rescue => err
|
340
|
-
|
341
|
-
File.open(out, "w") do |f|
|
342
|
-
f.puts err
|
343
|
-
f.puts err.backtrace.join("\n")
|
344
|
-
end
|
345
|
-
puts "Error: See #{out}"
|
280
|
+
_tmp_error(err)
|
346
281
|
end
|
347
282
|
|
348
283
|
def _remove_post(arg, testing=false)
|
@@ -351,162 +286,125 @@ module RuneBlog::REPL
|
|
351
286
|
puts "Post #{id} not found" if result.nil?
|
352
287
|
end
|
353
288
|
|
354
|
-
def cmd_remove_post(arg
|
355
|
-
reset_output
|
289
|
+
def cmd_remove_post(arg)
|
356
290
|
args = arg.split
|
357
291
|
args.each do |x|
|
358
292
|
# FIXME
|
359
293
|
ret = _remove_post(x.to_i, false)
|
360
294
|
puts ret
|
361
|
-
output ret
|
362
295
|
end
|
363
|
-
@out
|
364
296
|
end
|
365
297
|
|
366
|
-
def cmd_edit_post(arg
|
367
|
-
reset_output
|
298
|
+
def cmd_edit_post(arg)
|
368
299
|
id = get_integer(arg)
|
369
300
|
# Simplify this
|
370
301
|
tag = "#{'%04d' % id}"
|
371
302
|
files = ::Find.find(@blog.root/:drafts).to_a
|
372
303
|
files = files.grep(/#{tag}-.*lt3/)
|
373
|
-
|
374
|
-
|
375
|
-
msg = "Multiple files: #{files}"
|
376
|
-
output msg
|
377
|
-
puts msg unless testing
|
378
|
-
return [false, msg]
|
379
|
-
end
|
380
|
-
if files.empty?
|
381
|
-
msg = "\n Can't edit post #{id}"
|
382
|
-
output msg
|
383
|
-
puts msg unless testing
|
384
|
-
return [false, msg]
|
385
|
-
end
|
386
|
-
|
387
|
-
file = files.first
|
388
|
-
draft = @blog.root/:drafts/file
|
389
|
-
vim_params = '-c G'
|
390
|
-
result = edit_file(draft)
|
304
|
+
draft = exactly_one(files)
|
305
|
+
result = edit_file(draft, vim: '-c$')
|
391
306
|
@blog.generate_post(draft)
|
392
307
|
rescue => err
|
393
|
-
|
394
|
-
File.open(out, "w") do |f|
|
395
|
-
f.puts err
|
396
|
-
f.puts err.backtrace.join("\n")
|
397
|
-
end
|
398
|
-
puts "Error: See #{out}"
|
308
|
+
_tmp_error(err)
|
399
309
|
end
|
400
310
|
|
401
|
-
def cmd_list_views
|
402
|
-
|
403
|
-
puts unless testing
|
311
|
+
def cmd_list_views
|
312
|
+
puts
|
404
313
|
@blog.views.each do |v|
|
405
314
|
v = v.to_s
|
406
315
|
v = fx(v, :bold) if v == @blog.view.name
|
407
|
-
output v + "\n"
|
408
316
|
# FIXME: next 3 lines are crufty as hell
|
409
|
-
lines = File.readlines(@blog.root/"views/#{v}/
|
410
|
-
lines = lines.select {|x| x =~ /^
|
317
|
+
lines = File.readlines(@blog.root/"views/#{v}/settings/view.txt")
|
318
|
+
lines = lines.select {|x| x =~ /^title / && x !~ /VIEW_/ }
|
411
319
|
title = lines.first.split(" ", 2)[1]
|
412
|
-
print " ", ('%15s' % v)
|
413
|
-
puts " ", fx(title, :black)
|
320
|
+
print " ", ('%15s' % v)
|
321
|
+
puts " ", fx(title, :black)
|
414
322
|
end
|
415
|
-
puts
|
416
|
-
# @out
|
323
|
+
puts
|
417
324
|
end
|
418
325
|
|
419
|
-
def cmd_list_posts
|
420
|
-
reset_output
|
326
|
+
def cmd_list_posts
|
421
327
|
posts = @blog.posts # current view
|
422
328
|
str = @blog.view.name + ":\n"
|
423
|
-
|
424
|
-
puts unless testing
|
425
|
-
puts " ", fx(str, :bold) unless testing
|
329
|
+
puts
|
426
330
|
if posts.empty?
|
427
|
-
|
428
|
-
puts " No posts" unless testing
|
331
|
+
puts " No posts"
|
429
332
|
else
|
430
333
|
posts.each do |post|
|
431
|
-
outstr " #{colored_slug(post)}\n"
|
432
334
|
base = post.sub(/.lt3$/, "")
|
433
|
-
|
434
|
-
|
335
|
+
dir = @blog.root/:posts/base
|
336
|
+
meta = nil
|
337
|
+
Dir.chdir(dir) { meta = @blog.read_metadata }
|
338
|
+
num, title = meta.num, meta.title
|
339
|
+
num = '%4d' % num.to_s
|
340
|
+
puts " ", fx(num, Red), " ", fx(title, Blue)
|
435
341
|
draft = @blog.root/:drafts/post + ".lt3"
|
436
|
-
other =
|
342
|
+
other = meta.views - [@blog.view.to_s]
|
437
343
|
unless other.empty?
|
438
|
-
print fx(" "*
|
344
|
+
print fx(" "*9 + "also in: ", :bold)
|
439
345
|
puts other.join(", ")
|
440
346
|
end
|
441
347
|
end
|
442
348
|
end
|
443
|
-
puts
|
444
|
-
@out
|
349
|
+
puts
|
445
350
|
end
|
446
351
|
|
447
|
-
def cmd_list_drafts
|
448
|
-
reset_output
|
352
|
+
def cmd_list_drafts
|
449
353
|
drafts = @blog.drafts # current view
|
450
354
|
if drafts.empty?
|
451
|
-
|
452
|
-
|
453
|
-
return @out
|
355
|
+
puts "\n No drafts\n "
|
356
|
+
return
|
454
357
|
else
|
455
|
-
puts
|
358
|
+
puts
|
456
359
|
drafts.each do |draft|
|
457
|
-
outstr " #{colored_slug(draft.sub(/.lt3$/, ""))}\n"
|
458
360
|
base = draft.sub(/.lt3$/, "")
|
459
|
-
|
460
|
-
|
361
|
+
dir = @blog.root/:posts/base
|
362
|
+
meta = nil
|
363
|
+
Dir.chdir(dir) { meta = @blog.read_metadata }
|
364
|
+
num, title = meta.num, meta.title
|
365
|
+
num = '%4d' % num.to_s
|
366
|
+
puts " ", fx(num, Red), " ", fx(title, Blue)
|
461
367
|
other = @blog._get_views(@blog.root/:drafts/draft) - [@blog.view.to_s]
|
462
368
|
unless other.empty?
|
463
|
-
print fx(" "*
|
369
|
+
print fx(" "*9 + "also in: ", :bold)
|
464
370
|
puts other.join(", ")
|
465
371
|
end
|
466
372
|
end
|
467
373
|
end
|
468
|
-
puts
|
469
|
-
@out
|
374
|
+
puts
|
470
375
|
end
|
471
376
|
|
472
|
-
def cmd_list_assets
|
473
|
-
reset_output
|
377
|
+
def cmd_list_assets
|
474
378
|
dir = @blog.view.dir + "/assets"
|
475
379
|
assets = Dir[dir + "/*"]
|
476
380
|
if assets.empty?
|
477
|
-
|
478
|
-
|
479
|
-
return @out
|
381
|
+
puts " No assets"
|
382
|
+
return
|
480
383
|
else
|
481
|
-
puts
|
384
|
+
puts
|
482
385
|
assets.each do |name|
|
483
386
|
asset = File.basename(name)
|
484
|
-
|
485
|
-
puts " ", fx(asset, Blue) unless testing
|
387
|
+
puts " ", fx(asset, Blue)
|
486
388
|
end
|
487
389
|
end
|
488
|
-
puts
|
489
|
-
@out
|
390
|
+
puts
|
490
391
|
end
|
491
392
|
|
492
|
-
def cmd_ssh
|
393
|
+
def cmd_ssh
|
493
394
|
pub = @blog.view.publisher
|
494
395
|
puts
|
495
396
|
system!("tputs clear; ssh #{pub.user}@#{pub.server}")
|
496
397
|
sleep 0.1
|
497
|
-
cmd_clear
|
398
|
+
cmd_clear
|
498
399
|
end
|
499
400
|
|
500
|
-
def cmd_INVALID(arg
|
501
|
-
reset_output "\n Command '#{arg}' was not understood."
|
401
|
+
def cmd_INVALID(arg)
|
502
402
|
print fx("\n Command ", :bold)
|
503
403
|
print fx(arg, Red, :bold)
|
504
404
|
puts fx(" was not understood.\n ", :bold)
|
505
|
-
@out
|
506
405
|
end
|
507
406
|
|
508
|
-
def cmd_legacy
|
509
|
-
# dir = ask("Dir = ")
|
407
|
+
def cmd_legacy
|
510
408
|
dir = "sources/computing"
|
511
409
|
puts "Importing from: #{dir}"
|
512
410
|
files = Dir[dir/"**"]
|
@@ -555,7 +453,7 @@ module RuneBlog::REPL
|
|
555
453
|
{Posts:} {Advanced:}
|
556
454
|
------------------------------------------- -------------------------------------------
|
557
455
|
{p, post} Create a new post {config} Edit various system files
|
558
|
-
{new post} Same as p, post
|
456
|
+
{new post} Same as p, post
|
559
457
|
{lsp, list posts} List posts in current view {preview} Look at current (local) view in browser
|
560
458
|
{lsd, list drafts} List all drafts (all views) {browse} Look at current (published) view in browser
|
561
459
|
{delete ID [ID...]} Remove multiple posts {rebuild} Regenerate all posts and relink
|
@@ -564,10 +462,8 @@ module RuneBlog::REPL
|
|
564
462
|
{import ASSETS} Import assets (images, etc.) {manage WIDGET} Manage content/layout of a widget
|
565
463
|
EOS
|
566
464
|
|
567
|
-
def cmd_help
|
568
|
-
reset_output
|
465
|
+
def cmd_help
|
569
466
|
msg = Help
|
570
|
-
output msg
|
571
467
|
msg.each_line do |line|
|
572
468
|
e = line.each_char
|
573
469
|
first = true
|
@@ -590,8 +486,6 @@ module RuneBlog::REPL
|
|
590
486
|
print s1
|
591
487
|
end
|
592
488
|
end
|
593
|
-
puts
|
594
|
-
@out
|
489
|
+
puts
|
595
490
|
end
|
596
491
|
end
|
597
|
-
|