runeblog 0.1.71 → 0.1.73
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 +1 -1
- data/lib/default.rb +1 -0
- data/lib/liveblog.rb +3 -3
- data/lib/post.rb +12 -8
- data/lib/repl.rb +0 -2
- data/lib/runeblog.rb +5 -4
- data/lib/runeblog_version.rb +1 -1
- data/runeblog.gemspec +8 -3
- data/test/make_blog.rb +89 -26
- 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: 5d531910537cc6d9565d422ea78e47d51ebb114038d14a3731a663ce3da1a521
|
4
|
+
data.tar.gz: a1ea5afaba8894725fb12cbe7454dddcccf60d8c6cb704d4bb261398d0d6bf24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff465f63016bff51803e24400af3cc5e2130a65ef50465c60c0171d1a64b182f7481c4f2c8f455bb6c6b7fb63ac044da90f2ff6bade2ea0a5cf6e1953a872f9d
|
7
|
+
data.tar.gz: 339e17699384ad1f89a620024835a3157f42fb36e3d89d26cb94fb4bc3336119c424f7e17caa28d6e1e95c86bdab5eb5c608209069fcc71f805303e680d9b4df
|
data/bin/blog
CHANGED
@@ -12,7 +12,7 @@ include RuneBlog::REPL
|
|
12
12
|
def get_started
|
13
13
|
puts
|
14
14
|
puts fx(<<-TEXT, :bold)
|
15
|
-
Blog successfully created.
|
15
|
+
Blog repo successfully created.
|
16
16
|
You can create views with the command: new view
|
17
17
|
Create a post within the current view: new post
|
18
18
|
You can't publish until you set up the publish file
|
data/lib/default.rb
CHANGED
data/lib/liveblog.rb
CHANGED
@@ -218,7 +218,7 @@ rescue => err
|
|
218
218
|
end
|
219
219
|
|
220
220
|
def teaser
|
221
|
-
STDERR.puts "--- teaser: pwd = #{Dir.pwd}"
|
221
|
+
# STDERR.puts "--- teaser: pwd = #{Dir.pwd}"
|
222
222
|
@meta.teaser = _body_text
|
223
223
|
_out @meta.teaser + "\n"
|
224
224
|
# FIXME
|
@@ -235,7 +235,7 @@ def finalize
|
|
235
235
|
@meta
|
236
236
|
end
|
237
237
|
|
238
|
-
Dot = self # Clunky! for dot commands called from Functions class
|
238
|
+
$Dot = self # Clunky! for dot commands called from Functions class
|
239
239
|
|
240
240
|
# Find a better way to do this?
|
241
241
|
|
@@ -256,7 +256,7 @@ class Livetext::Functions
|
|
256
256
|
def h6(param); "<h6>#{param}</h6>"; end
|
257
257
|
|
258
258
|
def hr(param=nil)
|
259
|
-
Dot.hr
|
259
|
+
$Dot.hr
|
260
260
|
end
|
261
261
|
|
262
262
|
def image(param)
|
data/lib/post.rb
CHANGED
@@ -70,10 +70,11 @@ class RuneBlog::Post
|
|
70
70
|
@blog = RuneBlog.blog || raise(NoBlogAccessor)
|
71
71
|
end
|
72
72
|
|
73
|
-
def self.create(title)
|
73
|
+
def self.create(title, teaser = "", body = "")
|
74
|
+
# STDERR.puts "-- create: teaser = #{teaser.inspect} body = #{body.inspect}"
|
74
75
|
debug "=== Post.create #{title.inspect} pwd = #{Dir.pwd}"
|
75
76
|
post = self.new
|
76
|
-
post.new_metadata(title)
|
77
|
+
post.new_metadata(title.chomp, teaser.chomp, body.chomp)
|
77
78
|
post.create_draft
|
78
79
|
post.create_post_subtree
|
79
80
|
# post.build is not called here! It is called
|
@@ -81,25 +82,27 @@ class RuneBlog::Post
|
|
81
82
|
post
|
82
83
|
end
|
83
84
|
|
84
|
-
def new_metadata(title)
|
85
|
+
def new_metadata(title, teaser = nil, body = nil)
|
86
|
+
# STDERR.puts "-- new_meta: teaser = #{teaser.inspect} body = #{body.inspect}"
|
85
87
|
verify(title.is_a?(String) => "Title #{title.inspect} is not a string")
|
86
88
|
meta = OpenStruct.new
|
87
89
|
meta.title = title
|
88
|
-
meta.teaser
|
89
|
-
meta.body
|
90
|
+
meta.teaser ||= teaser
|
91
|
+
meta.body ||= body
|
92
|
+
# STDERR.puts "-- new_meta2: teaser = #{meta.teaser.inspect} body = #{meta.body.inspect}"
|
90
93
|
meta.pubdate = Time.now.strftime("%Y-%m-%d")
|
91
94
|
meta.date = meta.pubdate # fix later
|
92
95
|
meta.views = [@blog.view.to_s]
|
93
96
|
meta.tags = []
|
94
|
-
|
97
|
+
# ONLY place next_sequence is called!
|
98
|
+
meta.num = @blog.next_sequence
|
95
99
|
@blog.make_slug(meta) # adds to meta
|
96
100
|
@meta = meta
|
97
101
|
end
|
98
102
|
|
99
103
|
def create_draft
|
104
|
+
# STDERR.puts "-- create_draft: teaser = #{@meta.teaser.inspect} body = #{@meta.body.inspect}"
|
100
105
|
viewhome = @blog.view.publisher.url
|
101
|
-
# print "HOME = "
|
102
|
-
# p viewhome
|
103
106
|
html = RuneBlog.post_template(title: @meta.title, date: @meta.pubdate,
|
104
107
|
view: @meta.view, teaser: @meta.teaser, body: @meta.body,
|
105
108
|
views: @meta.views, tags: @meta.tags, home: viewhome)
|
@@ -124,6 +127,7 @@ class RuneBlog::Post
|
|
124
127
|
debug "=== build"
|
125
128
|
views = @meta.views
|
126
129
|
text = File.read(@draft)
|
130
|
+
STDERR.puts "-- build: draft = #{@draft.inspect}"
|
127
131
|
livetext = Livetext.new(STDOUT)
|
128
132
|
Livetext.parameters = [@blog, @meta.num, livetext]
|
129
133
|
meta = livetext.process_text(text)
|
data/lib/repl.rb
CHANGED
@@ -111,7 +111,6 @@ module RuneBlog::REPL
|
|
111
111
|
return @out if files.empty?
|
112
112
|
|
113
113
|
ret = RubyText.spinner(label: " Publishing... ") do
|
114
|
-
STDERR.puts files.inspect
|
115
114
|
@blog.view.publisher.publish(files, assets) # FIXME weird?
|
116
115
|
end
|
117
116
|
return @out unless ret
|
@@ -247,7 +246,6 @@ STDERR.puts files.inspect
|
|
247
246
|
file = files.first
|
248
247
|
result = edit_file("#{@blog.root}/drafts/#{file}")
|
249
248
|
@blog.rebuild_post(file)
|
250
|
-
sleep 5
|
251
249
|
@out
|
252
250
|
end
|
253
251
|
|
data/lib/runeblog.rb
CHANGED
@@ -77,7 +77,6 @@ class RuneBlog
|
|
77
77
|
Dir.chdir(dir) do
|
78
78
|
create_dir("drafts")
|
79
79
|
create_dir("views")
|
80
|
-
#??? create_dir("generated")
|
81
80
|
#? create_dir("assets")
|
82
81
|
new_sequence
|
83
82
|
end
|
@@ -169,13 +168,14 @@ class RuneBlog
|
|
169
168
|
create_dir('themes')
|
170
169
|
# create_dir("local")
|
171
170
|
create_dir("generated")
|
172
|
-
create_dir("generated/blog")
|
173
171
|
create_dir('assets')
|
174
172
|
|
175
173
|
Dir.chdir("themes") { system("tar zxvf #{GemData}/standard.tgz 2>/dev/null") }
|
176
174
|
pub = "user: xxx\nserver: xxx\ndocroot: xxx\npath: xxx\nproto: xxx\n"
|
177
175
|
dump(pub, "publish")
|
178
176
|
|
177
|
+
# Add to global.lt3 here? FIXME
|
178
|
+
|
179
179
|
view = RuneBlog::View.new(arg)
|
180
180
|
self.view = view
|
181
181
|
vdir = self.view.dir
|
@@ -212,10 +212,11 @@ class RuneBlog
|
|
212
212
|
result
|
213
213
|
end
|
214
214
|
|
215
|
-
def create_new_post(title, testing = false)
|
215
|
+
def create_new_post(title, testing = false, teaser: nil, body: nil)
|
216
|
+
# STDERR.puts "-- create_new_post: teaser = #{teaser.inspect} body = #{body.inspect}"
|
216
217
|
save = Dir.pwd
|
217
218
|
Dir.chdir(self.view.dir)
|
218
|
-
post = Post.create(title)
|
219
|
+
post = Post.create(title, teaser, body)
|
219
220
|
post.edit unless testing
|
220
221
|
meta = post.build
|
221
222
|
Dir.chdir(save)
|
data/lib/runeblog_version.rb
CHANGED
data/runeblog.gemspec
CHANGED
@@ -25,13 +25,18 @@ spec = Gem::Specification.new do |s|
|
|
25
25
|
|
26
26
|
# Files...
|
27
27
|
main = Find.find("bin").to_a +
|
28
|
-
Find.find("lib").to_a
|
29
|
-
|
28
|
+
Find.find("lib").to_a
|
29
|
+
|
30
|
+
Dir.chdir do
|
31
|
+
system("tar zcvf standard.tgz standard/")
|
32
|
+
end
|
33
|
+
|
34
|
+
std_theme = ["data/standard.tgz"]
|
30
35
|
|
31
36
|
misc = %w[./README.lt3 ./README.md ./runeblog.gemspec]
|
32
37
|
test = Find.find("test").to_a
|
33
38
|
|
34
|
-
s.files = main + misc + test
|
39
|
+
s.files = main + std_theme + misc + test
|
35
40
|
s.homepage = 'https://github.com/Hal9000/runeblog'
|
36
41
|
s.license = "Ruby"
|
37
42
|
end
|
data/test/make_blog.rb
CHANGED
@@ -15,9 +15,10 @@ def debug(str)
|
|
15
15
|
# STDERR.puts str
|
16
16
|
end
|
17
17
|
|
18
|
-
def make_post(x, title)
|
18
|
+
def make_post(x, title, teaser, body)
|
19
|
+
# STDERR.puts "-- make_post: teaser = #{teaser.inspect} body = #{body.inspect}"
|
19
20
|
meta = OpenStruct.new
|
20
|
-
num = x.create_new_post(title, true)
|
21
|
+
num = x.create_new_post(title, true, teaser: teaser, body: body)
|
21
22
|
num
|
22
23
|
end
|
23
24
|
|
@@ -31,31 +32,93 @@ end
|
|
31
32
|
system("rm -rf .blogs")
|
32
33
|
RuneBlog.create_new_blog_repo('test_view', ".blogs/data")
|
33
34
|
x = RuneBlog.new
|
34
|
-
|
35
|
+
|
36
|
+
x.create_view("around_austin") # FIXME remember view title!
|
35
37
|
|
36
38
|
# Hack:
|
37
39
|
if File.exist?("publish")
|
38
|
-
system("cp publish .blogs/data/views/
|
40
|
+
system("cp publish .blogs/data/views/around_austin/publish")
|
39
41
|
end
|
40
|
-
system("cp test/fakeimage.jpg .blogs/data/views/
|
41
|
-
|
42
|
-
x.create_view("
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
x
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
make_post(x, "
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
42
|
+
system("cp test/fakeimage.jpg .blogs/data/views/around_austin/assets/")
|
43
|
+
|
44
|
+
x.create_view("computing")
|
45
|
+
|
46
|
+
x.create_view("music")
|
47
|
+
|
48
|
+
x.change_view("around_austin") # 1 2 7 8 9
|
49
|
+
|
50
|
+
make_post(x, "What's at Stubbs...", <<-EXCERPT, <<-BODY)
|
51
|
+
Stubbs has been around for longer than civilization.
|
52
|
+
EXCERPT
|
53
|
+
That's a good thing. But their music isn't always the greatest.
|
54
|
+
BODY
|
55
|
+
|
56
|
+
make_post(x, "The new amphitheatre is overrated", <<-EXCERPT, <<-BODY)
|
57
|
+
It used to be that all major concerts played the Erwin Center.
|
58
|
+
EXCERPT
|
59
|
+
Now, depending on what you consider "major," blah blah blah...
|
60
|
+
BODY
|
61
|
+
|
62
|
+
x.change_view("computing") # 3 5 6
|
63
|
+
|
64
|
+
make_post(x, "Elixir Conf coming up...", <<-EXCERPT, <<-BODY)
|
65
|
+
The next Elixir Conf is always coming up.
|
66
|
+
EXCERPT
|
67
|
+
I mean, unless the previous one was the last one ever, which I don't expect to
|
68
|
+
happen for a couple of decades.
|
69
|
+
BODY
|
70
|
+
|
71
|
+
x.change_view("music") # 4 10
|
72
|
+
|
73
|
+
make_post(x, "Does indie still matter?", <<-EXCERPT, <<-BODY)
|
74
|
+
Indie msic blah blah blah blah....
|
75
|
+
EXCERPT
|
76
|
+
And more about indie music.
|
77
|
+
BODY
|
78
|
+
|
79
|
+
x.change_view("computing")
|
80
|
+
|
81
|
+
make_post(x, "The genius of Scenic", <<-EXCERPT, <<-BODY)
|
82
|
+
Boyd Multerer is a genius.
|
83
|
+
EXCERPT
|
84
|
+
And so is Scenic.
|
85
|
+
BODY
|
86
|
+
|
87
|
+
make_post(x, "The future of coding", <<-EXCERPT, <<-BODY)
|
88
|
+
Someday you can forget your text editor entirely.
|
89
|
+
EXCERPT
|
90
|
+
But that day hasn't come yet.
|
91
|
+
BODY
|
92
|
+
|
93
|
+
x.change_view("around_austin")
|
94
|
+
|
95
|
+
make_post(x, "The graffiti wall", <<-EXCERPT, <<-BODY)
|
96
|
+
RIP, Hope Gallery
|
97
|
+
EXCERPT
|
98
|
+
It's been a while since I was there. They say it was torn down
|
99
|
+
while I wasn't looking.
|
100
|
+
BODY
|
101
|
+
|
102
|
+
make_post(x, "The Waller Creek project", <<-EXCERPT, <<-BODY)
|
103
|
+
Will it ever be finished?
|
104
|
+
EXCERPT
|
105
|
+
Blah blah Waller Creek blah blah...
|
106
|
+
BODY
|
107
|
+
|
108
|
+
make_post(x, "Life on Sabine Street", <<-EXCERPT, <<-BODY)
|
109
|
+
It's like Pooh Corner, except not.
|
110
|
+
EXCERPT
|
111
|
+
This is about Sabine St, blah blah lorem ipsum dolor...
|
112
|
+
BODY
|
113
|
+
|
114
|
+
x.change_view("music")
|
115
|
+
|
116
|
+
make_post(x, "Remember Modest Mouse?", <<-EXCERPT, <<-BODY)
|
117
|
+
They date to the 90s or before.
|
118
|
+
EXCERPT
|
119
|
+
But I first heard of them
|
120
|
+
in 2005.
|
121
|
+
BODY
|
122
|
+
|
123
|
+
x.change_view("around_austin")
|
124
|
+
|
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.1.
|
4
|
+
version: 0.1.73
|
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-05-
|
11
|
+
date: 2019-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|