oaktree 0.4.5 → 0.5.0
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/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
|