staticme 0.3.0 → 0.4.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/README.md +23 -4
- data/lib/rack/index_file.rb +31 -0
- data/lib/rack/staticme_urlmap.rb +1 -1
- data/lib/staticme/app.rb +2 -1
- metadata +24 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad4451d44b452cfcc8e068963f3bd83ac6337233
|
4
|
+
data.tar.gz: 91dbeca335d139d2494f57094350ac2c3f501979
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 376b9449dd0932be4d496e9a590c8c9a105c15745375ae4290f583a11076ebfe90fa9b62961ef34f07b8b4d15b8f78a2139c7278c7716547f4c1481f0a0999cc
|
7
|
+
data.tar.gz: 11a6609391707c6094c0069374f26dc2ed8260dd389fb6c7e2f6bd561440dea90b1442eca30d836f9feda730922e2ec37a70d71440c0a22ff3c9b12c38b8eeb6
|
data/README.md
CHANGED
@@ -4,6 +4,24 @@
|
|
4
4
|
|
5
5
|
StaticMe is simple server for serving static content built on top of [thin](http://code.macournoyer.com/thin/).
|
6
6
|
|
7
|
+
## News
|
8
|
+
|
9
|
+
#### Version 0.4.0 has been released
|
10
|
+
|
11
|
+
The new version fixes the incompatibilities with ::Rack::File in new rack 1.6.4.
|
12
|
+
|
13
|
+
#### Version 0.3.0 has been released
|
14
|
+
|
15
|
+
This version introduces an automatic webpage reload functionality.
|
16
|
+
|
17
|
+
Staticme serves path `/staticme/autoreload.js` as a script src to provide the autoreload functionality.
|
18
|
+
|
19
|
+
Simply add a script tag to the bottom of any webpage:
|
20
|
+
|
21
|
+
<script type="text/javascript" src="/staticme/autoreload.js"></script>
|
22
|
+
|
23
|
+
Staticme will handle all fs evenes in the directory and broadcast 'em with "fs_event" through the websocket transport.
|
24
|
+
|
7
25
|
## Installation
|
8
26
|
|
9
27
|
```
|
@@ -14,10 +32,11 @@ gem install staticme
|
|
14
32
|
|
15
33
|
### Options:
|
16
34
|
|
17
|
-
* -f, --path:
|
18
|
-
* -p, --port:
|
19
|
-
* -h, --host:
|
20
|
-
* -i, --index:
|
35
|
+
* -f, --path: path to be served in, current if omitted
|
36
|
+
* -p, --port: port to bind, 8080 by default
|
37
|
+
* -h, --host: host to start up, 0.0.0.0 by default
|
38
|
+
* -i, --index: index file name, index.html by default
|
39
|
+
* -ws, --ws_port: websocket port, 8090 by default. Available since 0.3.0
|
21
40
|
|
22
41
|
### Starting up
|
23
42
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'rack/file'
|
2
|
+
|
3
|
+
module Rack
|
4
|
+
class IndexFile < File
|
5
|
+
|
6
|
+
F = ::File
|
7
|
+
|
8
|
+
def initialize(root, headers={}, default_mime = 'text/plain')
|
9
|
+
@path = root
|
10
|
+
end
|
11
|
+
|
12
|
+
def _call(env)
|
13
|
+
unless ALLOWED_VERBS.include? env[REQUEST_METHOD]
|
14
|
+
return fail(405, "Method Not Allowed", {'Allow' => ALLOW_HEADER})
|
15
|
+
end
|
16
|
+
|
17
|
+
available = begin
|
18
|
+
F.file?(@path) && F.readable?(@path)
|
19
|
+
rescue SystemCallError
|
20
|
+
false
|
21
|
+
end
|
22
|
+
|
23
|
+
if available
|
24
|
+
serving(env)
|
25
|
+
else
|
26
|
+
fail(404, "File not found: #{path_info}")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
data/lib/rack/staticme_urlmap.rb
CHANGED
data/lib/staticme/app.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'rack/staticme_builder'
|
2
|
+
require 'rack/index_file'
|
2
3
|
|
3
4
|
module Staticme
|
4
5
|
|
@@ -28,7 +29,7 @@ module Staticme
|
|
28
29
|
|
29
30
|
if !index.nil? && File.exists?( File.join( path, index ) )
|
30
31
|
map /^\/$/ do
|
31
|
-
run Rack::
|
32
|
+
run Rack::IndexFile.new( File.join( path, index ) )
|
32
33
|
end
|
33
34
|
end
|
34
35
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: staticme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 4pcbr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: thin
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.6.3
|
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
|
-
version:
|
40
|
+
version: 1.6.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: em-websocket
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.6.4
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.6.4
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: shoulda
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,8 +136,8 @@ dependencies:
|
|
122
136
|
- - ~>
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: 2.0.1
|
125
|
-
description: Staticme
|
126
|
-
to serve
|
139
|
+
description: Staticme is a very easy-to-use webserver built on top of Thin and Rack
|
140
|
+
to serve static files in a directory provided as the webroot
|
127
141
|
email: me@whitebox.io
|
128
142
|
executables:
|
129
143
|
- staticme
|
@@ -132,6 +146,7 @@ extra_rdoc_files:
|
|
132
146
|
- LICENSE.txt
|
133
147
|
- README.md
|
134
148
|
files:
|
149
|
+
- lib/rack/index_file.rb
|
135
150
|
- lib/rack/staticme_builder.rb
|
136
151
|
- lib/rack/staticme_urlmap.rb
|
137
152
|
- lib/staticme.rb
|
@@ -170,5 +185,5 @@ rubyforge_project:
|
|
170
185
|
rubygems_version: 2.0.6
|
171
186
|
signing_key:
|
172
187
|
specification_version: 4
|
173
|
-
summary:
|
188
|
+
summary: A dummy web server to serve static content
|
174
189
|
test_files: []
|