runeblog 0.0.75 → 0.0.76
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 +10 -0
- data/data/VERSION +1 -1
- data/data/_default/custom/blog_header.html +24 -0
- data/data/_default/custom/blog_trailer.html +0 -0
- data/data/_default/custom/post_template.html +71 -0
- data/data/_default/deploy +0 -0
- data/data/_default/last_deployed +1 -0
- data/data/sequence +1 -1
- data/lib/repl.rb +2 -2
- data/lib/runeblog.rb +4 -2
- data/lib/version.rb +1 -1
- data/test/{repl.rb → general.rb} +4 -32
- data/test/make_blog.rb +41 -0
- data/test/test +2 -0
- metadata +11 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea20b5ece2e1160b2d6a908b9cdf4dfb84669c39
|
4
|
+
data.tar.gz: d4624f623f98991472ed1d477266c93e193ecd50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2854f7c068e1a26b5106beed39390fa9ecf4e01183cf836f932ad205df6065a07280b98482c13cace608a0ff7687ba585bd819f812ab4f33b978711efd5dfcd3
|
7
|
+
data.tar.gz: 30682686fa0ea29edb6fb0db128b28cc5bcfddc2b746f90299743564bde6390b7ebbfb0e3d85f1b61d96402b649ce843990ddf6f092e13ea2b8b5dbb821e3e5d
|
data/bin/blog
CHANGED
@@ -23,6 +23,16 @@ STDOUT.sync = true
|
|
23
23
|
|
24
24
|
cmd, arg = get_argv
|
25
25
|
|
26
|
+
if ! RuneBlog.exist?
|
27
|
+
print "No blog found. Create new one? (y/n) "
|
28
|
+
resp = gets.chomp
|
29
|
+
if resp == "y"
|
30
|
+
RuneBlog.create_new_blog
|
31
|
+
else
|
32
|
+
exit
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
26
36
|
@blog = RuneBlog.new
|
27
37
|
|
28
38
|
print red("\n RuneBlog v #{RuneBlog::VERSION}")
|
data/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
RuneBlog v 0.0.
|
1
|
+
RuneBlog v 0.0.76 2018-10-04
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<html>
|
2
|
+
<body background=speckle-texture-vector.jpg>
|
3
|
+
|
4
|
+
<title>Ruby, Elixir, and More</title>
|
5
|
+
|
6
|
+
<table>
|
7
|
+
<tr>
|
8
|
+
<td>
|
9
|
+
<img src=blog3a.jpg width=400 height=300>
|
10
|
+
</td>
|
11
|
+
<td>
|
12
|
+
<h3>Yet another blog by Hal Fulton</h3>
|
13
|
+
<br>
|
14
|
+
<br>
|
15
|
+
<b>Note</b>: I can never find a blogging engine I like! <br>
|
16
|
+
For now, this will just be a set of static pages.
|
17
|
+
<br>
|
18
|
+
<br>
|
19
|
+
If you want to comment, just <a href=mailto:rubyhacker@gmail.com>email me</a>.
|
20
|
+
</td>
|
21
|
+
</tr>
|
22
|
+
</table>
|
23
|
+
|
24
|
+
<hr>
|
File without changes
|
@@ -0,0 +1,71 @@
|
|
1
|
+
<html>
|
2
|
+
|
3
|
+
<body background='speckle-texture-vector.jpg'>
|
4
|
+
|
5
|
+
<script>
|
6
|
+
window.fbAsyncInit = function() {
|
7
|
+
FB.init({
|
8
|
+
appId : '1176481582378716',
|
9
|
+
xfbml : true,
|
10
|
+
version : 'v2.4'
|
11
|
+
});
|
12
|
+
};
|
13
|
+
|
14
|
+
(function(d, s, id){
|
15
|
+
var js, fjs = d.getElementsByTagName(s)[0];
|
16
|
+
if (d.getElementById(id)) {return;}
|
17
|
+
js = d.createElement(s); js.id = id;
|
18
|
+
js.src = '//connect.facebook.net/en_US/sdk.js';
|
19
|
+
fjs.parentNode.insertBefore(js, fjs);
|
20
|
+
}(document, 'script', 'facebook-jssdk'));
|
21
|
+
</script>
|
22
|
+
|
23
|
+
<!-- meta property='fb:admins' content='767352779' /> -->
|
24
|
+
<meta property='og:url' content='http://rubyhacker.com/blog2/#{@meta.slug}.html'/>
|
25
|
+
<meta property='og:type' content='article'/>
|
26
|
+
<meta property='og:title' content='#{@meta.title}'/>
|
27
|
+
<meta property='og:image' content='http://rubyhacker.com/blog2/blog3b.gif'/>
|
28
|
+
<meta property='og:description' content='#{@meta.teaser}'/>
|
29
|
+
|
30
|
+
<table bgcolor=#eeeeee cellspacing=5>
|
31
|
+
<tr>
|
32
|
+
<td valign=top>
|
33
|
+
<br> <font size=+2 color=red>#{@meta.title.chomp}</font> <br> #{@meta.pubdate.chomp}
|
34
|
+
</td>
|
35
|
+
|
36
|
+
<td width=2% bgcolor=red></td>
|
37
|
+
|
38
|
+
<td valign=top>
|
39
|
+
<a href='https://twitter.com/share'
|
40
|
+
class='twitter-share-button'
|
41
|
+
data-text='#{@meta.title}'
|
42
|
+
data-url='#{'url'}'
|
43
|
+
data-via='hal_fulton'
|
44
|
+
data-related='hal_fulton'>Tweet</a>
|
45
|
+
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
46
|
+
<br>
|
47
|
+
<a href='https://twitter.com/hal_fulton' class='twitter-follow-button' data-show-count='false'>Follow @hal_fulton</a>
|
48
|
+
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
49
|
+
|
50
|
+
<br>
|
51
|
+
<div
|
52
|
+
class='fb-like'
|
53
|
+
data-share='true'
|
54
|
+
data-width='450'
|
55
|
+
data-show-faces='true'>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
</td>
|
59
|
+
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
|
63
|
+
|
64
|
+
<hr>
|
65
|
+
|
66
|
+
#{@meta.body}
|
67
|
+
|
68
|
+
|
69
|
+
<hr>
|
70
|
+
<a href="http://rubyhacker.com/blog2" style="text-decoration: none">Back</a>
|
71
|
+
<a href="http://rubyhacker.com" style="text-decoration: none">Home</a>
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
Initial creation
|
data/data/sequence
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0
|
1
|
+
0
|
data/lib/repl.rb
CHANGED
@@ -192,7 +192,7 @@ module RuneBlog::REPL
|
|
192
192
|
id = get_integer(arg)
|
193
193
|
result = @blog.remove_post(id)
|
194
194
|
if result.nil?
|
195
|
-
output! "
|
195
|
+
output! "Post #{id} not found"
|
196
196
|
return @out
|
197
197
|
end
|
198
198
|
@out
|
@@ -218,7 +218,7 @@ module RuneBlog::REPL
|
|
218
218
|
files = files.grep(/#{tag}-/)
|
219
219
|
files = files.map {|f| File.basename(f) }
|
220
220
|
return red("Multiple files: #{files}") if files.size > 1
|
221
|
-
return red("\n
|
221
|
+
return red("\n Can't edit post #{id}") if files.empty?
|
222
222
|
|
223
223
|
file = files.first
|
224
224
|
result = system("vi #{@blog.root}/src/#{file}")
|
data/lib/runeblog.rb
CHANGED
@@ -31,7 +31,7 @@ class RuneBlog
|
|
31
31
|
def self.create_new_blog(dir = "data")
|
32
32
|
File.write(".blog", "#{dir}\nno_default\n")
|
33
33
|
# .blog lives above the entire subtree
|
34
|
-
|
34
|
+
create_dir(dir)
|
35
35
|
Dir.chdir(dir) do
|
36
36
|
create_dir("views")
|
37
37
|
create_dir("assets")
|
@@ -156,7 +156,6 @@ class RuneBlog
|
|
156
156
|
post.publish
|
157
157
|
post.num
|
158
158
|
rescue => err
|
159
|
-
p :ERROR
|
160
159
|
puts err # error(err)
|
161
160
|
end
|
162
161
|
|
@@ -180,6 +179,7 @@ p :ERROR
|
|
180
179
|
end
|
181
180
|
|
182
181
|
def change_view(view)
|
182
|
+
File.write(".blog", "#@root\n#{view}\n")
|
183
183
|
self.view = view # error checking?
|
184
184
|
end
|
185
185
|
|
@@ -274,6 +274,7 @@ p :ERROR
|
|
274
274
|
result = system("rm -rf #{list.join(' ')}")
|
275
275
|
error_cant_delete(files) unless result
|
276
276
|
# FIXME - update index/etc
|
277
|
+
true
|
277
278
|
end
|
278
279
|
|
279
280
|
def post_exists?(num)
|
@@ -306,6 +307,7 @@ p :ERROR
|
|
306
307
|
end
|
307
308
|
|
308
309
|
def create_dir(dir)
|
310
|
+
return if File.exist?(dir) && File.directory?(dir)
|
309
311
|
cmd = "mkdir -p #{dir} >/dev/null 2>&1"
|
310
312
|
result = system(cmd)
|
311
313
|
raise "Can't create #{dir}" unless result
|
data/lib/version.rb
CHANGED
data/test/{repl.rb → general.rb}
RENAMED
@@ -7,12 +7,6 @@ require 'lib/repl'
|
|
7
7
|
class TestREPL < Minitest::Test
|
8
8
|
include RuneBlog::REPL
|
9
9
|
|
10
|
-
def make_post(x, title)
|
11
|
-
meta = OpenStruct.new
|
12
|
-
meta.title = title
|
13
|
-
num = x.create_new_post(meta, true)
|
14
|
-
end
|
15
|
-
|
16
10
|
def show_lines(text)
|
17
11
|
lines = text.split("\n")
|
18
12
|
str = "#{lines.size} lines\n"
|
@@ -21,32 +15,9 @@ class TestREPL < Minitest::Test
|
|
21
15
|
end
|
22
16
|
|
23
17
|
def setup
|
24
|
-
|
25
|
-
#
|
26
|
-
RuneBlog.
|
27
|
-
x = RuneBlog.new
|
28
|
-
x.create_view("alpha_view")
|
29
|
-
x.create_view("beta_view")
|
30
|
-
x.create_view("gamma_view")
|
31
|
-
|
32
|
-
x.change_view("alpha_view") # 1 2 7 8 9
|
33
|
-
make_post(x, "Post number 1")
|
34
|
-
make_post(x, "Post number 2")
|
35
|
-
x.change_view("beta_view") # 3 5 6
|
36
|
-
make_post(x, "Post number 3")
|
37
|
-
x.change_view("gamma_view") # 4 10
|
38
|
-
make_post(x, "Post number 4")
|
39
|
-
x.change_view("beta_view")
|
40
|
-
make_post(x, "Post number 5")
|
41
|
-
make_post(x, "Post number 6")
|
42
|
-
x.change_view("alpha_view")
|
43
|
-
make_post(x, "Post number 7")
|
44
|
-
make_post(x, "Post number 8")
|
45
|
-
make_post(x, "Post number 9")
|
46
|
-
x.change_view("gamma_view")
|
47
|
-
make_post(x, "Post number 10")
|
48
|
-
x.change_view("alpha_view")
|
49
|
-
@blog = x
|
18
|
+
# To be strictly correct in testing (though slower),
|
19
|
+
# run make_blog here.
|
20
|
+
@blog = RuneBlog.new
|
50
21
|
end
|
51
22
|
|
52
23
|
# Note: "Bang" methods depend on the data_test subtree
|
@@ -178,6 +149,7 @@ class TestREPL < Minitest::Test
|
|
178
149
|
end
|
179
150
|
|
180
151
|
def test_013_kill_posts!
|
152
|
+
# Must think about this.
|
181
153
|
end
|
182
154
|
end
|
183
155
|
|
data/test/make_blog.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
$LOAD_PATH << "."
|
2
|
+
|
3
|
+
require 'lib/repl'
|
4
|
+
|
5
|
+
def make_post(x, title)
|
6
|
+
meta = OpenStruct.new
|
7
|
+
meta.title = title
|
8
|
+
num = x.create_new_post(meta, true)
|
9
|
+
end
|
10
|
+
|
11
|
+
def show_lines(text)
|
12
|
+
lines = text.split("\n")
|
13
|
+
str = "#{lines.size} lines\n"
|
14
|
+
lines.each {|line| str << " #{line.inspect}\n" }
|
15
|
+
str
|
16
|
+
end
|
17
|
+
|
18
|
+
system("rm -rf data_test")
|
19
|
+
RuneBlog.create_new_blog(Dir.pwd + "/data_test")
|
20
|
+
x = RuneBlog.new
|
21
|
+
x.create_view("alpha_view")
|
22
|
+
x.create_view("beta_view")
|
23
|
+
x.create_view("gamma_view")
|
24
|
+
|
25
|
+
x.change_view("alpha_view") # 1 2 7 8 9
|
26
|
+
make_post(x, "Post number 1")
|
27
|
+
make_post(x, "Post number 2")
|
28
|
+
x.change_view("beta_view") # 3 5 6
|
29
|
+
make_post(x, "Post number 3")
|
30
|
+
x.change_view("gamma_view") # 4 10
|
31
|
+
make_post(x, "Post number 4")
|
32
|
+
x.change_view("beta_view")
|
33
|
+
make_post(x, "Post number 5")
|
34
|
+
make_post(x, "Post number 6")
|
35
|
+
x.change_view("alpha_view")
|
36
|
+
make_post(x, "Post number 7")
|
37
|
+
make_post(x, "Post number 8")
|
38
|
+
make_post(x, "Post number 9")
|
39
|
+
x.change_view("gamma_view")
|
40
|
+
make_post(x, "Post number 10")
|
41
|
+
x.change_view("alpha_view")
|
data/test/test
ADDED
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.76
|
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-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: livetext
|
@@ -41,6 +41,11 @@ files:
|
|
41
41
|
- "./README.md"
|
42
42
|
- bin/blog
|
43
43
|
- data/VERSION
|
44
|
+
- data/_default/custom/blog_header.html
|
45
|
+
- data/_default/custom/blog_trailer.html
|
46
|
+
- data/_default/custom/post_template.html
|
47
|
+
- data/_default/deploy
|
48
|
+
- data/_default/last_deployed
|
44
49
|
- data/sequence
|
45
50
|
- data/views/_default/custom/blog_header.html
|
46
51
|
- data/views/_default/custom/blog_trailer.html
|
@@ -57,7 +62,9 @@ files:
|
|
57
62
|
- lib/version.rb
|
58
63
|
- lib/view.rb
|
59
64
|
- runeblog.gemspec
|
60
|
-
- test/
|
65
|
+
- test/general.rb
|
66
|
+
- test/make_blog.rb
|
67
|
+
- test/test
|
61
68
|
homepage: https://github.com/Hal9000/runeblog
|
62
69
|
licenses:
|
63
70
|
- Ruby License
|
@@ -78,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
85
|
version: '0'
|
79
86
|
requirements: []
|
80
87
|
rubyforge_project:
|
81
|
-
rubygems_version: 2.
|
88
|
+
rubygems_version: 2.2.2
|
82
89
|
signing_key:
|
83
90
|
specification_version: 4
|
84
91
|
summary: A command-line blogging system
|