midwife 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  public/
2
2
  .sass-cache/
3
3
  pkg/
4
+ tmp/
data/Gemfile.lock CHANGED
@@ -1,9 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- midwife (0.0.1)
4
+ midwife (0.0.2)
5
5
  haml (= 3.1.7)
6
6
  listen (= 0.5.3)
7
+ rack (= 1.4.1)
8
+ rack-contrib (= 1.1.0)
7
9
  rake (= 0.9.2.2)
8
10
  rb-fsevent (~> 0.9.1)
9
11
  sass (= 3.2.1)
@@ -13,6 +15,9 @@ GEM
13
15
  specs:
14
16
  haml (3.1.7)
15
17
  listen (0.5.3)
18
+ rack (1.4.1)
19
+ rack-contrib (1.1.0)
20
+ rack (>= 0.9.1)
16
21
  rake (0.9.2.2)
17
22
  rb-fsevent (0.9.2)
18
23
  sass (3.2.1)
data/README.md CHANGED
@@ -0,0 +1,25 @@
1
+ ## Midwife
2
+ A collection of preprocessors for frontend development.
3
+
4
+ ## Install
5
+
6
+ $ gem install midwife
7
+
8
+ ## Setup
9
+
10
+ In Rakefile:
11
+
12
+ ```ruby
13
+ require 'midwife'
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ rake care # Care for your haml/scss
19
+ rake clean # Remove any temporary products.
20
+ rake clobber # Remove any generated file.
21
+ rake listen # Listen to your haml/scss
22
+
23
+ ---
24
+
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. I recommend `brew install mongoose` and run `mongoose` in the `public` folder to start a web server running on [localhost:8080](http://localhost:8080).
data/lib/midwife/tasks.rb CHANGED
@@ -12,7 +12,27 @@ module Midwife
12
12
 
13
13
  CLEAN.include HTML + CSS
14
14
 
15
+ CONFIG = <<FILE
16
+ require 'rack'
17
+ require 'rack/contrib/try_static'
18
+
19
+ use Rack::TryStatic, :root => "public",
20
+ :urls => %w[/],
21
+ :try => ['.html', 'index.html', '/index.html']
22
+
23
+ run lambda { |env| [404, {'Content-type' => 'text/plain'}, ['Not found']] }
24
+ FILE
25
+
15
26
  def self.build
27
+ desc 'Setup your environment'
28
+ task :setup do
29
+ FileUtils.mkdir_p(ASSETS) unless File.exists?(ASSETS)
30
+ FileUtils.mkdir_p(PUBLIC) unless File.exists?(PUBLIC)
31
+ File.open("config.ru", "w") do |file|
32
+ file.write(CONFIG)
33
+ end
34
+ end
35
+
16
36
  desc 'Care for your haml/scss'
17
37
  task :care => HTML + CSS
18
38
 
@@ -1,3 +1,3 @@
1
1
  module Midwife
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
data/midwife.gemspec CHANGED
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  $:.push File.expand_path("../lib", __FILE__)
3
2
  require "midwife/version"
4
3
 
@@ -17,6 +16,8 @@ Gem::Specification.new do |s|
17
16
  s.add_dependency "rb-fsevent", "~> 0.9.1"
18
17
  s.add_dependency "haml", "3.1.7"
19
18
  s.add_dependency "sass", "3.2.1"
19
+ s.add_dependency "rack", "1.4.1"
20
+ s.add_dependency "rack-contrib", "1.1.0"
20
21
 
21
22
  s.files = `git ls-files`.split("\n")
22
23
  s.require_paths = ["lib"]
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.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,39 +13,29 @@ date: 2012-10-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &2161190480 !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: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - '='
28
- - !ruby/object:Gem::Version
29
- version: 0.9.2.2
24
+ version_requirements: *2161190480
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: listen
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &2161189960 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
- - - '='
30
+ - - =
36
31
  - !ruby/object:Gem::Version
37
32
  version: 0.5.3
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - '='
44
- - !ruby/object:Gem::Version
45
- version: 0.5.3
35
+ version_requirements: *2161189960
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: rb-fsevent
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &2161189420 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ~>
@@ -53,44 +43,51 @@ dependencies:
53
43
  version: 0.9.1
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: 0.9.1
46
+ version_requirements: *2161189420
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: haml
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &2161188940 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
- - - '='
52
+ - - =
68
53
  - !ruby/object:Gem::Version
69
54
  version: 3.1.7
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
57
+ version_requirements: *2161188940
58
+ - !ruby/object:Gem::Dependency
59
+ name: sass
60
+ requirement: &2161188460 !ruby/object:Gem::Requirement
73
61
  none: false
74
62
  requirements:
75
- - - '='
63
+ - - =
76
64
  - !ruby/object:Gem::Version
77
- version: 3.1.7
65
+ version: 3.2.1
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *2161188460
78
69
  - !ruby/object:Gem::Dependency
79
- name: sass
80
- requirement: !ruby/object:Gem::Requirement
70
+ name: rack
71
+ requirement: &2161187980 !ruby/object:Gem::Requirement
81
72
  none: false
82
73
  requirements:
83
- - - '='
74
+ - - =
84
75
  - !ruby/object:Gem::Version
85
- version: 3.2.1
76
+ version: 1.4.1
86
77
  type: :runtime
87
78
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
79
+ version_requirements: *2161187980
80
+ - !ruby/object:Gem::Dependency
81
+ name: rack-contrib
82
+ requirement: &2161187500 !ruby/object:Gem::Requirement
89
83
  none: false
90
84
  requirements:
91
- - - '='
85
+ - - =
92
86
  - !ruby/object:Gem::Version
93
- version: 3.2.1
87
+ version: 1.1.0
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *2161187500
94
91
  description: ''
95
92
  email:
96
93
  - lihsuan@8thlight.com
@@ -106,7 +103,6 @@ files:
106
103
  - lib/midwife.rb
107
104
  - lib/midwife/tasks.rb
108
105
  - lib/midwife/version.rb
109
- - lib/tasks/care.rake
110
106
  - midwife.gemspec
111
107
  homepage: http://github.com/naush/midwife
112
108
  licenses: []
@@ -122,7 +118,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
118
  version: '0'
123
119
  segments:
124
120
  - 0
125
- hash: -1056226323928541165
121
+ hash: 3301392848472631424
126
122
  required_rubygems_version: !ruby/object:Gem::Requirement
127
123
  none: false
128
124
  requirements:
@@ -131,10 +127,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
127
  version: '0'
132
128
  segments:
133
129
  - 0
134
- hash: -1056226323928541165
130
+ hash: 3301392848472631424
135
131
  requirements: []
136
132
  rubyforge_project:
137
- rubygems_version: 1.8.24
133
+ rubygems_version: 1.8.4
138
134
  signing_key:
139
135
  specification_version: 3
140
136
  summary: A collection of preprocessors for frontend development
data/lib/tasks/care.rake DELETED
@@ -1,51 +0,0 @@
1
- include Rake::DSL
2
- require 'rake/clean'
3
- require 'listen'
4
-
5
- HAML = FileList['**/*.haml']
6
- HTML = HAML.ext('html')
7
- SCSS = FileList['**/*.scss']
8
- CSS = SCSS.ext('css')
9
-
10
- ASSETS = 'assets'
11
- PUBLIC = 'public'
12
-
13
- CLEAN.include HTML + CSS
14
-
15
- desc 'Care for your haml/scss'
16
- task :care => HTML + CSS
17
- task :default => :care
18
-
19
- desc 'Listen to your haml/scss'
20
- task :listen do |t|
21
- Listen.to(ASSETS) do |modified, added, removed|
22
- (modified + added).each do |source|
23
- extension = File.extname(source)
24
- if extension == '.haml'
25
- target = source.ext('html')
26
- compile('haml', source, target)
27
- elsif extension == '.scss'
28
- target = source.ext('css')
29
- compile('sass', source, target)
30
- end
31
- end
32
- removed.each do |source|
33
- destination = source.gsub(ASSETS, PUBLIC).ext('html')
34
- File.delete(destination)
35
- end
36
- end
37
- end
38
-
39
- rule '.html' => '.haml' do |t|
40
- compile("haml", t.source, t.name)
41
- end
42
-
43
- rule '.css' => '.scss' do |t|
44
- compile("sass", t.source, t.name)
45
- end
46
-
47
- def compile(command, source, target)
48
- destination = target.gsub(ASSETS, PUBLIC)
49
- FileUtils.mkdir_p(File.dirname(destination))
50
- sh "#{command} #{source} #{destination}"
51
- end