work-bench 1.0.4 → 1.0.5
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/.gitignore +2 -0
- data/README.md +9 -4
- data/Rakefile +1 -1
- data/lib/work_bench/cli.rb +28 -33
- data/lib/work_bench/version.rb +1 -1
- data/template/index.haml +9 -5
- data/template/scripts.js +0 -3
- data/template/style.sass +1 -1
- metadata +21 -22
- data/template/.rvmrc +0 -1
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Workbench
|
2
2
|
|
3
|
-
Workbench is a quick and simple local web server for prototyping web applications and sites.
|
3
|
+
Workbench is a quick and simple local web server for prototyping web applications and sites. It support HAML, SASS and Compass out the box.
|
4
4
|
|
5
5
|
## Install
|
6
6
|
|
@@ -24,6 +24,8 @@ Inside project directory run:
|
|
24
24
|
|
25
25
|
workbench start
|
26
26
|
|
27
|
+
Now type in the browser `http://localhost:4000`. And you will see the start page.
|
28
|
+
|
27
29
|
## Export prototype
|
28
30
|
|
29
31
|
You can export your work using:
|
@@ -44,8 +46,11 @@ You can specify the JS libraries to be used in your project.
|
|
44
46
|
|
45
47
|
The list of libraries available:
|
46
48
|
|
47
|
-
workbench js
|
49
|
+
workbench js
|
50
|
+
|
51
|
+
## normalize.css
|
52
|
+
|
53
|
+
You may add awesome [normalize.css](https://github.com/jonathantneal/normalize.css) to project. Just use `--normalize` or `--no-normalize` in options. This feature is **enable** by default.
|
48
54
|
|
49
|
-
|
55
|
+
workbench init --normalize
|
50
56
|
|
51
|
-
workbench js --js json
|
data/Rakefile
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require
|
1
|
+
require 'bundler/gem_tasks'
|
data/lib/work_bench/cli.rb
CHANGED
@@ -10,66 +10,61 @@ module Workbench
|
|
10
10
|
File.join(File.dirname(__FILE__), '..', '..', 'template')
|
11
11
|
end
|
12
12
|
|
13
|
-
|
14
|
-
$root
|
15
|
-
end
|
16
|
-
|
17
|
-
desc 'start [--port] [--workers]', 'Start server in current directory'
|
13
|
+
desc 'start [PATH] [--port] [--workers]', 'Start server in current directory'
|
18
14
|
long_desc 'Start server in current directory'
|
19
15
|
method_option :port, :aliases => '-p', :type => :numeric, :default => 4000, :desc => 'Port'
|
20
16
|
method_option :workers, :aliases => '-w', :type => :numeric, :default => 4, :desc => 'Workers'
|
21
|
-
def start
|
17
|
+
def start path = '.'
|
18
|
+
$root = File.expand_path path
|
22
19
|
puts 'Starting HTTP server...'
|
23
|
-
|
24
|
-
|
25
|
-
app.start options[:port], options[:workers]
|
26
|
-
|
20
|
+
app = Workbench::Application.new
|
21
|
+
app.start options[:port], options[:workers]
|
27
22
|
end
|
28
23
|
|
29
|
-
desc 'init [--js=frameworks]', 'Initialize empty project in current directory'
|
24
|
+
desc 'init [PATH] [--js=frameworks]', 'Initialize empty project in current directory'
|
30
25
|
long_desc 'Initialize empty project in current directory'
|
31
26
|
method_option :js, :type => :array, :default => ['jquery'], :desc => 'Install specific JS frameworks', :banner => 'jquery jquery-ui json'
|
32
|
-
|
27
|
+
method_option :normalize, :type => :boolean, :default => true, :desc => 'Add _normalize.css (https://github.com/jonathantneal/normalize.css)'
|
28
|
+
def init path = '.'
|
33
29
|
puts 'Create empty project'
|
30
|
+
|
31
|
+
self.destination_root = File.expand_path path
|
32
|
+
empty_directory path unless '.' == path
|
33
|
+
|
34
34
|
empty_directory 'haml'
|
35
35
|
empty_directory 'sass'
|
36
36
|
empty_directory 'public/css'
|
37
37
|
empty_directory 'public/js'
|
38
38
|
empty_directory 'public/img'
|
39
39
|
|
40
|
-
|
40
|
+
if options[:normalize]
|
41
|
+
copy_file '_normalize.scss', 'sass/_normalize.scss'
|
42
|
+
end
|
41
43
|
|
42
44
|
unless options[:js].include? 'jquery'
|
43
45
|
options[:js].push('jquery')
|
44
46
|
end
|
45
47
|
|
46
|
-
|
48
|
+
js_libs = Workbench::JSLibs.list
|
49
|
+
options[:js].each do |js|
|
50
|
+
if js_libs[js]
|
51
|
+
get js_libs[js], "public/js/#{File.basename(js_libs[js])}"
|
52
|
+
end
|
53
|
+
end unless options[:js].empty?
|
47
54
|
|
48
55
|
copy_file 'scripts.js', 'public/js/scripts.js'
|
49
|
-
|
50
|
-
|
56
|
+
template 'style.sass', 'sass/style.sass'
|
57
|
+
template 'index.haml', 'haml/index.haml'
|
51
58
|
copy_file 'Gemfile', 'Gemfile'
|
52
|
-
copy_file '.rvmrc', '.rvmrc'
|
53
59
|
end
|
54
60
|
|
55
|
-
desc 'js
|
56
|
-
method_option :js, :type => :array, :desc => 'Install specific JS frameworks', :banner => 'jquery jquery-ui json'
|
57
|
-
method_option :list, :default => false, :desc => 'Show available frameworks', :banner => ''
|
61
|
+
desc 'js', 'Show available frameworks'
|
58
62
|
def js
|
59
63
|
js_libs = Workbench::JSLibs.list
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
puts " * #{index} => #{item}"
|
65
|
-
end
|
66
|
-
else
|
67
|
-
options[:js].each do |js|
|
68
|
-
if js_libs[js]
|
69
|
-
get js_libs[js], "public/js/#{File.basename(js_libs[js])}"
|
70
|
-
end
|
71
|
-
end if options[:js]
|
72
|
-
end
|
64
|
+
puts 'Available JS library'
|
65
|
+
js_libs.each do |index, item|
|
66
|
+
puts " * #{index} => #{item}"
|
67
|
+
end
|
73
68
|
end
|
74
69
|
|
75
70
|
desc 'export [PATH]', 'Export project'
|
data/lib/work_bench/version.rb
CHANGED
data/template/index.haml
CHANGED
@@ -2,10 +2,14 @@
|
|
2
2
|
%html
|
3
3
|
%head
|
4
4
|
%meta{:content => "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
|
5
|
-
%title
|
6
|
-
|
7
|
-
|
5
|
+
%title Example project
|
6
|
+
<%- l = Workbench::JSLibs.list -%>
|
7
|
+
<%- unless options[:js].empty? then -%>
|
8
|
+
<%- options[:js].each do |lib| -%>
|
9
|
+
%script{:src => "/js/<%= File.basename(l[lib]) %>", :type => "text/javascript"}
|
10
|
+
<%- end -%>
|
11
|
+
<%- end -%>
|
8
12
|
%script{:src => "/js/scripts.js", :type => "text/javascript"}
|
13
|
+
%link{:href => "/css/style.css", :media => "all", :rel => "stylesheet", :type => "text/css"}
|
9
14
|
%body
|
10
|
-
|
11
|
-
%h1 Hi man!
|
15
|
+
%h1 Hi there!
|
data/template/scripts.js
CHANGED
data/template/style.sass
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
@import compass
|
2
|
-
|
2
|
+
<% if options[:normalize] then %>@import normalize<% end %>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: work-bench
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-11-10 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: yard
|
16
|
-
requirement: &
|
16
|
+
requirement: &70109725946080 !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: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70109725946080
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: maruku
|
27
|
-
requirement: &
|
27
|
+
requirement: &70109725945620 !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: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70109725945620
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rack
|
38
|
-
requirement: &
|
38
|
+
requirement: &70109725945120 !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: *70109725945120
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rack-test
|
49
|
-
requirement: &
|
49
|
+
requirement: &70109725944700 !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: *70109725944700
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: unicorn
|
60
|
-
requirement: &
|
60
|
+
requirement: &70109725944160 !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: *70109725944160
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: haml
|
71
|
-
requirement: &
|
71
|
+
requirement: &70109725943660 !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: *70109725943660
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: compass
|
82
|
-
requirement: &
|
82
|
+
requirement: &70109725943120 !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: *70109725943120
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rack-cache
|
93
|
-
requirement: &
|
93
|
+
requirement: &70109725942540 !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: *70109725942540
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rack-contrib
|
104
|
-
requirement: &
|
104
|
+
requirement: &70109725940600 !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: *70109725940600
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: thor
|
115
|
-
requirement: &
|
115
|
+
requirement: &70109725940140 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,7 +120,7 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70109725940140
|
124
124
|
description: A quick and simple local web server for prototyping web applications
|
125
125
|
with HAML, SASS and Compass support.
|
126
126
|
email: konstantin.savelyev@gmail.com
|
@@ -145,7 +145,6 @@ files:
|
|
145
145
|
- lib/work_bench/renderer.rb
|
146
146
|
- lib/work_bench/server.rb
|
147
147
|
- lib/work_bench/version.rb
|
148
|
-
- template/.rvmrc
|
149
148
|
- template/Gemfile
|
150
149
|
- template/_normalize.scss
|
151
150
|
- template/index.haml
|
data/template/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use 1.9.2
|