midwife 0.0.2 → 0.0.3
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 +1 -1
- data/README.md +6 -1
- data/lib/midwife/tasks.rb +47 -31
- data/lib/midwife/templates/Gemfile +3 -0
- data/lib/midwife/templates/config.ru +8 -0
- data/lib/midwife/version.rb +1 -1
- metadata +19 -17
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -13,13 +13,18 @@ In Rakefile:
|
|
13
13
|
require 'midwife'
|
14
14
|
```
|
15
15
|
|
16
|
+
The rest:
|
17
|
+
|
18
|
+
$ rake setup
|
19
|
+
|
16
20
|
## Usage
|
17
21
|
|
18
22
|
rake care # Care for your haml/scss
|
19
23
|
rake clean # Remove any temporary products.
|
20
24
|
rake clobber # Remove any generated file.
|
21
25
|
rake listen # Listen to your haml/scss
|
26
|
+
rake setup # Setup your environment
|
22
27
|
|
23
28
|
---
|
24
29
|
|
25
|
-
Make an `assets` folder, and drop your haml and scss files in there. Running `rake care` will compile haml and scss files once and drop the artifacts into the `public` fodler. Run `rake listen` will compile each time you touch the files.
|
30
|
+
Make an `assets` folder, and drop your haml and scss files in there. Running `rake care` will compile haml and scss files once and drop the artifacts into the `public` fodler. Run `rake listen` will compile each time you touch the files. Run `rackup` to start a web server running on [localhost:9292](http://localhost:9292).
|
data/lib/midwife/tasks.rb
CHANGED
@@ -9,38 +9,61 @@ module Midwife
|
|
9
9
|
|
10
10
|
ASSETS = 'assets'
|
11
11
|
PUBLIC = 'public'
|
12
|
+
CONFIG = "config.ru"
|
13
|
+
GEMFILE = "Gemfile"
|
12
14
|
|
13
15
|
CLEAN.include HTML + CSS
|
14
16
|
|
15
|
-
|
16
|
-
|
17
|
-
|
17
|
+
class << self
|
18
|
+
def build
|
19
|
+
desc 'Setup your environment'
|
20
|
+
task :setup do
|
21
|
+
setup
|
22
|
+
end
|
18
23
|
|
19
|
-
|
20
|
-
|
21
|
-
:try => ['.html', 'index.html', '/index.html']
|
24
|
+
desc 'Care for your haml/scss'
|
25
|
+
task :care => HTML + CSS
|
22
26
|
|
23
|
-
|
24
|
-
|
27
|
+
desc 'Listen to your haml/scss'
|
28
|
+
task :listen do
|
29
|
+
listen
|
30
|
+
end
|
25
31
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
32
|
+
desc 'Serve your haml/scss'
|
33
|
+
task :serve do
|
34
|
+
serve
|
35
|
+
end
|
36
|
+
|
37
|
+
rule '.html' => '.haml' do |t|
|
38
|
+
compile("haml", t.source, t.name)
|
39
|
+
end
|
40
|
+
|
41
|
+
rule '.css' => '.scss' do |t|
|
42
|
+
compile("sass", t.source, t.name)
|
33
43
|
end
|
34
44
|
end
|
35
45
|
|
36
|
-
|
37
|
-
|
46
|
+
def compile(command, source, target)
|
47
|
+
destination = target.gsub(ASSETS, PUBLIC)
|
48
|
+
FileUtils.mkdir_p(File.dirname(destination))
|
49
|
+
sh "#{command} #{source} #{destination}"
|
50
|
+
end
|
38
51
|
|
39
|
-
|
40
|
-
|
52
|
+
def setup
|
53
|
+
FileUtils.mkdir_p(ASSETS) unless File.exists?(ASSETS)
|
54
|
+
FileUtils.mkdir_p(PUBLIC) unless File.exists?(PUBLIC)
|
55
|
+
|
56
|
+
current_dir = File.expand_path(File.dirname(__FILE__))
|
57
|
+
|
58
|
+
FileUtils.cp("#{current_dir}/templates/#{CONFIG}", CONFIG) unless File.exists?(CONFIG)
|
59
|
+
FileUtils.cp("#{current_dir}/templates/#{GEMFILE}", GEMFILE) unless File.exists?(GEMFILE)
|
60
|
+
end
|
61
|
+
|
62
|
+
def listen
|
41
63
|
Listen.to(ASSETS) do |modified, added, removed|
|
42
64
|
(modified + added).each do |source|
|
43
65
|
extension = File.extname(source)
|
66
|
+
|
44
67
|
if extension == '.haml'
|
45
68
|
target = source.ext('html')
|
46
69
|
compile('haml', source, target)
|
@@ -49,6 +72,7 @@ FILE
|
|
49
72
|
compile('sass', source, target)
|
50
73
|
end
|
51
74
|
end
|
75
|
+
|
52
76
|
removed.each do |source|
|
53
77
|
destination = source.gsub(ASSETS, PUBLIC).ext('html')
|
54
78
|
File.delete(destination)
|
@@ -56,19 +80,11 @@ FILE
|
|
56
80
|
end
|
57
81
|
end
|
58
82
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
rule '.css' => '.scss' do |t|
|
64
|
-
compile("sass", t.source, t.name)
|
83
|
+
def serve
|
84
|
+
trap('SIGINT') {}
|
85
|
+
fork { listen }
|
86
|
+
`rackup`
|
65
87
|
end
|
66
88
|
end
|
67
|
-
|
68
|
-
def self.compile(command, source, target)
|
69
|
-
destination = target.gsub(ASSETS, PUBLIC)
|
70
|
-
FileUtils.mkdir_p(File.dirname(destination))
|
71
|
-
sh "#{command} #{source} #{destination}"
|
72
|
-
end
|
73
89
|
end
|
74
90
|
end
|
data/lib/midwife/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: midwife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-10-13 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &2161262500 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - =
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.9.2.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2161262500
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: listen
|
27
|
-
requirement: &
|
27
|
+
requirement: &2161261960 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.5.3
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2161261960
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rb-fsevent
|
38
|
-
requirement: &
|
38
|
+
requirement: &2161261480 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.9.1
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2161261480
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: haml
|
49
|
-
requirement: &
|
49
|
+
requirement: &2161260920 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - =
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 3.1.7
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2161260920
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: sass
|
60
|
-
requirement: &
|
60
|
+
requirement: &2161260460 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - =
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 3.2.1
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2161260460
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rack
|
71
|
-
requirement: &
|
71
|
+
requirement: &2161260000 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - =
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.4.1
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2161260000
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rack-contrib
|
82
|
-
requirement: &
|
82
|
+
requirement: &2161259460 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - =
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: 1.1.0
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *2161259460
|
91
91
|
description: ''
|
92
92
|
email:
|
93
93
|
- lihsuan@8thlight.com
|
@@ -102,6 +102,8 @@ files:
|
|
102
102
|
- Rakefile
|
103
103
|
- lib/midwife.rb
|
104
104
|
- lib/midwife/tasks.rb
|
105
|
+
- lib/midwife/templates/Gemfile
|
106
|
+
- lib/midwife/templates/config.ru
|
105
107
|
- lib/midwife/version.rb
|
106
108
|
- midwife.gemspec
|
107
109
|
homepage: http://github.com/naush/midwife
|
@@ -118,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
118
120
|
version: '0'
|
119
121
|
segments:
|
120
122
|
- 0
|
121
|
-
hash:
|
123
|
+
hash: 3932922018314278016
|
122
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
125
|
none: false
|
124
126
|
requirements:
|
@@ -127,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
129
|
version: '0'
|
128
130
|
segments:
|
129
131
|
- 0
|
130
|
-
hash:
|
132
|
+
hash: 3932922018314278016
|
131
133
|
requirements: []
|
132
134
|
rubyforge_project:
|
133
135
|
rubygems_version: 1.8.4
|