homeostasis 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/homeostasis/blog.rb +12 -5
- data/lib/homeostasis.rb +1 -1
- metadata +1 -1
data/lib/homeostasis/blog.rb
CHANGED
@@ -2,21 +2,23 @@ require File.join(File.dirname(__FILE__), '..', 'homeostasis')
|
|
2
2
|
require 'date'
|
3
3
|
|
4
4
|
class Homeostasis::Blog < Stasis::Plugin
|
5
|
+
before_all :before_all
|
5
6
|
after_all :after_all
|
6
7
|
action_method :blog_posts
|
7
8
|
|
8
9
|
def initialize(stasis)
|
9
10
|
@stasis = stasis
|
10
11
|
@@directory = nil
|
12
|
+
@@posts = []
|
11
13
|
end
|
12
14
|
|
13
15
|
def self.directory(directory)
|
14
16
|
@@directory = directory
|
15
17
|
end
|
16
18
|
|
17
|
-
def
|
19
|
+
def before_all
|
20
|
+
raise 'Homeostasis::Blog#directory never set' if @@directory.nil?
|
18
21
|
blog_dir = File.join(@stasis.root, @@directory)
|
19
|
-
posts = []
|
20
22
|
front_site = Homeostasis::Front._front_site
|
21
23
|
Dir.glob("#{blog_dir}/*").each do |filename|
|
22
24
|
next if File.basename(filename) !~ /^(\d{4}-\d{2}-\d{2})-/
|
@@ -24,13 +26,13 @@ class Homeostasis::Blog < Stasis::Plugin
|
|
24
26
|
post = front_site[filename.sub(@stasis.root, '')[1..-1]] || {}
|
25
27
|
post[:date] = Date.parse(date)
|
26
28
|
post[:path] = post[:path].sub("/#{@@directory}/#{$1}-", "/#{@@directory}/")
|
27
|
-
posts << post
|
29
|
+
@@posts << post
|
28
30
|
end
|
29
|
-
posts.sort_by {|post| post[:date]}.reverse
|
31
|
+
@@posts = @@posts.sort_by {|post| post[:date]}.reverse
|
30
32
|
end
|
31
33
|
|
32
34
|
def after_all
|
33
|
-
|
35
|
+
return if @@directory.nil?
|
34
36
|
blog_dir = File.join(@stasis.destination, @@directory)
|
35
37
|
Dir.glob("#{blog_dir}/*").each do |filename|
|
36
38
|
next if filename !~ /^\d{4}-\d{2}-\d{2}-/
|
@@ -38,6 +40,11 @@ class Homeostasis::Blog < Stasis::Plugin
|
|
38
40
|
FileUtils.mv(filename, File.join(File.dirname(filename), newbase))
|
39
41
|
end
|
40
42
|
end
|
43
|
+
|
44
|
+
def blog_posts
|
45
|
+
raise 'Homeostasis::Blog#directory never set' if @@directory.nil?
|
46
|
+
@@posts
|
47
|
+
end
|
41
48
|
end
|
42
49
|
|
43
50
|
Stasis.register(Homeostasis::Blog)
|
data/lib/homeostasis.rb
CHANGED