runeblog 0.0.16 → 0.0.17
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 +24 -9
- data/data/VERSION +1 -1
- data/lib/runeblog.rb +57 -6
- 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: daf51824d3995af799d0e01ce97f9f83726f539b
|
4
|
+
data.tar.gz: a0bd0c5e7087b80a27f308d318343a8d174e2a8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff8bb51ac1286a1a6d12501730024d47ac041ee078322d9c64c1f157688d66c7260b935982012c8d20dfac52eaae4febbc25fc1547f9416a3ac2c955e8795907
|
7
|
+
data.tar.gz: 6cf7e3c4eee1ada91f26439c470bb407f5d324399df5f827fe7fbefeb1b6e432563bb4bb43208b7c405815aa54a465910f3c6ef48342eb27a3664815fb182c36
|
data/bin/blog
CHANGED
@@ -9,21 +9,14 @@ trap("INT") { }
|
|
9
9
|
def execute_command
|
10
10
|
case @meth
|
11
11
|
when :help, :quit, :new_post, :list_views, :relink, :rebuild, :version,
|
12
|
-
:list_posts, :do_nothing
|
12
|
+
:list_posts, :list_drafts, :do_nothing
|
13
13
|
self.send(@meth)
|
14
|
-
|
14
|
+
when Object
|
15
15
|
self.send(@meth, @arg)
|
16
16
|
end
|
17
17
|
puts unless @meth == :do_nothing
|
18
18
|
end
|
19
19
|
|
20
|
-
def check(boolean, msg)
|
21
|
-
save = @cmd
|
22
|
-
@cmd = nil
|
23
|
-
raise msg unless boolean
|
24
|
-
@cmd = save
|
25
|
-
end
|
26
|
-
|
27
20
|
def expected(nw = 1)
|
28
21
|
save = @cmd
|
29
22
|
@cmd = nil
|
@@ -67,6 +60,9 @@ def parse_cmd
|
|
67
60
|
when "lsp"
|
68
61
|
@meth = :list_posts
|
69
62
|
expected(1)
|
63
|
+
when "lsd"
|
64
|
+
@meth = :list_drafts
|
65
|
+
expected(1)
|
70
66
|
when "relink"
|
71
67
|
@meth = :relink
|
72
68
|
expected(1)
|
@@ -77,7 +73,12 @@ def parse_cmd
|
|
77
73
|
@meth = :version
|
78
74
|
expected(1)
|
79
75
|
when "cv"
|
76
|
+
raise "Too many arguments" if @words.size > 2
|
80
77
|
@meth = :change_view
|
78
|
+
@arg = @words[1]
|
79
|
+
when "rm"
|
80
|
+
raise "Too many arguments" if @words.size > 2
|
81
|
+
@meth = :remove_post
|
81
82
|
@arg = need_arg(1)
|
82
83
|
when "list"
|
83
84
|
case @words[1]
|
@@ -87,6 +88,9 @@ def parse_cmd
|
|
87
88
|
when "posts"
|
88
89
|
@meth = :list_posts
|
89
90
|
expected(2)
|
91
|
+
when "drafts"
|
92
|
+
@meth = :list_drafts
|
93
|
+
expected(2)
|
90
94
|
else
|
91
95
|
@cmd = nil
|
92
96
|
raise "Unknown #{@words[1]}"
|
@@ -104,6 +108,15 @@ def parse_cmd
|
|
104
108
|
@cmd = nil
|
105
109
|
raise "Unknown '#{@words[1]}'"
|
106
110
|
end
|
111
|
+
when "change"
|
112
|
+
case @words[2]
|
113
|
+
when "view"
|
114
|
+
raise "Too many arguments" if @words.size > 3
|
115
|
+
@meth = :change_view
|
116
|
+
@arg = need_arg(2)
|
117
|
+
else
|
118
|
+
raise "Unknown '#{@words[1]}'"
|
119
|
+
end
|
107
120
|
else
|
108
121
|
@cmd = nil
|
109
122
|
raise "Unknown '#{@words[0]}'"
|
@@ -134,6 +147,8 @@ def help
|
|
134
147
|
p, post Create a new post
|
135
148
|
new post Same as post (create a post)
|
136
149
|
lsp, list posts List posts in current view
|
150
|
+
lsd, list drafts List all posts regardless of view
|
151
|
+
rm Remove a post
|
137
152
|
|
138
153
|
relink Regenerate index for all views
|
139
154
|
rebuild Regenerate all posts and relink
|
data/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
RuneBlog v 0.0.
|
1
|
+
RuneBlog v 0.0.17 2017-05-06 00:00:00 UTC
|
data/lib/runeblog.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
+
require 'find'
|
2
|
+
require 'yaml'
|
3
|
+
|
1
4
|
|
2
5
|
class RuneBlog
|
3
|
-
VERSION = "0.0.
|
6
|
+
VERSION = "0.0.17"
|
4
7
|
|
5
8
|
Path = File.expand_path(File.join(File.dirname(__FILE__)))
|
6
9
|
DefaultData = Path + "/../data"
|
@@ -30,8 +33,6 @@ end
|
|
30
33
|
|
31
34
|
# FIXME lots of structure changes
|
32
35
|
|
33
|
-
require 'yaml'
|
34
|
-
|
35
36
|
=begin
|
36
37
|
|
37
38
|
Post
|
@@ -81,7 +82,7 @@ end
|
|
81
82
|
|
82
83
|
def new_blog!
|
83
84
|
unless File.exist?(".blog")
|
84
|
-
yn = ask("No .blog found. Create new blog?")
|
85
|
+
yn = ask(red(" No .blog found. Create new blog?"))
|
85
86
|
if yn.upcase == "Y"
|
86
87
|
#-- what if data already exists?
|
87
88
|
system("cp -r #{RuneBlog::DefaultData} .")
|
@@ -270,7 +271,7 @@ end
|
|
270
271
|
### publish?
|
271
272
|
|
272
273
|
def publish?
|
273
|
-
yn = ask("Publish? y/n ")
|
274
|
+
yn = ask(red(" Publish? y/n "))
|
274
275
|
yn.upcase == "Y"
|
275
276
|
end
|
276
277
|
|
@@ -293,7 +294,9 @@ end
|
|
293
294
|
### change_view
|
294
295
|
|
295
296
|
def change_view(arg = nil)
|
296
|
-
if
|
297
|
+
if arg.nil?
|
298
|
+
puts "\n #@view"
|
299
|
+
elsif @config.views.include?(arg)
|
297
300
|
@view = arg
|
298
301
|
else
|
299
302
|
puts "view #{arg.inspect} does not exist"
|
@@ -307,6 +310,7 @@ def new_view(arg = nil)
|
|
307
310
|
read_config unless @config
|
308
311
|
arg ||= ask("New view: ") # check validity later
|
309
312
|
raise "view #{arg} already exists" if @config.views.include?(arg)
|
313
|
+
|
310
314
|
dir = @config.root + "/views/" + arg
|
311
315
|
cmd = "mkdir -p #{dir}/custom"
|
312
316
|
system(cmd)
|
@@ -354,6 +358,34 @@ def new_post
|
|
354
358
|
end
|
355
359
|
end
|
356
360
|
|
361
|
+
### remove_post
|
362
|
+
|
363
|
+
#-- FIXME affects linking, building, deployment...
|
364
|
+
|
365
|
+
def remove_post(arg)
|
366
|
+
id = Integer(arg) rescue raise("'#{arg}' is not an integer")
|
367
|
+
tag = "#{'%04d' % id}-"
|
368
|
+
files = Find.find("#{@config.root}").to_a
|
369
|
+
files = files.grep(/#{tag}/)
|
370
|
+
if files.empty?
|
371
|
+
puts "\n No such post found"
|
372
|
+
return
|
373
|
+
end
|
374
|
+
puts
|
375
|
+
files.each {|f| puts " #{f}" }
|
376
|
+
yn = ask red("\n Delete all these? ")
|
377
|
+
if yn.downcase == "y"
|
378
|
+
#-- maybe implement trash later?
|
379
|
+
system("rm -rf #{files.join(' ')}")
|
380
|
+
puts red("\n Deleted")
|
381
|
+
else
|
382
|
+
puts red("\n No action taken")
|
383
|
+
end
|
384
|
+
rescue => err
|
385
|
+
puts err
|
386
|
+
puts
|
387
|
+
end
|
388
|
+
|
357
389
|
### list_posts
|
358
390
|
|
359
391
|
def list_posts
|
@@ -372,4 +404,23 @@ rescue
|
|
372
404
|
exit
|
373
405
|
end
|
374
406
|
|
407
|
+
### list_drafts
|
408
|
+
|
409
|
+
def list_drafts
|
410
|
+
dir = "#{@config.root}/src"
|
411
|
+
Dir.chdir(dir) do
|
412
|
+
posts = Dir.entries(".").grep(/^0.*.lt3/)
|
413
|
+
puts
|
414
|
+
if posts.empty?
|
415
|
+
puts "No posts"
|
416
|
+
else
|
417
|
+
posts.each {|post| puts " #{post.sub(/.lt3$/, "")}" }
|
418
|
+
end
|
419
|
+
end
|
420
|
+
rescue
|
421
|
+
puts "Oops? cwd = #{Dir.pwd} dir = #{dir}"
|
422
|
+
exit
|
423
|
+
end
|
424
|
+
|
425
|
+
|
375
426
|
|
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.17
|
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-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A blog system based on Ruby and Livetext
|
14
14
|
email: rubyhacker@gmail.com
|