stasis 0.1.13 → 0.1.14
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/README.md +6 -0
- data/bin/stasis +1 -1
- data/lib/stasis/dev_mode.rb +23 -1
- data/lib/stasis/plugins/layout.rb +1 -0
- data/lib/stasis/plugins/priority.rb +1 -1
- data/stasis.gemspec +4 -1
- metadata +116 -129
data/README.md
CHANGED
@@ -195,6 +195,12 @@ Development mode (auto-regenerate on save):
|
|
195
195
|
|
196
196
|
$ stasis -d
|
197
197
|
|
198
|
+
Specify a port to start an HTTP server:
|
199
|
+
|
200
|
+
<!-- highlight:-d language:console -->
|
201
|
+
|
202
|
+
$ stasis -d 3000
|
203
|
+
|
198
204
|
Only render specific files or directories:
|
199
205
|
|
200
206
|
<!-- highlight:-o language:console -->
|
data/bin/stasis
CHANGED
@@ -6,7 +6,7 @@ gem "slop", "~> 2.1.0"
|
|
6
6
|
require 'slop'
|
7
7
|
|
8
8
|
slop = Slop.parse :help => true do
|
9
|
-
on :d, :development, "Development mode\t\t(auto-regenerate)"
|
9
|
+
on :d, :development, "Development mode\t\t(auto-regenerate)", :optional => true, :as => Integer
|
10
10
|
on :o, :only, "Only generate specific files\t(comma-separated)", :optional => true, :as => Array
|
11
11
|
on :p, :public, "Public directory path", :optional => true
|
12
12
|
on :s, :server, "Server mode\t\t\t(default redis host: localhost:6379/0)", :optional => true, :default => "localhost:6379/0"
|
data/lib/stasis/dev_mode.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
gem "directory_watcher", "~> 1.4.1"
|
2
2
|
require 'directory_watcher'
|
3
3
|
|
4
|
+
require 'logger'
|
5
|
+
require 'webrick'
|
6
|
+
|
4
7
|
class Stasis
|
5
8
|
class DevMode
|
6
9
|
|
@@ -31,7 +34,26 @@ class Stasis
|
|
31
34
|
dw.add_observer { render }
|
32
35
|
dw.start
|
33
36
|
|
34
|
-
|
37
|
+
if options[:development]
|
38
|
+
mime_types = WEBrick::HTTPUtils::DefaultMimeTypes
|
39
|
+
mime_types.store 'js', 'application/javascript'
|
40
|
+
|
41
|
+
server = WEBrick::HTTPServer.new(
|
42
|
+
:AccessLog => [ nil, nil ],
|
43
|
+
:DocumentRoot => @stasis.destination,
|
44
|
+
:Logger => WEBrick::Log.new("/dev/null"),
|
45
|
+
:MimeTypes => mime_types,
|
46
|
+
:Port => options[:development] || 3000
|
47
|
+
)
|
48
|
+
|
49
|
+
['INT', 'TERM'].each do |signal|
|
50
|
+
trap(signal) { server.shutdown }
|
51
|
+
end
|
52
|
+
|
53
|
+
server.start
|
54
|
+
else
|
55
|
+
loop { sleep 1000 }
|
56
|
+
end
|
35
57
|
end
|
36
58
|
|
37
59
|
private
|
@@ -13,6 +13,7 @@ class Stasis
|
|
13
13
|
# This event triggers before each file renders through Stasis. It sets the `action`
|
14
14
|
# layout from the matching layout for `path`.
|
15
15
|
def before_render
|
16
|
+
return unless @stasis.path
|
16
17
|
@stasis.action._layout = nil
|
17
18
|
matches = _match_key?(@layouts, @stasis.path)
|
18
19
|
# Find matching layout with same extension.
|
@@ -30,7 +30,7 @@ class Stasis
|
|
30
30
|
# `@@priorities` `Hash`, where the key is a path and the value is the priority.
|
31
31
|
def priority(hash)
|
32
32
|
hash = hash.inject({}) do |hash, (key, value)|
|
33
|
-
force = key[0..0] == '/'
|
33
|
+
force = key[0..0] == '/' if key.is_a?(::String)
|
34
34
|
key = @stasis.controller._resolve(key)
|
35
35
|
hash[key] = [ @stasis.path, value, force ] if key
|
36
36
|
hash
|
data/stasis.gemspec
CHANGED
@@ -6,7 +6,7 @@ $:.unshift lib unless $:.include?(lib)
|
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "stasis"
|
9
|
-
s.version = '0.1.
|
9
|
+
s.version = '0.1.14'
|
10
10
|
s.platform = Gem::Platform::RUBY
|
11
11
|
s.authors = [ 'Winton Welsh' ]
|
12
12
|
s.email = [ 'mail@wintoni.us' ]
|
@@ -19,7 +19,10 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.require_paths = %w(lib)
|
20
20
|
s.test_files = `cd #{root} && git ls-files -- {features,test,spec}/*`.split("\n")
|
21
21
|
|
22
|
+
s.add_development_dependency "albino"
|
23
|
+
s.add_development_dependency "coffee-script"
|
22
24
|
s.add_development_dependency "haml"
|
25
|
+
s.add_development_dependency "nokogiri"
|
23
26
|
s.add_development_dependency "rocco"
|
24
27
|
s.add_development_dependency "rspec", "~> 1.0"
|
25
28
|
|
metadata
CHANGED
@@ -1,155 +1,145 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: stasis
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.14
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 13
|
10
|
-
version: 0.1.13
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Winton Welsh
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
date: 2011-11-07 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: albino
|
16
|
+
requirement: &70292072374900 !ruby/object:Gem::Requirement
|
22
17
|
none: false
|
23
|
-
requirements:
|
24
|
-
- -
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
|
27
|
-
|
28
|
-
- 0
|
29
|
-
version: "0"
|
30
|
-
requirement: *id001
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
31
23
|
prerelease: false
|
24
|
+
version_requirements: *70292072374900
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: coffee-script
|
27
|
+
requirement: &70292072374300 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70292072374300
|
36
|
+
- !ruby/object:Gem::Dependency
|
32
37
|
name: haml
|
38
|
+
requirement: &70292072373600 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
33
44
|
type: :development
|
34
|
-
|
35
|
-
version_requirements:
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70292072373600
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: nokogiri
|
49
|
+
requirement: &70292072372980 !ruby/object:Gem::Requirement
|
36
50
|
none: false
|
37
|
-
requirements:
|
38
|
-
- -
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
|
41
|
-
|
42
|
-
- 0
|
43
|
-
version: "0"
|
44
|
-
requirement: *id002
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
45
56
|
prerelease: false
|
57
|
+
version_requirements: *70292072372980
|
58
|
+
- !ruby/object:Gem::Dependency
|
46
59
|
name: rocco
|
47
|
-
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
60
|
+
requirement: &70292072372100 !ruby/object:Gem::Requirement
|
50
61
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
55
|
-
|
56
|
-
- 1
|
57
|
-
- 0
|
58
|
-
version: "1.0"
|
59
|
-
requirement: *id003
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
60
67
|
prerelease: false
|
68
|
+
version_requirements: *70292072372100
|
69
|
+
- !ruby/object:Gem::Dependency
|
61
70
|
name: rspec
|
62
|
-
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
71
|
+
requirement: &70292072370660 !ruby/object:Gem::Requirement
|
65
72
|
none: false
|
66
|
-
requirements:
|
73
|
+
requirements:
|
67
74
|
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
|
70
|
-
|
71
|
-
- 1
|
72
|
-
- 4
|
73
|
-
- 1
|
74
|
-
version: 1.4.1
|
75
|
-
requirement: *id004
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '1.0'
|
77
|
+
type: :development
|
76
78
|
prerelease: false
|
79
|
+
version_requirements: *70292072370660
|
80
|
+
- !ruby/object:Gem::Dependency
|
77
81
|
name: directory_watcher
|
78
|
-
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
82
|
+
requirement: &70292072369860 !ruby/object:Gem::Requirement
|
81
83
|
none: false
|
82
|
-
requirements:
|
84
|
+
requirements:
|
83
85
|
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
|
86
|
-
|
87
|
-
- 2
|
88
|
-
- 2
|
89
|
-
- 2
|
90
|
-
version: 2.2.2
|
91
|
-
requirement: *id005
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.4.1
|
88
|
+
type: :runtime
|
92
89
|
prerelease: false
|
90
|
+
version_requirements: *70292072369860
|
91
|
+
- !ruby/object:Gem::Dependency
|
93
92
|
name: redis
|
94
|
-
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
version_requirements: &id006 !ruby/object:Gem::Requirement
|
93
|
+
requirement: &70292072369060 !ruby/object:Gem::Requirement
|
97
94
|
none: false
|
98
|
-
requirements:
|
95
|
+
requirements:
|
99
96
|
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
|
102
|
-
|
103
|
-
- 2
|
104
|
-
- 1
|
105
|
-
- 0
|
106
|
-
version: 2.1.0
|
107
|
-
requirement: *id006
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.2.2
|
99
|
+
type: :runtime
|
108
100
|
prerelease: false
|
101
|
+
version_requirements: *70292072369060
|
102
|
+
- !ruby/object:Gem::Dependency
|
109
103
|
name: slop
|
110
|
-
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
version_requirements: &id007 !ruby/object:Gem::Requirement
|
104
|
+
requirement: &70292072368120 !ruby/object:Gem::Requirement
|
113
105
|
none: false
|
114
|
-
requirements:
|
106
|
+
requirements:
|
115
107
|
- - ~>
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
118
|
-
|
119
|
-
- 1
|
120
|
-
- 3
|
121
|
-
- 3
|
122
|
-
version: 1.3.3
|
123
|
-
requirement: *id007
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 2.1.0
|
110
|
+
type: :runtime
|
124
111
|
prerelease: false
|
112
|
+
version_requirements: *70292072368120
|
113
|
+
- !ruby/object:Gem::Dependency
|
125
114
|
name: tilt
|
126
|
-
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
version_requirements: &id008 !ruby/object:Gem::Requirement
|
115
|
+
requirement: &70292072367200 !ruby/object:Gem::Requirement
|
129
116
|
none: false
|
130
|
-
requirements:
|
117
|
+
requirements:
|
131
118
|
- - ~>
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
|
134
|
-
|
135
|
-
- 1
|
136
|
-
- 0
|
137
|
-
- 0
|
138
|
-
version: 1.0.0
|
139
|
-
requirement: *id008
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 1.3.3
|
121
|
+
type: :runtime
|
140
122
|
prerelease: false
|
123
|
+
version_requirements: *70292072367200
|
124
|
+
- !ruby/object:Gem::Dependency
|
141
125
|
name: yajl-ruby
|
126
|
+
requirement: &70292072365880 !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ~>
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.0.0
|
142
132
|
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: *70292072365880
|
143
135
|
description: Stasis is a dynamic framework for static sites.
|
144
|
-
email:
|
136
|
+
email:
|
145
137
|
- mail@wintoni.us
|
146
|
-
executables:
|
138
|
+
executables:
|
147
139
|
- stasis
|
148
140
|
extensions: []
|
149
|
-
|
150
141
|
extra_rdoc_files: []
|
151
|
-
|
152
|
-
files:
|
142
|
+
files:
|
153
143
|
- .gitignore
|
154
144
|
- Gemfile
|
155
145
|
- LICENSE
|
@@ -220,38 +210,35 @@ files:
|
|
220
210
|
- stasis.gemspec
|
221
211
|
homepage: http://stasis.me
|
222
212
|
licenses: []
|
223
|
-
|
224
213
|
post_install_message:
|
225
214
|
rdoc_options: []
|
226
|
-
|
227
|
-
require_paths:
|
215
|
+
require_paths:
|
228
216
|
- lib
|
229
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
217
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
230
218
|
none: false
|
231
|
-
requirements:
|
232
|
-
- -
|
233
|
-
- !ruby/object:Gem::Version
|
234
|
-
|
235
|
-
segments:
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
segments:
|
236
224
|
- 0
|
237
|
-
|
238
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
225
|
+
hash: 356971476928678245
|
226
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
239
227
|
none: false
|
240
|
-
requirements:
|
241
|
-
- -
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
|
244
|
-
segments:
|
228
|
+
requirements:
|
229
|
+
- - ! '>='
|
230
|
+
- !ruby/object:Gem::Version
|
231
|
+
version: '0'
|
232
|
+
segments:
|
245
233
|
- 0
|
246
|
-
|
234
|
+
hash: 356971476928678245
|
247
235
|
requirements: []
|
248
|
-
|
249
236
|
rubyforge_project:
|
250
|
-
rubygems_version: 1.8.
|
237
|
+
rubygems_version: 1.8.6
|
251
238
|
signing_key:
|
252
239
|
specification_version: 3
|
253
240
|
summary: Static sites made powerful
|
254
|
-
test_files:
|
241
|
+
test_files:
|
255
242
|
- spec/fixtures/project/_partial.html.haml
|
256
243
|
- spec/fixtures/project/before_render_partial.html.haml
|
257
244
|
- spec/fixtures/project/before_render_text.html.haml
|