midwife 0.0.5 → 0.0.6
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/lib/midwife/helpers.rb +19 -0
- data/lib/midwife/tasks.rb +17 -13
- data/lib/midwife/version.rb +1 -1
- data/lib/midwife.rb +1 -0
- metadata +60 -24
data/Gemfile.lock
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Midwife
|
2
|
+
class Helpers
|
3
|
+
def initialize(current)
|
4
|
+
@current = current
|
5
|
+
end
|
6
|
+
|
7
|
+
def render(partial)
|
8
|
+
partial_file = "#{@current}/_#{partial}.haml"
|
9
|
+
template = File.read(partial_file)
|
10
|
+
output = Haml::Engine.new(template).render(Helpers.new(@current))
|
11
|
+
puts "haml: convert #{partial_file}."
|
12
|
+
return output
|
13
|
+
rescue Exception => e
|
14
|
+
puts "haml: failed to convert #{partial_file}."
|
15
|
+
puts e.message
|
16
|
+
puts e.backtrace.first
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/midwife/tasks.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
require 'listen'
|
2
1
|
require 'haml'
|
2
|
+
require 'listen'
|
3
3
|
require 'sass'
|
4
4
|
|
5
5
|
module Midwife
|
@@ -14,11 +14,6 @@ module Midwife
|
|
14
14
|
CONFIG = "config.ru"
|
15
15
|
GEMFILE = "Gemfile"
|
16
16
|
|
17
|
-
TEMPLATE_ENGINES = {
|
18
|
-
:haml => Haml::Engine,
|
19
|
-
:scss => Sass::Engine
|
20
|
-
}
|
21
|
-
|
22
17
|
class << self
|
23
18
|
def build
|
24
19
|
desc 'Setup your environment'
|
@@ -40,19 +35,27 @@ module Midwife
|
|
40
35
|
end
|
41
36
|
|
42
37
|
rule '.html' => '.haml' do |t|
|
43
|
-
|
38
|
+
render(:haml, t.source, t.name)
|
44
39
|
end
|
45
40
|
|
46
41
|
rule '.css' => '.scss' do |t|
|
47
|
-
|
42
|
+
render(:scss, t.source, t.name)
|
48
43
|
end
|
49
44
|
end
|
50
45
|
|
51
|
-
def
|
46
|
+
def render(syntax, source, target)
|
47
|
+
return if source.split("/").last.match(/^\_/)
|
48
|
+
|
49
|
+
source_dir = File.dirname(source)
|
52
50
|
destination = target.gsub(ASSETS, PUBLIC)
|
53
51
|
FileUtils.mkdir_p(File.dirname(destination))
|
54
52
|
template = File.read(source)
|
55
|
-
|
53
|
+
|
54
|
+
if syntax == :haml
|
55
|
+
output = Haml::Engine.new(template).render(Helpers.new(source_dir))
|
56
|
+
elsif syntax == :scss
|
57
|
+
output = Sass::Engine.new(template, :syntax => syntax).render
|
58
|
+
end
|
56
59
|
|
57
60
|
File.open(destination, 'w') do |file|
|
58
61
|
file.write(output)
|
@@ -76,16 +79,18 @@ module Midwife
|
|
76
79
|
end
|
77
80
|
|
78
81
|
def listen
|
82
|
+
trap (:SIGINT) { exit }
|
83
|
+
|
79
84
|
Listen.to(ASSETS) do |modified, added, removed|
|
80
85
|
(modified + added).each do |source|
|
81
86
|
extension = File.extname(source)
|
82
87
|
|
83
88
|
if extension == '.haml'
|
84
89
|
target = source.ext('html')
|
85
|
-
|
90
|
+
render(:haml, source, target)
|
86
91
|
elsif extension == '.scss'
|
87
92
|
target = source.ext('css')
|
88
|
-
|
93
|
+
render(:scss, source, target)
|
89
94
|
end
|
90
95
|
end
|
91
96
|
|
@@ -102,7 +107,6 @@ module Midwife
|
|
102
107
|
end
|
103
108
|
|
104
109
|
def serve
|
105
|
-
trap('SIGINT') {}
|
106
110
|
fork { listen }
|
107
111
|
`rackup`
|
108
112
|
end
|
data/lib/midwife/version.rb
CHANGED
data/lib/midwife.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.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,29 +13,39 @@ date: 2012-10-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- - =
|
19
|
+
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 0.9.2.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - '='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.9.2.2
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: listen
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
|
-
- - =
|
35
|
+
- - '='
|
31
36
|
- !ruby/object:Gem::Version
|
32
37
|
version: 0.5.3
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - '='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.5.3
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rb-fsevent
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,51 +53,76 @@ dependencies:
|
|
43
53
|
version: 0.9.1
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.9.1
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: haml
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
|
-
- - =
|
67
|
+
- - '='
|
53
68
|
- !ruby/object:Gem::Version
|
54
69
|
version: 3.1.7
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - '='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.1.7
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: sass
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
|
-
- - =
|
83
|
+
- - '='
|
64
84
|
- !ruby/object:Gem::Version
|
65
85
|
version: 3.2.1
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - '='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 3.2.1
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rack
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
|
-
- - =
|
99
|
+
- - '='
|
75
100
|
- !ruby/object:Gem::Version
|
76
101
|
version: 1.4.1
|
77
102
|
type: :runtime
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - '='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.4.1
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: rack-contrib
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
|
-
- - =
|
115
|
+
- - '='
|
86
116
|
- !ruby/object:Gem::Version
|
87
117
|
version: 1.1.0
|
88
118
|
type: :runtime
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - '='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.1.0
|
91
126
|
description: ''
|
92
127
|
email:
|
93
128
|
- lihsuan@8thlight.com
|
@@ -101,6 +136,7 @@ files:
|
|
101
136
|
- README.md
|
102
137
|
- Rakefile
|
103
138
|
- lib/midwife.rb
|
139
|
+
- lib/midwife/helpers.rb
|
104
140
|
- lib/midwife/tasks.rb
|
105
141
|
- lib/midwife/templates/Gemfile
|
106
142
|
- lib/midwife/templates/config.ru
|
@@ -120,7 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
156
|
version: '0'
|
121
157
|
segments:
|
122
158
|
- 0
|
123
|
-
hash:
|
159
|
+
hash: 2678605950367014029
|
124
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
161
|
none: false
|
126
162
|
requirements:
|
@@ -129,10 +165,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
165
|
version: '0'
|
130
166
|
segments:
|
131
167
|
- 0
|
132
|
-
hash:
|
168
|
+
hash: 2678605950367014029
|
133
169
|
requirements: []
|
134
170
|
rubyforge_project:
|
135
|
-
rubygems_version: 1.8.
|
171
|
+
rubygems_version: 1.8.24
|
136
172
|
signing_key:
|
137
173
|
specification_version: 3
|
138
174
|
summary: A collection of preprocessors for frontend development
|