runeblog 0.0.85 → 0.0.86
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/runeblog.rb +25 -5
- data/lib/version.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: f561cb43b171a92ba7b8d6156e2496b7c94cdd73
|
4
|
+
data.tar.gz: 0d719b8f5233062fb540ec8f6127fb774524369c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e58e6e714a115c0820616b411862acec32b13815f5ca0d387623f7cd0f103545150ee3429aad747906a01f2f843742e1d908b845cfb238c5e471e68b8f2f88f5
|
7
|
+
data.tar.gz: a93184f843dcc8069bbbb28807bc77846d68996c3a985e68db93a8316460d4cf5dd86bdc2bd36395d57ff858bd12b235e32b84ad6e61505499f3a946daab3d8a
|
data/lib/runeblog.rb
CHANGED
@@ -27,7 +27,10 @@ class RuneBlog
|
|
27
27
|
include Helpers
|
28
28
|
|
29
29
|
def self.create_new_blog(dir)
|
30
|
-
|
30
|
+
raise ArgumentError unless dir.is_a?(String) && ! dir.empty?
|
31
|
+
root_dir = Dir.pwd + "/" + dir
|
32
|
+
raise "Already exists" if Dir.exist?(root_dir)
|
33
|
+
new_dotfile(root: root_dir)
|
31
34
|
create_dir(dir)
|
32
35
|
Dir.chdir(dir) do
|
33
36
|
create_dir("views")
|
@@ -52,14 +55,17 @@ class RuneBlog
|
|
52
55
|
end
|
53
56
|
|
54
57
|
def view?(name)
|
58
|
+
raise ArgumentError unless name.is_a?(String) && ! name.empty?
|
55
59
|
views.any? {|x| x.name == name }
|
56
60
|
end
|
57
61
|
|
58
62
|
def view(name = nil)
|
63
|
+
raise ArgumentError unless name.nil? || (name.is_a?(String) && ! name.empty?)
|
59
64
|
name.nil? ? @view : str2view(name)
|
60
65
|
end
|
61
66
|
|
62
67
|
def str2view(str)
|
68
|
+
raise ArgumentError unless str.is_a?(String) && ! str.empty?
|
63
69
|
@views.find {|x| x.name == str }
|
64
70
|
end
|
65
71
|
|
@@ -88,6 +94,7 @@ class RuneBlog
|
|
88
94
|
end
|
89
95
|
|
90
96
|
def viewdir(v = nil)
|
97
|
+
raise ArgumentError unless v.nil? || v.is_a?(RuneBlog::View)
|
91
98
|
v ||= @view
|
92
99
|
@root + "/views/#{v}/"
|
93
100
|
end
|
@@ -97,10 +104,12 @@ class RuneBlog
|
|
97
104
|
end
|
98
105
|
|
99
106
|
def create_view(arg)
|
107
|
+
raise ArgumentError unless arg.is_a?(String) && ! arg.empty?
|
100
108
|
names = self.views.map(&:to_s)
|
101
109
|
raise "view #{arg} already exists" if names.include?(arg)
|
102
110
|
|
103
111
|
dir = "#@root/views/#{arg}/"
|
112
|
+
raise "Can't happen: #{fir} exists already" if Dir.exist?(dir)
|
104
113
|
create_dir(dir)
|
105
114
|
up = Dir.pwd
|
106
115
|
Dir.chdir(dir)
|
@@ -118,6 +127,7 @@ class RuneBlog
|
|
118
127
|
end
|
119
128
|
|
120
129
|
def delete_view(name, force = false)
|
130
|
+
raise ArgumentError unless name.is_a?(String) && ! name.empty?
|
121
131
|
if force
|
122
132
|
system("rm -rf #@root/views/#{name}")
|
123
133
|
@views -= [str2view(name)]
|
@@ -133,6 +143,7 @@ class RuneBlog
|
|
133
143
|
end
|
134
144
|
|
135
145
|
def files_by_id(id)
|
146
|
+
raise ArgumentError unless id.is_a?(Integer)
|
136
147
|
files = Find.find(self.view.dir).to_a
|
137
148
|
tag = "#{'%04d' % id}"
|
138
149
|
result = files.grep(/#{tag}-/)
|
@@ -171,14 +182,17 @@ class RuneBlog
|
|
171
182
|
end
|
172
183
|
|
173
184
|
def change_view(view)
|
185
|
+
raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View)
|
174
186
|
x = OpenStruct.new
|
175
|
-
x.root, x.current_view, x.editor = @root, view, @editor # dumb - FIXME later
|
176
|
-
write_config(x,
|
187
|
+
x.root, x.current_view, x.editor = @root, view.to_s, @editor # dumb - FIXME later
|
188
|
+
write_config(x, ConfigFile)
|
177
189
|
self.view = view # error checking?
|
178
190
|
end
|
179
191
|
|
180
192
|
def process_post(file)
|
193
|
+
raise ArgumentError unless file.is_a?(String)
|
181
194
|
path = @root + "/src/#{file}"
|
195
|
+
raise "File not found: #{path}" unless File.exist?(path)
|
182
196
|
livetext = Livetext.new(STDOUT) # (nil)
|
183
197
|
@meta = livetext.process_file(path, binding)
|
184
198
|
raise "process_file returned nil" if @meta.nil?
|
@@ -200,6 +214,7 @@ class RuneBlog
|
|
200
214
|
end
|
201
215
|
|
202
216
|
def link_post_view(view)
|
217
|
+
raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View)
|
203
218
|
# Create dir using slug (index.html, metadata?)
|
204
219
|
vdir = self.viewdir(view)
|
205
220
|
dir = vdir + @meta.slug + "/"
|
@@ -217,6 +232,7 @@ class RuneBlog
|
|
217
232
|
end
|
218
233
|
|
219
234
|
def generate_index(view)
|
235
|
+
raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View)
|
220
236
|
# Gather all posts, create list
|
221
237
|
vdir = "#@root/views/#{view}"
|
222
238
|
posts = Dir.entries(vdir).grep /^\d{4}/
|
@@ -247,6 +263,7 @@ class RuneBlog
|
|
247
263
|
end
|
248
264
|
|
249
265
|
def index_entry(view, meta)
|
266
|
+
raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View)
|
250
267
|
# FIXME clean up and generalize
|
251
268
|
ref = "#{view}/#{meta.slug}/index.html"
|
252
269
|
<<-HTML
|
@@ -262,6 +279,7 @@ class RuneBlog
|
|
262
279
|
end
|
263
280
|
|
264
281
|
def rebuild_post(file)
|
282
|
+
raise ArgumentError unless file.is_a?(String)
|
265
283
|
@meta = process_post(file)
|
266
284
|
publish_post(@meta) # FIXME ??
|
267
285
|
rescue => err
|
@@ -269,6 +287,7 @@ class RuneBlog
|
|
269
287
|
end
|
270
288
|
|
271
289
|
def remove_post(num)
|
290
|
+
raise ArgumentError unless num.is_a?(Integer)
|
272
291
|
list = files_by_id(num)
|
273
292
|
return nil if list.empty?
|
274
293
|
dest = list.map {|f| f.sub(/(?<num>\d{4}-)/, "_\\k<num>") }
|
@@ -281,23 +300,24 @@ class RuneBlog
|
|
281
300
|
end
|
282
301
|
|
283
302
|
def delete_draft(num)
|
303
|
+
raise ArgumentError unless num.is_a?(Integer)
|
284
304
|
tag = "#{'%04d' % num.to_i}"
|
285
305
|
system("rm -rf #@root/src/#{tag}-*")
|
286
306
|
end
|
287
307
|
|
288
308
|
def post_exists?(num)
|
309
|
+
raise ArgumentError unless num.is_a?(Integer)
|
289
310
|
list = files_by_id(num)
|
290
311
|
list.empty? ? nil : list
|
291
312
|
end
|
292
313
|
|
293
314
|
def make_slug(title, postnum = nil)
|
315
|
+
raise ArgumentError unless title.is_a?(String)
|
294
316
|
postnum ||= self.next_sequence
|
295
317
|
num = '%04d' % postnum # FIXME can do better
|
296
318
|
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
|
297
319
|
[postnum, "#{num}-#{slug}"]
|
298
320
|
end
|
299
321
|
|
300
|
-
private
|
301
|
-
|
302
322
|
end
|
303
323
|
|
data/lib/version.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.86
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|