runeblog 0.0.35 → 0.0.36
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/blog +6 -0
- data/data/VERSION +1 -1
- data/lib/repl.rb +36 -18
- data/lib/runeblog.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e19eec4f87d0fab4e7dd17b00fa111a2d172fdee
|
4
|
+
data.tar.gz: cebb305793b13c5cb6cf2bb7e86f6fc9f7d959a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d5280f1c281f3b374dbaa8faeb3a443a585b47dd9c9882b783f6f4271c8b360365204b7763331518512e17b6faa1245c768dc44c7741ae7a31d9a44e9668823
|
7
|
+
data.tar.gz: f3b7fe2f1f8b49a8b6e71db269e2577fba7ca08fa145ebda39224114ae49d9bb25d11aac2567b71a15e09c689205da0b14457f827480c86b7b886bf1b3c2636f
|
data/bin/blog
CHANGED
@@ -107,6 +107,11 @@ def handle_change
|
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
|
+
def handle_multi_rm
|
111
|
+
raise "Need at least one arg" unless @words.size >= 2
|
112
|
+
@words[1..-1].each {|arg| remove_post(arg) }
|
113
|
+
end
|
114
|
+
|
110
115
|
def parse_cmd
|
111
116
|
@cmd = gets.chomp
|
112
117
|
@arg = ""
|
@@ -129,6 +134,7 @@ def parse_cmd
|
|
129
134
|
when "version"; expect_w(:version)
|
130
135
|
when "cv"; expect_w_arg(:change_view, true)
|
131
136
|
when "rm"; expect_w_arg(:remove_post)
|
137
|
+
when "kill"; handle_multi_rm
|
132
138
|
when "e", "edit"; expect_w_arg(:edit_post)
|
133
139
|
when "open"; handle_open
|
134
140
|
when "list"; handle_list
|
data/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
RuneBlog v 0.0.
|
1
|
+
RuneBlog v 0.0.36 2017-05-16
|
data/lib/repl.rb
CHANGED
@@ -145,7 +145,7 @@ Remainder of post goes here.
|
|
145
145
|
### open_local
|
146
146
|
|
147
147
|
def open_local
|
148
|
-
system("open #{@config.viewdir(@view)}/index.html")
|
148
|
+
result = system("open #{@config.viewdir(@view)}/index.html")
|
149
149
|
raise "Problem opening #{@config.viewdir(@view)}/index.html" unless result
|
150
150
|
rescue => err
|
151
151
|
puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
|
@@ -164,6 +164,8 @@ Remainder of post goes here.
|
|
164
164
|
files = ["#{vdir}/index.html"]
|
165
165
|
files += Dir.entries(vdir).grep(/^\d\d\d\d/).map {|x| "#{vdir}/#{x}" }
|
166
166
|
files.reject! {|f| File.mtime(f) < File.mtime("#{vdir}/last_deployed") }
|
167
|
+
return puts red("\n No files to deploy") if files.empty?
|
168
|
+
|
167
169
|
puts "\n Files:"
|
168
170
|
files.each {|f| puts " " + f }
|
169
171
|
puts
|
@@ -258,9 +260,11 @@ Remainder of post goes here.
|
|
258
260
|
# Create dir using slug (index.html, metadata?)
|
259
261
|
vdir = @config.viewdir(view)
|
260
262
|
dir = vdir + @meta.slug + "/"
|
261
|
-
|
262
|
-
|
263
|
-
|
263
|
+
unless File.exist?(dir) and File.directory?(dir)
|
264
|
+
cmd = "mkdir -p #{dir}"
|
265
|
+
result = system(cmd)
|
266
|
+
raise "Can't create #{dir}" unless result
|
267
|
+
end
|
264
268
|
|
265
269
|
File.write("#{dir}/metadata.yaml", @meta.to_yaml)
|
266
270
|
template = File.read(vdir + "custom/post_template.html")
|
@@ -347,10 +351,14 @@ Remainder of post goes here.
|
|
347
351
|
def change_view(arg = nil)
|
348
352
|
if arg.nil?
|
349
353
|
puts "\n #@view"
|
350
|
-
elsif @config.views.include?(arg)
|
351
|
-
@view = arg
|
352
354
|
else
|
353
|
-
|
355
|
+
list = @config.views.grep /^#{arg}/
|
356
|
+
if list.size == 1
|
357
|
+
@view = list.first
|
358
|
+
puts red("\n View: #{@view}") if arg != @view
|
359
|
+
else
|
360
|
+
puts "view #{arg.inspect} does not exist"
|
361
|
+
end
|
354
362
|
end
|
355
363
|
rescue => err
|
356
364
|
puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
|
@@ -421,28 +429,38 @@ Remainder of post goes here.
|
|
421
429
|
puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
|
422
430
|
end
|
423
431
|
|
432
|
+
### remove_multiple_posts
|
433
|
+
|
434
|
+
def remove_multiple_posts(*args)
|
435
|
+
args.each {|arg| remove_post(arg, false) }
|
436
|
+
end
|
437
|
+
|
424
438
|
### remove_post
|
425
439
|
|
426
440
|
#-- FIXME affects linking, building, deployment...
|
427
441
|
|
428
|
-
def remove_post(arg)
|
442
|
+
def remove_post(arg, safe=true)
|
429
443
|
id = Integer(arg) rescue raise("'#{arg}' is not an integer")
|
430
444
|
tag = "#{'%04d' % id}-"
|
431
445
|
files = Find.find(@root).to_a
|
432
446
|
files = files.grep(/#{tag}/)
|
433
447
|
return puts red("\n No such post found") if files.empty?
|
434
448
|
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
449
|
+
if safe
|
450
|
+
puts
|
451
|
+
files.each {|f| puts " #{f}" }
|
452
|
+
ques = files.size > 1 ? "\n Delete all these? " : "\n Delete? "
|
453
|
+
yn = ask red(ques)
|
454
|
+
if yn.downcase == "y"
|
455
|
+
result = system("rm -rf #{files.join(' ')}")
|
456
|
+
raise "Problem deleting file(s)" unless result
|
457
|
+
puts red("\n Deleted")
|
458
|
+
else
|
459
|
+
puts red("\n No action taken")
|
460
|
+
end
|
444
461
|
else
|
445
|
-
|
462
|
+
result = system("rm -rf #{files.join(' ')}")
|
463
|
+
raise "Problem mass-deleting file(s)" unless result
|
446
464
|
end
|
447
465
|
rescue => err
|
448
466
|
puts err
|
data/lib/runeblog.rb
CHANGED
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.0.
|
4
|
+
version: 0.0.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|