oaktree 0.4.5 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/oak +6 -2
- data/lib/oaktree/post_data.rb +7 -1
- data/lib/oaktree/template/blog.rb +2 -2
- data/lib/oaktree/template/post.rb +18 -0
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 229aef0a85df9de79987d25b62296a1bd51f8460
|
4
|
+
data.tar.gz: e87221e7576984a9b4c49f1dea46fcd22d560852
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41ca025182163094fd4f5f4836594f1bd5591a02087871530e0a688a3706b0640ff2087666bdd31d455d190bc043d2a3e4cd2a687cdb4c1cd84200ae080e7c63
|
7
|
+
data.tar.gz: dee4745a3bb95210dacd66dae17595dcede8e9f7e7b1e57de6691649e96f53865c42359e32909d3dcd70c772ef2e8ce2955058d7da0114099f6032ffda6875b9
|
data/bin/oak
CHANGED
@@ -245,8 +245,12 @@ def dispatch_command cmd, *args
|
|
245
245
|
file = new_post(spec, title)
|
246
246
|
|
247
247
|
if open_editor
|
248
|
-
editor = ENV['EDITOR']
|
249
|
-
|
248
|
+
editor = ENV['EDITOR']
|
249
|
+
if editor
|
250
|
+
%x[#{editor} "#{file}"]
|
251
|
+
else
|
252
|
+
$stderr.puts("No EDITOR environment variable set")
|
253
|
+
end
|
250
254
|
end
|
251
255
|
|
252
256
|
when 'init', '-i'
|
data/lib/oaktree/post_data.rb
CHANGED
@@ -40,6 +40,10 @@ class OakTree::PostData
|
|
40
40
|
protected :source_path=, :public_path=, :title=, :link=, :content=,
|
41
41
|
:last_read_time=, :hash=, :spec=, :permalink=, :source_name=
|
42
42
|
|
43
|
+
def metadata
|
44
|
+
@metadata
|
45
|
+
end
|
46
|
+
|
43
47
|
# Loads a new post from the source file using the given Specification. The
|
44
48
|
# source file should be the full filename of the source file, but without any
|
45
49
|
# other path components.
|
@@ -47,6 +51,8 @@ class OakTree::PostData
|
|
47
51
|
def initialize(source_name, spec)
|
48
52
|
set_post_defaults
|
49
53
|
|
54
|
+
@metadata = {}
|
55
|
+
|
50
56
|
self.spec = spec
|
51
57
|
|
52
58
|
self.hash = nil
|
@@ -172,7 +178,7 @@ class OakTree::PostData
|
|
172
178
|
if self.respond_to?(setter_sym, true)
|
173
179
|
self.send setter_sym, value
|
174
180
|
else
|
175
|
-
|
181
|
+
@metadata[key.to_sym] = value
|
176
182
|
end
|
177
183
|
}
|
178
184
|
|
@@ -58,7 +58,7 @@ class OakTree
|
|
58
58
|
}.select(&:published?)
|
59
59
|
|
60
60
|
@posts = @postdata.select(&:post?)
|
61
|
-
@sorted_posts = @posts.
|
61
|
+
@sorted_posts = @posts.sort { |pl, pr| pl.post_data.time <=> pr.post_data.time }.reverse!
|
62
62
|
@statics = @postdata.select(&:static?)
|
63
63
|
|
64
64
|
@posts.freeze
|
@@ -66,7 +66,7 @@ class OakTree
|
|
66
66
|
|
67
67
|
# build the archive
|
68
68
|
@archive = []
|
69
|
-
@posts.
|
69
|
+
@posts.each { |post|
|
70
70
|
data = post.post_data
|
71
71
|
time = data.time
|
72
72
|
|
@@ -84,6 +84,24 @@ class OakTree
|
|
84
84
|
@post.status
|
85
85
|
end
|
86
86
|
|
87
|
+
def has_key?(key)
|
88
|
+
respond_to?(key) || @post.metadata.include?(key) || key.to_s.end_with?('?')
|
89
|
+
end
|
90
|
+
|
91
|
+
def [](key)
|
92
|
+
if respond_to?(key)
|
93
|
+
send(key)
|
94
|
+
elsif key.to_s.end_with?('?')
|
95
|
+
key = case key
|
96
|
+
when Symbol then key.to_s.chomp('?').to_sym
|
97
|
+
when String then key.to_s.chomp('?')
|
98
|
+
else raise "Not sure what has happened here"
|
99
|
+
end
|
100
|
+
respond_to?(key) || @post.metadata.include?(key)
|
101
|
+
else
|
102
|
+
@post.metadata[key]
|
103
|
+
end
|
104
|
+
end
|
87
105
|
end # Post
|
88
106
|
|
89
107
|
end # Template
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oaktree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Noel Raymond Cower
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2013-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mustache
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.99'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.99'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: kramdown
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.13'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.13'
|
41
41
|
description: |
|
@@ -49,6 +49,10 @@ executables:
|
|
49
49
|
extensions: []
|
50
50
|
extra_rdoc_files: []
|
51
51
|
files:
|
52
|
+
- COPYING
|
53
|
+
- README.md
|
54
|
+
- Rakefile
|
55
|
+
- bin/oak
|
52
56
|
- lib/oaktree.rb
|
53
57
|
- lib/oaktree/kramdown/oak_html.rb
|
54
58
|
- lib/oaktree/post_data.rb
|
@@ -58,10 +62,6 @@ files:
|
|
58
62
|
- lib/oaktree/template/blog.rb
|
59
63
|
- lib/oaktree/template/post.rb
|
60
64
|
- lib/oaktree/template/post_archive.rb
|
61
|
-
- bin/oak
|
62
|
-
- COPYING
|
63
|
-
- README.md
|
64
|
-
- Rakefile
|
65
65
|
homepage: https://github.com/nilium/oaktree/
|
66
66
|
licenses:
|
67
67
|
- WTFPL-2
|
@@ -73,17 +73,17 @@ require_paths:
|
|
73
73
|
- lib
|
74
74
|
required_ruby_version: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
|
-
- -
|
76
|
+
- - ">="
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: '0'
|
79
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
requirements: []
|
85
85
|
rubyforge_project:
|
86
|
-
rubygems_version: 2.
|
86
|
+
rubygems_version: 2.2.1
|
87
87
|
signing_key:
|
88
88
|
specification_version: 4
|
89
89
|
summary: OakTree static HTML blog
|