compass 0.10.3 → 0.10.4.pre.2

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.
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 10
4
- :patch: 3
5
- #:build: 0
4
+ :patch: 4
5
+ :build: pre.2
@@ -26,7 +26,9 @@
26
26
 
27
27
  // Hides text in an element so you can see the background.
28
28
  @mixin hide-text {
29
- text-indent: -119988px;
29
+ $approximate_em_value: 12px / 1em;
30
+ $wider_than_any_screen: -9999em;
31
+ text-indent: $wider_than_any_screen * $approximate_em_value;
30
32
  overflow: hidden;
31
33
  text-align: left;
32
34
  }
@@ -72,7 +72,7 @@ Options:
72
72
  # all commands must implement perform
73
73
  def perform
74
74
  installer.init
75
- installer.run(:skip_finalization => true)
75
+ installer.run(:skip_finalization => true, :skip_preparation => !is_project_creation?)
76
76
  UpdateProject.new(working_path, options).perform if installer.compilation_required?
77
77
  installer.finalize(options.merge(:create => is_project_creation?))
78
78
  end
@@ -29,7 +29,7 @@ module Compass
29
29
  # Every installer must conform to the installation strategy of prepare, install, and then finalize.
30
30
  # A default implementation is provided for each step.
31
31
  def run(run_options = {})
32
- prepare
32
+ prepare unless run_options[:skip_preparation]
33
33
  install unless options[:prepare]
34
34
  finalize(options.merge(run_options)) unless options[:prepare] || run_options[:skip_finalization]
35
35
  end
@@ -20,7 +20,19 @@ module Compass
20
20
  parse(manifest_file) if manifest_file
21
21
  end
22
22
 
23
- def self.type(t)
23
+ def self.known_extensions
24
+ @known_extensions ||= {}
25
+ end
26
+
27
+ def self.plural_types
28
+ @plural_types ||= {}
29
+ end
30
+
31
+ def self.type(t, options = {})
32
+ Array(options[:extensions]).each do |ext|
33
+ self.known_extensions[ext] = t
34
+ end
35
+ self.plural_types[options[:plural]] = t if options[:plural]
24
36
  eval <<-END
25
37
  def #{t}(from, options = {})
26
38
  @entries << Entry.new(:#{t}, from, options)
@@ -34,13 +46,35 @@ module Compass
34
46
  END
35
47
  end
36
48
 
37
- type :stylesheet
38
- type :image
39
- type :javascript
40
- type :font
41
- type :file
42
- type :html
43
- type :directory
49
+ type :stylesheet, :plural => :stylesheets, :extensions => %w(scss sass)
50
+ type :image, :plural => :images, :extensions => %w(png gif jpg jpeg tiff gif)
51
+ type :javascript, :plural => :javascripts, :extensions => %w(js)
52
+ type :font, :plural => :fonts, :extensions => %w(otf woff ttf)
53
+ type :html, :plural => :html, :extensions => %w(html haml)
54
+ type :file, :plural => :files
55
+ type :directory, :plural => :directories
56
+
57
+ def discover(type)
58
+ type = self.class.plural_types[type] || type
59
+ dir = File.dirname(@manifest_file)
60
+ Dir.glob("#{dir}/**/*").each do |file|
61
+ next if /manifest\.rb/ =~ file
62
+ short_name = file[(dir.length+1)..-1]
63
+ options = {}
64
+ ext = if File.extname(short_name) == ".erb"
65
+ options[:erb] = true
66
+ File.extname(short_name[0..-5])
67
+ else
68
+ File.extname(short_name)
69
+ end[1..-1]
70
+ file_type = self.class.known_extensions[ext]
71
+ file_type = :file if file_type.nil?
72
+ file_type = :directory if File.directory?(file)
73
+ if type == :all || type == file_type
74
+ send(file_type, short_name, options)
75
+ end
76
+ end
77
+ end
44
78
 
45
79
  def help(value = nil)
46
80
  if value
@@ -96,13 +130,23 @@ module Compass
96
130
  @compile_after_generation = false
97
131
  end
98
132
 
133
+ def with_manifest(manifest_file)
134
+ @manifest_file = manifest_file
135
+ yield
136
+ ensure
137
+ @manifest_file = nil
138
+ end
139
+
99
140
  # parses a manifest file which is a ruby script
100
141
  # evaluated in a Manifest instance context
101
142
  def parse(manifest_file)
102
- open(manifest_file) do |f|
103
- eval(f.read, instance_binding, manifest_file)
143
+ with_manifest(manifest_file) do
144
+ open(manifest_file) do |f|
145
+ eval(f.read, instance_binding, manifest_file)
146
+ end
104
147
  end
105
148
  end
149
+
106
150
  def instance_binding
107
151
  binding
108
152
  end
@@ -1,6 +1,6 @@
1
1
  module Compass::SassExtensions::Functions::Urls
2
2
 
3
- def stylesheet_url(path)
3
+ def stylesheet_url(path, only_path = Sass::Script::Bool.new(false))
4
4
  # Compute the path to the stylesheet, either root relative or stylesheet relative
5
5
  # or nil if the http_images_path is not set in the configuration.
6
6
  http_stylesheets_path = if relative?
@@ -11,10 +11,15 @@ module Compass::SassExtensions::Functions::Urls
11
11
  Compass.configuration.http_root_relative(Compass.configuration.css_dir)
12
12
  end
13
13
 
14
- clean_url("#{http_stylesheets_path}/#{path}")
14
+ path = "#{http_stylesheets_path}/#{path}"
15
+ if only_path.to_bool
16
+ Sass::Script::String.new(clean_path(path))
17
+ else
18
+ clean_url(path)
19
+ end
15
20
  end
16
21
 
17
- def font_url(path)
22
+ def font_url(path, only_path = Sass::Script::Bool.new(false))
18
23
  path = path.value # get to the string value of the literal.
19
24
 
20
25
  # Short curcuit if they have provided an absolute url.
@@ -30,10 +35,16 @@ module Compass::SassExtensions::Functions::Urls
30
35
  Compass.configuration.http_fonts_path
31
36
  end
32
37
 
33
- clean_url("#{http_fonts_path}/#{path}")
38
+ path = "#{http_fonts_path}/#{path}"
39
+
40
+ if only_path.to_bool
41
+ Sass::Script::String.new(clean_path(path))
42
+ else
43
+ clean_url(path)
44
+ end
34
45
  end
35
46
 
36
- def image_url(path)
47
+ def image_url(path, only_path = Sass::Script::Bool.new(false))
37
48
  path = path.value # get to the string value of the literal.
38
49
 
39
50
  if path =~ %r{^#{Regexp.escape(Compass.configuration.http_images_path)}/(.*)}
@@ -79,16 +90,24 @@ module Compass::SassExtensions::Functions::Urls
79
90
  # prepend the asset host if there is one.
80
91
  path = "#{asset_host}#{'/' unless path[0..0] == "/"}#{path}" if asset_host
81
92
 
82
- clean_url(path)
93
+ if only_path.to_bool
94
+ Sass::Script::String.new(clean_path(path))
95
+ else
96
+ clean_url(path)
97
+ end
83
98
  end
84
99
 
85
100
  private
86
101
 
87
- # Emits a url, taking off any leading "./"
88
- def clean_url(url)
102
+ # Emits a path, taking off any leading "./"
103
+ def clean_path(url)
89
104
  url = url.to_s
90
105
  url = url[0..1] == "./" ? url[2..-1] : url
91
- Sass::Script::String.new("url('#{url}')")
106
+ end
107
+
108
+ # Emits a url, taking off any leading "./"
109
+ def clean_url(url)
110
+ Sass::Script::String.new("url('#{clean_path(url)}')")
92
111
  end
93
112
 
94
113
  def relative?
@@ -0,0 +1,3 @@
1
+ @font-face {
2
+ font-family: "font1";
3
+ src: local("☺"), url('/tmp/fonts/font1.woff') format('woff'); }
@@ -0,0 +1,3 @@
1
+ @import compass/css3/font-face
2
+
3
+ +font-face("font1", font-files("font1.woff", woff))
metadata CHANGED
@@ -1,12 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compass
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ prerelease: true
5
5
  segments:
6
6
  - 0
7
7
  - 10
8
- - 3
9
- version: 0.10.3
8
+ - 4
9
+ - pre
10
+ - 2
11
+ version: 0.10.4.pre.2
10
12
  platform: ruby
11
13
  authors:
12
14
  - Chris Eppstein
@@ -16,7 +18,7 @@ autorequire:
16
18
  bindir: bin
17
19
  cert_chain: []
18
20
 
19
- date: 2010-08-01 00:00:00 -07:00
21
+ date: 2010-08-05 00:00:00 -07:00
20
22
  default_executable: compass
21
23
  dependencies:
22
24
  - !ruby/object:Gem::Dependency
@@ -356,9 +358,6 @@ files:
356
358
  - frameworks/compass/templates/project/print.sass
357
359
  - frameworks/compass/templates/project/screen.sass
358
360
  - frameworks/compass/templates/project/USAGE.markdown
359
- - frameworks/rails/stylesheets/_rails.scss
360
- - frameworks/rails/stylesheets/rails/_pagination.scss
361
- - frameworks/rails/stylesheets/rails/_scaffolding.scss
362
361
  - lib/compass/actions.rb
363
362
  - lib/compass/app_integration/merb/runtime.rb
364
363
  - lib/compass/app_integration/merb.rb
@@ -511,6 +510,7 @@ files:
511
510
  - test/fixtures/stylesheets/compass/config.rb
512
511
  - test/fixtures/stylesheets/compass/css/border_radius.css
513
512
  - test/fixtures/stylesheets/compass/css/box.css
513
+ - test/fixtures/stylesheets/compass/css/fonts.css
514
514
  - test/fixtures/stylesheets/compass/css/gradients.css
515
515
  - test/fixtures/stylesheets/compass/css/image_size.css
516
516
  - test/fixtures/stylesheets/compass/css/images.css
@@ -527,6 +527,7 @@ files:
527
527
  - test/fixtures/stylesheets/compass/images/4x6.png
528
528
  - test/fixtures/stylesheets/compass/sass/border_radius.scss
529
529
  - test/fixtures/stylesheets/compass/sass/box.sass
530
+ - test/fixtures/stylesheets/compass/sass/fonts.sass
530
531
  - test/fixtures/stylesheets/compass/sass/gradients.sass
531
532
  - test/fixtures/stylesheets/compass/sass/image_size.sass
532
533
  - test/fixtures/stylesheets/compass/sass/images.scss
@@ -573,11 +574,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
573
574
  version: "0"
574
575
  required_rubygems_version: !ruby/object:Gem::Requirement
575
576
  requirements:
576
- - - ">="
577
+ - - ">"
577
578
  - !ruby/object:Gem::Version
578
579
  segments:
579
- - 0
580
- version: "0"
580
+ - 1
581
+ - 3
582
+ - 1
583
+ version: 1.3.1
581
584
  requirements: []
582
585
 
583
586
  rubyforge_project:
@@ -645,6 +648,7 @@ test_files:
645
648
  - test/fixtures/stylesheets/compass/config.rb
646
649
  - test/fixtures/stylesheets/compass/css/border_radius.css
647
650
  - test/fixtures/stylesheets/compass/css/box.css
651
+ - test/fixtures/stylesheets/compass/css/fonts.css
648
652
  - test/fixtures/stylesheets/compass/css/gradients.css
649
653
  - test/fixtures/stylesheets/compass/css/image_size.css
650
654
  - test/fixtures/stylesheets/compass/css/images.css
@@ -661,6 +665,7 @@ test_files:
661
665
  - test/fixtures/stylesheets/compass/images/4x6.png
662
666
  - test/fixtures/stylesheets/compass/sass/border_radius.scss
663
667
  - test/fixtures/stylesheets/compass/sass/box.sass
668
+ - test/fixtures/stylesheets/compass/sass/fonts.sass
664
669
  - test/fixtures/stylesheets/compass/sass/gradients.sass
665
670
  - test/fixtures/stylesheets/compass/sass/image_size.sass
666
671
  - test/fixtures/stylesheets/compass/sass/images.scss
@@ -1 +0,0 @@
1
- @import "rails/pagination";
@@ -1,56 +0,0 @@
1
- body { background-color: #fff; color: #333; }
2
-
3
- body, p, ol, ul, td {
4
- font-family: verdana, arial, helvetica, sans-serif;
5
- font-size: 13px;
6
- line-height: 18px;
7
- }
8
-
9
- pre {
10
- background-color: #eee;
11
- padding: 10px;
12
- font-size: 11px;
13
- }
14
-
15
- a { color: #000; }
16
- a:visited { color: #666; }
17
- a:hover { color: #fff; background-color:#000; }
18
-
19
- div.field, div.actions {
20
- margin-bottom: 10px;
21
- }
22
-
23
- #notice {
24
- color: green;
25
- }
26
-
27
- .field_with_errors {
28
- padding: 2px;
29
- background-color: red;
30
- display: table;
31
- }
32
-
33
- #error_explanation {
34
- width: 450px;
35
- border: 2px solid red;
36
- padding: 7px;
37
- padding-bottom: 0;
38
- margin-bottom: 20px;
39
- background-color: #f0f0f0;
40
-
41
- h2 {
42
- text-align: left;
43
- font-weight: bold;
44
- padding: 5px 5px 5px 15px;
45
- font-size: 12px;
46
- margin: -7px;
47
- margin-bottom: 0px;
48
- background-color: #c00;
49
- color: #fff;
50
- }
51
-
52
- ul li {
53
- font-size: 12px;
54
- list-style: square;
55
- }
56
- }