sphonglepress 0.0.10 → 0.0.12
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.
- data/Gemfile.lock +103 -59
- data/lib/sphonglepress/export.rb +11 -8
- data/lib/sphonglepress/importer.rb +50 -38
- data/lib/sphonglepress/version.rb +1 -1
- data/lib/sphonglepress/visitors/visitor.rb +7 -1
- data/lib/sphonglepress/watcher.rb +11 -29
- data/lib/sphonglepress.rb +26 -8
- data/sphonglepress.gemspec +2 -3
- metadata +38 -38
data/Gemfile.lock
CHANGED
|
@@ -1,93 +1,137 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
sphonglepress (0.0.
|
|
4
|
+
sphonglepress (0.0.10)
|
|
5
5
|
activerecord
|
|
6
|
+
fssm
|
|
6
7
|
haml
|
|
8
|
+
hpricot
|
|
7
9
|
middleman
|
|
10
|
+
mime-types
|
|
11
|
+
mysql2
|
|
12
|
+
nokogiri
|
|
13
|
+
rb-inotify
|
|
14
|
+
therubyracer
|
|
8
15
|
thor
|
|
9
16
|
tilt
|
|
10
17
|
|
|
11
18
|
GEM
|
|
12
19
|
remote: http://rubygems.org/
|
|
13
20
|
specs:
|
|
14
|
-
activemodel (3.
|
|
15
|
-
activesupport (= 3.
|
|
16
|
-
builder (~>
|
|
17
|
-
i18n (~> 0.
|
|
18
|
-
activerecord (3.
|
|
19
|
-
activemodel (= 3.
|
|
20
|
-
activesupport (= 3.
|
|
21
|
-
arel (~> 2.
|
|
22
|
-
tzinfo (~> 0.3.
|
|
23
|
-
activesupport (3.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
activemodel (3.1.3)
|
|
22
|
+
activesupport (= 3.1.3)
|
|
23
|
+
builder (~> 3.0.0)
|
|
24
|
+
i18n (~> 0.6)
|
|
25
|
+
activerecord (3.1.3)
|
|
26
|
+
activemodel (= 3.1.3)
|
|
27
|
+
activesupport (= 3.1.3)
|
|
28
|
+
arel (~> 2.2.1)
|
|
29
|
+
tzinfo (~> 0.3.29)
|
|
30
|
+
activesupport (3.1.3)
|
|
31
|
+
multi_json (~> 1.0)
|
|
32
|
+
addressable (2.2.6)
|
|
33
|
+
arel (2.2.1)
|
|
34
|
+
builder (3.0.0)
|
|
35
|
+
chunky_png (1.2.5)
|
|
27
36
|
coffee-script (2.2.0)
|
|
28
37
|
coffee-script-source
|
|
29
38
|
execjs
|
|
30
|
-
coffee-script-source (1.
|
|
31
|
-
compass (0.11.
|
|
32
|
-
chunky_png (~> 1.
|
|
39
|
+
coffee-script-source (1.2.0)
|
|
40
|
+
compass (0.11.7)
|
|
41
|
+
chunky_png (~> 1.2)
|
|
33
42
|
fssm (>= 0.2.7)
|
|
34
43
|
sass (~> 3.1)
|
|
35
|
-
|
|
36
|
-
|
|
44
|
+
daemons (1.1.5)
|
|
45
|
+
em-websocket (0.3.6)
|
|
46
|
+
addressable (>= 2.1.1)
|
|
47
|
+
eventmachine (>= 0.12.9)
|
|
37
48
|
eventmachine (0.12.10)
|
|
38
|
-
execjs (1.2.
|
|
49
|
+
execjs (1.2.13)
|
|
39
50
|
multi_json (~> 1.0)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
ffi (1.0.11)
|
|
52
|
+
fssm (0.2.8.1)
|
|
53
|
+
guard (0.6.3)
|
|
54
|
+
thor (~> 0.14.6)
|
|
55
|
+
guard-livereload (0.3.1)
|
|
56
|
+
em-websocket (>= 0.2.0)
|
|
57
|
+
guard (>= 0.4.0)
|
|
58
|
+
multi_json (~> 1.0.3)
|
|
59
|
+
haml (3.1.4)
|
|
60
|
+
hike (1.2.1)
|
|
61
|
+
hpricot (0.8.5)
|
|
62
|
+
http_router (0.10.2)
|
|
43
63
|
rack (>= 1.0.0)
|
|
44
64
|
url_mount (~> 0.2.1)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
65
|
+
i18n (0.6.0)
|
|
66
|
+
libv8 (3.3.10.4)
|
|
67
|
+
maruku (0.6.0)
|
|
68
|
+
syntax (>= 1.0.0)
|
|
69
|
+
middleman (2.0.14)
|
|
49
70
|
coffee-script (~> 2.2.0)
|
|
50
|
-
compass (
|
|
71
|
+
compass (~> 0.11.3)
|
|
72
|
+
execjs (~> 1.2.7)
|
|
73
|
+
guard (~> 0.6.2)
|
|
51
74
|
haml (~> 3.1.0)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
padrino-
|
|
55
|
-
|
|
56
|
-
rack
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
sinatra (~> 1.
|
|
60
|
-
|
|
75
|
+
maruku (~> 0.6.0)
|
|
76
|
+
middleman-livereload (~> 0.2.0)
|
|
77
|
+
padrino-core (~> 0.10.5)
|
|
78
|
+
padrino-helpers (~> 0.10.5)
|
|
79
|
+
rack (~> 1.3.5)
|
|
80
|
+
rack-test (~> 0.6.1)
|
|
81
|
+
sass (~> 3.1.7)
|
|
82
|
+
sinatra (~> 1.3.1)
|
|
83
|
+
slim (~> 1.0.2)
|
|
84
|
+
sprockets (~> 2.0.3)
|
|
85
|
+
thin (~> 1.2.11)
|
|
61
86
|
thor (~> 0.14.0)
|
|
87
|
+
tilt (~> 1.3.1)
|
|
88
|
+
uglifier (~> 1.0.0)
|
|
89
|
+
middleman-livereload (0.2.1)
|
|
90
|
+
guard-livereload (~> 0.3.1)
|
|
91
|
+
mime-types (1.17.2)
|
|
92
|
+
multi_json (1.0.4)
|
|
93
|
+
mysql2 (0.3.11)
|
|
94
|
+
nokogiri (1.5.0)
|
|
95
|
+
padrino-core (0.10.5)
|
|
96
|
+
activesupport (~> 3.1.0)
|
|
97
|
+
http_router (~> 0.10.2)
|
|
98
|
+
sinatra (~> 1.3.1)
|
|
99
|
+
thor (~> 0.14.3)
|
|
62
100
|
tilt (~> 1.3.0)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
tilt (~> 1.3.0)
|
|
71
|
-
padrino-helpers (0.9.29)
|
|
72
|
-
i18n (>= 0.4.1)
|
|
73
|
-
padrino-core (= 0.9.29)
|
|
74
|
-
rack (1.3.0)
|
|
75
|
-
rack-test (0.5.7)
|
|
76
|
-
rack (>= 1.0)
|
|
77
|
-
sass (3.1.4)
|
|
78
|
-
shotgun (0.8)
|
|
101
|
+
padrino-helpers (0.10.5)
|
|
102
|
+
i18n (~> 0.6)
|
|
103
|
+
padrino-core (= 0.10.5)
|
|
104
|
+
rack (1.3.6)
|
|
105
|
+
rack-protection (1.2.0)
|
|
106
|
+
rack
|
|
107
|
+
rack-test (0.6.1)
|
|
79
108
|
rack (>= 1.0)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
109
|
+
rb-inotify (0.8.8)
|
|
110
|
+
ffi (>= 0.5.0)
|
|
111
|
+
sass (3.1.12)
|
|
112
|
+
sinatra (1.3.2)
|
|
113
|
+
rack (>= 1.3.6, ~> 1.3)
|
|
114
|
+
rack-protection (~> 1.2)
|
|
115
|
+
tilt (>= 1.3.3, ~> 1.3)
|
|
116
|
+
slim (1.0.4)
|
|
117
|
+
temple (~> 0.3.4)
|
|
118
|
+
tilt (~> 1.3.2)
|
|
119
|
+
sprockets (2.0.3)
|
|
120
|
+
hike (~> 1.2)
|
|
121
|
+
rack (~> 1.0)
|
|
122
|
+
tilt (!= 1.3.0, ~> 1.1)
|
|
123
|
+
syntax (1.0.0)
|
|
124
|
+
temple (0.3.5)
|
|
125
|
+
therubyracer (0.9.9)
|
|
126
|
+
libv8 (~> 3.3.10)
|
|
83
127
|
thin (1.2.11)
|
|
84
128
|
daemons (>= 1.0.9)
|
|
85
129
|
eventmachine (>= 0.12.6)
|
|
86
130
|
rack (>= 1.0.0)
|
|
87
131
|
thor (0.14.6)
|
|
88
|
-
tilt (1.3.
|
|
89
|
-
tzinfo (0.3.
|
|
90
|
-
uglifier (0.
|
|
132
|
+
tilt (1.3.3)
|
|
133
|
+
tzinfo (0.3.31)
|
|
134
|
+
uglifier (1.0.4)
|
|
91
135
|
execjs (>= 0.3.0)
|
|
92
136
|
multi_json (>= 1.0.2)
|
|
93
137
|
url_mount (0.2.1)
|
data/lib/sphonglepress/export.rb
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
require 'fileutils'
|
|
2
|
+
require 'ruby-debug'
|
|
2
3
|
|
|
3
4
|
module Sphonglepress
|
|
4
5
|
class Export
|
|
5
6
|
class << self
|
|
6
7
|
def headers_footers
|
|
7
8
|
build_dir = ::Sphonglepress::Config.config["middleman_dir"].join("build")
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
layout_dir = build_dir.join("headers")
|
|
10
|
+
default_file = layout_dir.join("index.html")
|
|
11
|
+
default_parts = split_file(IO.read(default_file)) rescue nil
|
|
10
12
|
|
|
11
|
-
other_files = Dir["#{
|
|
13
|
+
other_files = Dir["#{layout_dir}/*.html"]. #without index.html
|
|
12
14
|
reject {|file| Pathname.new(file).basename.to_s == "index.html"}
|
|
13
15
|
|
|
14
16
|
others = {}
|
|
@@ -18,9 +20,11 @@ module Sphonglepress
|
|
|
18
20
|
|
|
19
21
|
FileUtils.mkdir_p ::Sphonglepress::Config.wp_theme_dir unless Dir.exist? ::Sphonglepress::Config.wp_theme_dir
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
if default_parts
|
|
24
|
+
File.open(::Sphonglepress::Config.wp_theme_dir.join("header.php"), 'w') {|file| file.write(default_parts[:header])}
|
|
25
|
+
File.open(::Sphonglepress::Config.wp_theme_dir.join("footer.php"), 'w') {|file| file.write(default_parts[:footer])}
|
|
26
|
+
File.open(::Sphonglepress::Config.wp_theme_dir.join("index.php"), 'w') {|file| file.write(default_parts[:content])}
|
|
27
|
+
end
|
|
24
28
|
|
|
25
29
|
others.each do |name, parts|
|
|
26
30
|
File.open(::Sphonglepress::Config.wp_theme_dir.join("header-#{name}.php"), 'w') {|file| file.write(parts[:header])}
|
|
@@ -33,7 +37,6 @@ module Sphonglepress
|
|
|
33
37
|
cmd = "cp -r #{CONFIG["middleman_dir"]}/build/*/ #{::Sphonglepress::Config.config["wp_clone_dir"]}"
|
|
34
38
|
`#{cmd}`
|
|
35
39
|
cmd = "cp -r #{CONFIG["middleman_dir"]}/build/stylesheets/*.css #{::Sphonglepress::Config.wp_theme_dir}/"
|
|
36
|
-
puts cmd
|
|
37
40
|
`#{cmd}`
|
|
38
41
|
end
|
|
39
42
|
|
|
@@ -46,4 +49,4 @@ module Sphonglepress
|
|
|
46
49
|
|
|
47
50
|
end
|
|
48
51
|
end
|
|
49
|
-
end
|
|
52
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require 'tilt'
|
|
2
2
|
require 'haml'
|
|
3
|
-
|
|
3
|
+
require 'ruby-debug'
|
|
4
4
|
require 'sphonglepress/models/page'
|
|
5
5
|
|
|
6
6
|
module Sphonglepress
|
|
@@ -9,52 +9,55 @@ module Sphonglepress
|
|
|
9
9
|
def import(hash)
|
|
10
10
|
structure(hash)
|
|
11
11
|
end
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
def structure(hash, parent=nil)
|
|
14
14
|
i=0
|
|
15
|
-
sorted = hash.keys.sort {|a,b| a.split("_").first.to_i <=> b.split("_").first.to_i }
|
|
16
15
|
pages = []
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
hash.each do |s_page|
|
|
17
|
+
title = s_page["title"]
|
|
18
|
+
page = nil
|
|
20
19
|
if parent
|
|
21
|
-
|
|
22
|
-
parent.posts
|
|
20
|
+
#some activerecord caching issue, can't use where
|
|
21
|
+
page = parent.posts.select{|p| p.post_title == title}.first
|
|
23
22
|
else
|
|
24
|
-
page = Models::Page.
|
|
23
|
+
page = Models::Page.where(:post_title => title).first
|
|
25
24
|
end
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
page_content_file = ::Sphonglepress::STATIC_DIR.join(full_path_for_page(page)).to_s << ".html.haml"
|
|
33
|
-
|
|
34
|
-
begin
|
|
35
|
-
if File.exist?(page_content_file)
|
|
36
|
-
#puts "found #{page_content_file}"
|
|
37
|
-
page.post_content = Tilt.new(page_content_file, :ugly => true).render
|
|
25
|
+
|
|
26
|
+
unless page
|
|
27
|
+
if parent
|
|
28
|
+
page = Models::Page.new(:post_title => title, :post_type => "page", :menu_order => i, :parent => parent)
|
|
29
|
+
parent.posts << page
|
|
38
30
|
else
|
|
39
|
-
|
|
31
|
+
page = Models::Page.new(:post_title => title, :post_type => "page", :menu_order => i)
|
|
40
32
|
end
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
page.post_name = page.post_title.downcase.split(" ").join("-")
|
|
34
|
+
page.post_date = page.post_modified = DateTime.now
|
|
35
|
+
page.post_date_gmt = page.post_modified_gmt = DateTime.now.new_offset(0)
|
|
44
36
|
end
|
|
45
37
|
|
|
46
|
-
|
|
38
|
+
pages << page
|
|
47
39
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
page_content_file = ::Sphonglepress::BUILD_DIR.join(s_page["url"][1..-1] || full_path_for_page(page)).to_s
|
|
41
|
+
puts s_page["url"]
|
|
42
|
+
|
|
43
|
+
if File.file?(page_content_file)
|
|
44
|
+
content = split_file IO.read(page_content_file)
|
|
45
|
+
page.post_content = content[:content]
|
|
46
|
+
else
|
|
47
|
+
puts "Couldnt find #{page_content_file} in the build directory"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
i += 10
|
|
51
|
+
if s_page["children"]
|
|
52
|
+
structure(s_page["children"], page)
|
|
51
53
|
end
|
|
52
54
|
end
|
|
53
55
|
pages
|
|
54
56
|
end
|
|
55
|
-
|
|
57
|
+
|
|
56
58
|
def persist(page)
|
|
57
59
|
page.save
|
|
60
|
+
puts page.post_title
|
|
58
61
|
page.posts.each {|p| persist(p)}
|
|
59
62
|
end
|
|
60
63
|
|
|
@@ -67,7 +70,14 @@ module Sphonglepress
|
|
|
67
70
|
end
|
|
68
71
|
end
|
|
69
72
|
end
|
|
70
|
-
|
|
73
|
+
|
|
74
|
+
def split_file(contents)
|
|
75
|
+
first = contents.split("<!-- BEGIN_BODY -->")
|
|
76
|
+
second = first.last.split("<!-- END_BODY -->")
|
|
77
|
+
|
|
78
|
+
{:header => first.first, :content => second.first, :footer => second.last}
|
|
79
|
+
end
|
|
80
|
+
|
|
71
81
|
def filenames_for_site(pages)
|
|
72
82
|
filenames = []
|
|
73
83
|
pages.each do |page|
|
|
@@ -80,14 +90,16 @@ module Sphonglepress
|
|
|
80
90
|
|
|
81
91
|
# http://stackoverflow.com/questions/1939333/how-to-make-a-ruby-string-safe-for-a-filesystem
|
|
82
92
|
def sanitize_filename(filename)
|
|
83
|
-
filename.strip.gsub(/^.*(\\|\/)/, '').gsub(/[^0-9A-Za-z.\-]/, '-')
|
|
93
|
+
filename.strip.gsub(/^.*(\\|\/)/, '').gsub(/[^0-9A-Za-z.\-]/, '-').gsub(/-+/, '-')
|
|
84
94
|
end
|
|
85
95
|
|
|
86
|
-
def full_path_for_page(page)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
96
|
+
def full_path_for_page(page, path)
|
|
97
|
+
(path.send(:join, *path_array_for_page(page)).to_s << ".html").downcase
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def path_array_for_page(page)
|
|
101
|
+
return [] unless page
|
|
102
|
+
path_array_for_page(page.parent) << sanitize_filename(page.post_title)
|
|
91
103
|
end
|
|
92
104
|
|
|
93
105
|
def filenames_for_page(page)
|
|
@@ -106,4 +118,4 @@ module Sphonglepress
|
|
|
106
118
|
|
|
107
119
|
end
|
|
108
120
|
end
|
|
109
|
-
end
|
|
121
|
+
end
|
|
@@ -5,18 +5,13 @@ module Sphonglepress
|
|
|
5
5
|
def initialize(app)
|
|
6
6
|
@app = app
|
|
7
7
|
end
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
def watch
|
|
10
|
+
puts ::Sphonglepress::LAYOUT_DIR.join("source")
|
|
10
11
|
myself = self
|
|
11
12
|
while true do
|
|
12
13
|
begin
|
|
13
14
|
FSSM.monitor do
|
|
14
|
-
path ::Sphonglepress::STATIC_DIR do
|
|
15
|
-
|
|
16
|
-
update {|base, relative| myself.static }
|
|
17
|
-
delete {|base, relative| myself.static }
|
|
18
|
-
create {|base, relative| mysqlf.static }
|
|
19
|
-
end
|
|
20
15
|
|
|
21
16
|
path ::Sphonglepress::LAYOUT_DIR.join("source") do
|
|
22
17
|
update {|base, relative| myself.middleman }
|
|
@@ -24,38 +19,25 @@ module Sphonglepress
|
|
|
24
19
|
create {|base, relative| myself.middleman }
|
|
25
20
|
end
|
|
26
21
|
|
|
27
|
-
path ::Sphonglepress::CONFIG_DIR do
|
|
28
|
-
update {|base, relative| myself.config_sitemap }
|
|
29
|
-
delete {|base, relative| myself.config_sitemap }
|
|
30
|
-
create {|base, relative| myself.config_sitemap }
|
|
31
|
-
end
|
|
32
|
-
|
|
33
22
|
end
|
|
34
23
|
|
|
35
24
|
rescue Exception => e
|
|
36
|
-
|
|
25
|
+
puts "Caught Exception #{e.message}"
|
|
37
26
|
end
|
|
38
27
|
end
|
|
39
28
|
end
|
|
40
29
|
|
|
41
|
-
def static
|
|
42
|
-
puts "Static dir changed, reloading site content"
|
|
43
|
-
@app.load_db
|
|
44
|
-
@app.import_site
|
|
45
|
-
puts "DONE"
|
|
46
|
-
|
|
47
|
-
end
|
|
48
|
-
|
|
49
30
|
def middleman
|
|
50
|
-
|
|
31
|
+
begin
|
|
32
|
+
puts "Middleman directory changed, reloading site content"
|
|
33
|
+
@app.import_site
|
|
51
34
|
@app.export
|
|
35
|
+
@app.import_site
|
|
52
36
|
puts "DONE"
|
|
37
|
+
rescue Exception => e
|
|
38
|
+
puts "Caught Exception while reloading site content: #{e.message}"
|
|
53
39
|
end
|
|
54
|
-
|
|
55
|
-
def config_sitemap
|
|
56
|
-
puts "Config dir changed, Creating any static files not created"
|
|
57
|
-
@app.create_static_files
|
|
58
|
-
puts "DONE"
|
|
59
40
|
end
|
|
41
|
+
|
|
60
42
|
end
|
|
61
|
-
end
|
|
43
|
+
end
|
data/lib/sphonglepress.rb
CHANGED
|
@@ -82,14 +82,14 @@ module Sphonglepress
|
|
|
82
82
|
def import_site
|
|
83
83
|
pages = ::Sphonglepress::Importer.import sitemap_hash
|
|
84
84
|
pages.each { |page| Importer.persist page }
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
require Dir.pwd.to_s << "/" << v
|
|
89
|
-
end
|
|
85
|
+
|
|
86
|
+
require_visitors
|
|
87
|
+
|
|
90
88
|
::Sphonglepress::Visitors::Visitor.subclasses.each {|s| s.instance.once}
|
|
91
89
|
|
|
92
90
|
pages.each { |page| Importer.visit page }
|
|
91
|
+
|
|
92
|
+
::Sphonglepress::Visitors::Visitor.subclasses.each {|s| s.instance.after}
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
desc "create_db", "create the wordpress database"
|
|
@@ -161,6 +161,9 @@ module Sphonglepress
|
|
|
161
161
|
Middleman.build
|
|
162
162
|
Export.files
|
|
163
163
|
Export.headers_footers
|
|
164
|
+
::Sphonglepress::Visitors::Visitor.subclasses.each do |s|
|
|
165
|
+
s.instance.after
|
|
166
|
+
end
|
|
164
167
|
end
|
|
165
168
|
|
|
166
169
|
desc "full_refresh", "do a full refresh of the whole shebang (layouts, headers, database, import content)"
|
|
@@ -168,8 +171,14 @@ module Sphonglepress
|
|
|
168
171
|
clean_wp
|
|
169
172
|
Middleman.clean
|
|
170
173
|
export
|
|
171
|
-
load_db
|
|
174
|
+
#load_db
|
|
172
175
|
import_site
|
|
176
|
+
|
|
177
|
+
require_visitors
|
|
178
|
+
|
|
179
|
+
::Sphonglepress::Visitors::Visitor.subclasses.each do |s|
|
|
180
|
+
s.instance.after
|
|
181
|
+
end
|
|
173
182
|
end
|
|
174
183
|
|
|
175
184
|
desc "watch", "monitor directory & reload on change"
|
|
@@ -201,7 +210,16 @@ module Sphonglepress
|
|
|
201
210
|
private
|
|
202
211
|
|
|
203
212
|
def sitemap_hash
|
|
204
|
-
|
|
213
|
+
JSON.parse IO.read(::Sphonglepress::CONFIG_DIR.join("sitemap.json"))
|
|
214
|
+
#YAML::load(IO.read(::Sphonglepress::CONFIG_DIR.join("sitemap.yml")))
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
def require_visitors
|
|
218
|
+
visitors = Dir[CONFIG_DIR.join("visitors").to_s << "/*.rb"].map{|v| "config/visitors/" << Pathname.new(v).basename.to_s}
|
|
219
|
+
visitors.each do |v|
|
|
220
|
+
require Dir.pwd.to_s << "/" << v
|
|
221
|
+
end
|
|
222
|
+
|
|
205
223
|
end
|
|
206
224
|
|
|
207
225
|
APP_DIR = Pathname.new(File.expand_path(File.dirname(__FILE__))).join("..")
|
|
@@ -214,7 +232,6 @@ module Sphonglepress
|
|
|
214
232
|
ENV_MODE = "development"
|
|
215
233
|
CONFIG = Config.config
|
|
216
234
|
|
|
217
|
-
|
|
218
235
|
DB_DIR = PROJECT_DIR.join("db")
|
|
219
236
|
DB_DUMP_DIR = PROJECT_DIR.join("db/dumps")
|
|
220
237
|
DB_DUMP_DIR_LIVE = PROJECT_DIR.join("db/live_dumps")
|
|
@@ -222,4 +239,5 @@ module Sphonglepress
|
|
|
222
239
|
WP_DIR = PROJECT_DIR.join(CONFIG["wp_clone_dir"]) rescue nil
|
|
223
240
|
WP_UPLOAD_DIR = WP_DIR.join("wp-content/uploads") rescue nil
|
|
224
241
|
LAYOUT_DIR = PROJECT_DIR.join(CONFIG["middleman_dir"]) rescue nil
|
|
242
|
+
BUILD_DIR = PROJECT_DIR.join(CONFIG["middleman_dir"], "build") rescue nil
|
|
225
243
|
end
|
data/sphonglepress.gemspec
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
1
|
$:.push File.expand_path("../lib", __FILE__)
|
|
3
2
|
require "sphonglepress/version"
|
|
4
3
|
|
|
@@ -27,14 +26,14 @@ Gem::Specification.new do |s|
|
|
|
27
26
|
s.add_dependency('activerecord')
|
|
28
27
|
s.add_dependency('tilt')
|
|
29
28
|
s.add_dependency('haml')
|
|
30
|
-
s.add_dependency('mysql')
|
|
31
29
|
s.add_dependency('fssm')
|
|
32
30
|
#FIXME: move html-cleaner into gem & remove this
|
|
33
31
|
s.add_dependency('hpricot')
|
|
34
32
|
s.add_dependency('mime-types')
|
|
35
33
|
s.add_dependency('nokogiri')
|
|
36
34
|
s.add_dependency('therubyracer')
|
|
37
|
-
s.add_dependency('mysql2'
|
|
35
|
+
s.add_dependency('mysql2')
|
|
38
36
|
s.add_dependency('rb-inotify')
|
|
37
|
+
s.add_dependency('json')
|
|
39
38
|
|
|
40
39
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sphonglepress
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.12
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2012-01-10 00:00:00.000000000Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: thor
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &11113220 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *11113220
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: middleman
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &11112540 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *11112540
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: activerecord
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &11106440 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '0'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *11106440
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: tilt
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &11106000 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '0'
|
|
55
55
|
type: :runtime
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *11106000
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: haml
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &11105340 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :runtime
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *11105340
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
71
|
-
requirement: &
|
|
70
|
+
name: fssm
|
|
71
|
+
requirement: &11104700 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :runtime
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *11104700
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
|
-
name:
|
|
82
|
-
requirement: &
|
|
81
|
+
name: hpricot
|
|
82
|
+
requirement: &11104080 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ! '>='
|
|
@@ -87,10 +87,10 @@ dependencies:
|
|
|
87
87
|
version: '0'
|
|
88
88
|
type: :runtime
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *11104080
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
|
-
name:
|
|
93
|
-
requirement: &
|
|
92
|
+
name: mime-types
|
|
93
|
+
requirement: &11103400 !ruby/object:Gem::Requirement
|
|
94
94
|
none: false
|
|
95
95
|
requirements:
|
|
96
96
|
- - ! '>='
|
|
@@ -98,10 +98,10 @@ dependencies:
|
|
|
98
98
|
version: '0'
|
|
99
99
|
type: :runtime
|
|
100
100
|
prerelease: false
|
|
101
|
-
version_requirements: *
|
|
101
|
+
version_requirements: *11103400
|
|
102
102
|
- !ruby/object:Gem::Dependency
|
|
103
|
-
name:
|
|
104
|
-
requirement: &
|
|
103
|
+
name: nokogiri
|
|
104
|
+
requirement: &11102720 !ruby/object:Gem::Requirement
|
|
105
105
|
none: false
|
|
106
106
|
requirements:
|
|
107
107
|
- - ! '>='
|
|
@@ -109,10 +109,10 @@ dependencies:
|
|
|
109
109
|
version: '0'
|
|
110
110
|
type: :runtime
|
|
111
111
|
prerelease: false
|
|
112
|
-
version_requirements: *
|
|
112
|
+
version_requirements: *11102720
|
|
113
113
|
- !ruby/object:Gem::Dependency
|
|
114
|
-
name:
|
|
115
|
-
requirement: &
|
|
114
|
+
name: therubyracer
|
|
115
|
+
requirement: &11102140 !ruby/object:Gem::Requirement
|
|
116
116
|
none: false
|
|
117
117
|
requirements:
|
|
118
118
|
- - ! '>='
|
|
@@ -120,10 +120,10 @@ dependencies:
|
|
|
120
120
|
version: '0'
|
|
121
121
|
type: :runtime
|
|
122
122
|
prerelease: false
|
|
123
|
-
version_requirements: *
|
|
123
|
+
version_requirements: *11102140
|
|
124
124
|
- !ruby/object:Gem::Dependency
|
|
125
|
-
name:
|
|
126
|
-
requirement: &
|
|
125
|
+
name: mysql2
|
|
126
|
+
requirement: &11101500 !ruby/object:Gem::Requirement
|
|
127
127
|
none: false
|
|
128
128
|
requirements:
|
|
129
129
|
- - ! '>='
|
|
@@ -131,21 +131,21 @@ dependencies:
|
|
|
131
131
|
version: '0'
|
|
132
132
|
type: :runtime
|
|
133
133
|
prerelease: false
|
|
134
|
-
version_requirements: *
|
|
134
|
+
version_requirements: *11101500
|
|
135
135
|
- !ruby/object:Gem::Dependency
|
|
136
|
-
name:
|
|
137
|
-
requirement: &
|
|
136
|
+
name: rb-inotify
|
|
137
|
+
requirement: &11100800 !ruby/object:Gem::Requirement
|
|
138
138
|
none: false
|
|
139
139
|
requirements:
|
|
140
|
-
- -
|
|
140
|
+
- - ! '>='
|
|
141
141
|
- !ruby/object:Gem::Version
|
|
142
|
-
version: '0
|
|
142
|
+
version: '0'
|
|
143
143
|
type: :runtime
|
|
144
144
|
prerelease: false
|
|
145
|
-
version_requirements: *
|
|
145
|
+
version_requirements: *11100800
|
|
146
146
|
- !ruby/object:Gem::Dependency
|
|
147
|
-
name:
|
|
148
|
-
requirement: &
|
|
147
|
+
name: json
|
|
148
|
+
requirement: &11100140 !ruby/object:Gem::Requirement
|
|
149
149
|
none: false
|
|
150
150
|
requirements:
|
|
151
151
|
- - ! '>='
|
|
@@ -153,7 +153,7 @@ dependencies:
|
|
|
153
153
|
version: '0'
|
|
154
154
|
type: :runtime
|
|
155
155
|
prerelease: false
|
|
156
|
-
version_requirements: *
|
|
156
|
+
version_requirements: *11100140
|
|
157
157
|
description: Sphonglepress is a command line utility for interacting with & making
|
|
158
158
|
the task of importing content into a wordpress site
|
|
159
159
|
email:
|
|
@@ -225,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
225
225
|
version: '0'
|
|
226
226
|
requirements: []
|
|
227
227
|
rubyforge_project: sphonglepress
|
|
228
|
-
rubygems_version: 1.8.
|
|
228
|
+
rubygems_version: 1.8.10
|
|
229
229
|
signing_key:
|
|
230
230
|
specification_version: 3
|
|
231
231
|
summary: Gem for populating wordpress
|