runeblog 0.2.51 → 0.2.52
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/lib/helpers-repl.rb +2 -19
- data/lib/repl.rb +85 -43
- data/lib/runeblog.rb +20 -10
- data/lib/runeblog_version.rb +1 -1
- data/lib/xlate.rb +3 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fab29a6bc9b27d8b8390c07288d63a8d27c4131a47ddcecf5291e92a7877d1fa
|
4
|
+
data.tar.gz: 7a782cc946f7d541491755d6c592defaf58df51772b2815801fbc2a27af303d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56a454e863d21a642101e99de411f22cb2471b60d7f1575d1e6905d50273f3bbdf4ec1ac3a08bae55c5c41137588e0d4f12d388532cc61a369be232d5a2f226f
|
7
|
+
data.tar.gz: 8a4598adc7ac76950e588890db7fbb62d7f024934df04f0c9aed44098296a7b6de5b1fe6f4de82289516eaba010d64554c46df4a711b272c87c9ed6d7ac55d78
|
data/lib/helpers-repl.rb
CHANGED
@@ -32,6 +32,8 @@ module RuneBlog::REPL
|
|
32
32
|
"config" => :cmd_config,
|
33
33
|
"manage $widget" => :cmd_manage,
|
34
34
|
|
35
|
+
"legacy" => :cmd_legacy,
|
36
|
+
|
35
37
|
"list posts" => :cmd_list_posts,
|
36
38
|
"lsp" => :cmd_list_posts,
|
37
39
|
|
@@ -187,25 +189,6 @@ module RuneBlog::REPL
|
|
187
189
|
slug[0..3] + slug[4..-1]
|
188
190
|
end
|
189
191
|
|
190
|
-
def import(arg = nil)
|
191
|
-
raise "Not implemented at present..."
|
192
|
-
arg = nil if arg == ""
|
193
|
-
arg ||= ask("Filename: ") # check validity later
|
194
|
-
name = arg
|
195
|
-
grep = `grep ^.title #{name}`
|
196
|
-
@title = grep.sub(/^.title /, "")
|
197
|
-
@slug = @blog.make_slug(@title) # import (not impl)
|
198
|
-
@fname = @slug + ".lt3"
|
199
|
-
result = system!("cp #{name} #@root/drafts/#@fname")
|
200
|
-
raise CantCopy(name, "#@root/drafts/#@fname") unless result
|
201
|
-
|
202
|
-
edit_initial_post(@fname)
|
203
|
-
process_post(@fname)
|
204
|
-
link_post_all_views(@meta)
|
205
|
-
rescue => err
|
206
|
-
error(err)
|
207
|
-
end
|
208
|
-
|
209
192
|
def tags_for_view(vname = @blog.view)
|
210
193
|
Dir.chdir(vname) do
|
211
194
|
fname = "tagpool"
|
data/lib/repl.rb
CHANGED
@@ -287,6 +287,10 @@ puts "Got to #{__method__}"
|
|
287
287
|
def cmd_new_post(arg, testing = false)
|
288
288
|
reset_output
|
289
289
|
check_empty(arg)
|
290
|
+
if @blog.views.empty?
|
291
|
+
puts "\n Create a view before creating the first post!\n "
|
292
|
+
return
|
293
|
+
end
|
290
294
|
title = ask("\nTitle: ")
|
291
295
|
puts
|
292
296
|
@blog.create_new_post(title)
|
@@ -448,54 +452,92 @@ puts "Got to #{__method__}"
|
|
448
452
|
@out
|
449
453
|
end
|
450
454
|
|
455
|
+
def cmd_legacy(arg = nil)
|
456
|
+
# dir = ask("Dir = ")
|
457
|
+
dir = "sources/computing"
|
458
|
+
puts "Importing from: #{dir}"
|
459
|
+
files = Dir[dir/"**"]
|
460
|
+
files.each do |fname|
|
461
|
+
name = fname
|
462
|
+
cmd = "grep ^.title #{name}"
|
463
|
+
grep = `#{cmd}` # find .title
|
464
|
+
@title = grep.sub(/^.title /, "")
|
465
|
+
num = `grep ^.post #{name}`.sub(/^.post /, "").to_i
|
466
|
+
seq = @blog.get_sequence
|
467
|
+
tnum = File.basename(fname).to_i
|
468
|
+
|
469
|
+
raise "num != seq + 1" if num != seq + 1
|
470
|
+
raise "num != tnum" if num != tnum
|
471
|
+
seq = @blog.next_sequence
|
472
|
+
raise "num != seq" if num != seq
|
473
|
+
|
474
|
+
label = '%04d' % num
|
475
|
+
slug0 = @title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
|
476
|
+
@slug = "#{label}-#{slug0}"
|
477
|
+
@fname = @slug + ".lt3"
|
478
|
+
cmd = "cp #{name} #{@blog.root}/drafts/#@fname"
|
479
|
+
result = system!(cmd)
|
480
|
+
raise CantCopy(name, "#{@blog.root}/drafts/#@fname") unless result
|
481
|
+
puts(`ls -l #{@blog.root}/drafts`)
|
482
|
+
puts "@fname = #@fname"
|
483
|
+
puts "Pause..."
|
484
|
+
gets
|
485
|
+
@meta = @blog.process_post(@fname)
|
486
|
+
puts
|
487
|
+
sleep 2
|
488
|
+
end
|
489
|
+
rescue => err
|
490
|
+
error(err)
|
491
|
+
end
|
492
|
+
|
493
|
+
Help = <<-EOS
|
494
|
+
|
495
|
+
{Basics:} {Views:}
|
496
|
+
------------------------------------------- -------------------------------------------
|
497
|
+
{h, help} This message {change view VIEW} Change current view
|
498
|
+
{q, quit} Exit the program {cv VIEW} Change current view
|
499
|
+
{v, version} Print version information {new view} Create a new view
|
500
|
+
{list views} List all views available
|
501
|
+
{lsv} Same as: list views
|
502
|
+
|
503
|
+
{Posts:} {Advanced:}
|
504
|
+
------------------------------------------- -------------------------------------------
|
505
|
+
{p, post} Create a new post {config} Edit various system files
|
506
|
+
{new post} Same as p, post {customize} (BUGGY) Change set of tags, extra views
|
507
|
+
{lsp, list posts} List posts in current view {preview} Look at current (local) view in browser
|
508
|
+
{lsd, list drafts} List all drafts (all views) {browse} Look at current (published) view in browser
|
509
|
+
{delete ID [ID...]} Remove multiple posts {rebuild} Regenerate all posts and relink
|
510
|
+
{undelete ID} Undelete a post {publish} Publish (current view)
|
511
|
+
{edit ID} Edit a post {ssh} Login to remote server
|
512
|
+
{import ASSETS} Import assets (images, etc.) {manage WIDGET} Manage content/layout of a widget
|
513
|
+
EOS
|
514
|
+
|
451
515
|
def cmd_help(arg, testing = false)
|
452
516
|
reset_output
|
453
517
|
check_empty(arg)
|
454
|
-
msg =
|
455
|
-
|
456
|
-
Commands:
|
457
|
-
|
458
|
-
h, help This message
|
459
|
-
q, quit Exit the program
|
460
|
-
v, version Print version information
|
461
|
-
|
462
|
-
change view VIEW Change current view
|
463
|
-
cv VIEW Change current view
|
464
|
-
|
465
|
-
new view Create a new view
|
466
|
-
|
467
|
-
list views List all views available
|
468
|
-
lsv Same as: list views
|
469
|
-
|
470
|
-
config Edit various system files
|
471
|
-
* customize (BUGGY) Change set of tags, extra views
|
472
|
-
|
473
|
-
p, post Create a new post
|
474
|
-
new post Same as post (create a post)
|
475
|
-
|
476
|
-
* import ASSETS Import assets (images, etc.)
|
477
|
-
|
478
|
-
lsp, list posts List posts in current view
|
479
|
-
|
480
|
-
lsd, list drafts List all posts regardless of view
|
481
|
-
|
482
|
-
delete ID [ID...] Remove multiple posts
|
483
|
-
undelete ID Undelete a post
|
484
|
-
edit ID Edit a post
|
485
|
-
|
486
|
-
preview Look at current (local) view in browser
|
487
|
-
browse Look at current (published) view in browser
|
488
|
-
rebuild Regenerate all posts and relink
|
489
|
-
publish Publish (current view)
|
490
|
-
ssh Login to remote server
|
491
|
-
EOS
|
518
|
+
msg = Help
|
492
519
|
output msg
|
493
520
|
msg.each_line do |line|
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
521
|
+
e = line.each_char
|
522
|
+
first = true
|
523
|
+
loop do
|
524
|
+
s1 = ""
|
525
|
+
c = e.next
|
526
|
+
if c == "{"
|
527
|
+
s2 = first ? "" : " "
|
528
|
+
first = false
|
529
|
+
loop do
|
530
|
+
c = e.next
|
531
|
+
break if c == "}"
|
532
|
+
s2 << c
|
533
|
+
end
|
534
|
+
print fx(s2, :bold)
|
535
|
+
s2 = ""
|
536
|
+
else
|
537
|
+
s1 << c
|
538
|
+
end
|
539
|
+
print s1
|
540
|
+
end
|
499
541
|
end
|
500
542
|
puts unless testing
|
501
543
|
@out
|
data/lib/runeblog.rb
CHANGED
@@ -117,11 +117,14 @@ class RuneBlog
|
|
117
117
|
Dir.chdir(dir) do
|
118
118
|
views = _retrieve_metadata(:views)
|
119
119
|
views.each do |v|
|
120
|
-
|
121
|
-
|
120
|
+
puts "VIEW = #{v} dir = #{dir}"
|
121
|
+
unless self.view?(v)
|
122
|
+
puts "#{fx("Warning:", :red)} #{fx(v, :bold)} is not a view"
|
122
123
|
next
|
123
124
|
end
|
124
|
-
|
125
|
+
puts "pwd = #{Dir.pwd}"
|
126
|
+
puts "cp *html #@root/views/#{v}/remote"
|
127
|
+
system!("cp *html #@root/views/#{v}/remote", show: true)
|
125
128
|
end
|
126
129
|
end
|
127
130
|
rescue => err
|
@@ -154,12 +157,16 @@ class RuneBlog
|
|
154
157
|
end
|
155
158
|
|
156
159
|
def process_post(sourcefile)
|
157
|
-
log!(enter: __method__, args: [
|
160
|
+
log!(enter: __method__, args: [sourcefile], level: 2)
|
158
161
|
nslug = sourcefile.sub(/.lt3/, "")
|
159
162
|
dir = @root/:posts/nslug
|
160
|
-
|
163
|
+
# puts "sourcefile = #{sourcefile}"
|
164
|
+
puts "-- dir = #{dir}\n pwd = #{Dir.pwd}\n @root = #@root"
|
165
|
+
gets
|
166
|
+
create_dirs(dir)
|
161
167
|
# FIXME dependencies?
|
162
|
-
xlate cwd: dir, src: sourcefile
|
168
|
+
xlate cwd: dir, src: @root/:drafts/sourcefile, debug: true
|
169
|
+
# puts `ls -l #{dir}`
|
163
170
|
_deploy_local(dir)
|
164
171
|
rescue => err
|
165
172
|
_tmp_error(err)
|
@@ -398,12 +405,15 @@ class RuneBlog
|
|
398
405
|
_tmp_error(err)
|
399
406
|
end
|
400
407
|
|
408
|
+
def import_legacy_post(file, oldfile, testing = false)
|
409
|
+
end
|
410
|
+
|
401
411
|
def edit_initial_post(file, testing = false)
|
402
412
|
log!(enter: __method__, args: [file, testing], level: 3)
|
403
|
-
debug "=== edit_initial_post #{file.inspect} => #{
|
404
|
-
result = system!("#@editor #{
|
405
|
-
raise EditorProblem(
|
406
|
-
process_post(
|
413
|
+
debug "=== edit_initial_post #{file.inspect} => #{file}"
|
414
|
+
result = system!("#@editor #{file} +8") unless testing
|
415
|
+
raise EditorProblem(file) unless result
|
416
|
+
process_post(file)
|
407
417
|
nil
|
408
418
|
rescue => err
|
409
419
|
error(err)
|
data/lib/runeblog_version.rb
CHANGED
data/lib/xlate.rb
CHANGED
@@ -17,10 +17,10 @@ def stale?(src, dst, deps, force = false)
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def xlate(cwd: Dir.pwd, src:,
|
20
|
-
dst: (strip = true; src.sub(/.lt3$/,"")),
|
20
|
+
dst: (strip = true; File.basename(src).sub(/.lt3$/,"")),
|
21
21
|
deps: [], copy: nil, debug: false, force: false)
|
22
22
|
src += LEXT unless src.end_with?(LEXT)
|
23
|
-
dst += ".html" unless dst.end_with?(".html") || strip
|
23
|
+
dst += ".html" unless (dst.end_with?(".html")) # || strip)
|
24
24
|
indent = " "*12
|
25
25
|
Dir.chdir(cwd) do
|
26
26
|
if debug
|
@@ -30,6 +30,7 @@ def xlate(cwd: Dir.pwd, src:,
|
|
30
30
|
STDERR.puts "#{indent} copy: #{copy}" if copy
|
31
31
|
end
|
32
32
|
stale = stale?(src, dst, deps, force)
|
33
|
+
# puts "stale? src = #{src}\n dst = #{dst}\n #{stale}"
|
33
34
|
if stale
|
34
35
|
rc = system("livetext #{src} >#{dst}")
|
35
36
|
STDERR.puts "...completed (shell returned #{rc})" if 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.
|
4
|
+
version: 0.2.52
|
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
|
+
date: 2019-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|