archetype 0.0.1.pre.10 → 0.0.1.pre.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/archetype.rb +0 -4
  3. data/lib/archetype/functions/hash.rb +12 -28
  4. data/lib/archetype/functions/helpers.rb +13 -46
  5. data/lib/archetype/functions/styleguide_memoizer.rb +1 -9
  6. data/lib/archetype/sass_extensions/functions/lists.rb +42 -36
  7. data/lib/archetype/sass_extensions/functions/locale.rb +16 -32
  8. data/lib/archetype/sass_extensions/functions/styleguide.rb +39 -121
  9. data/lib/archetype/sass_extensions/functions/ui.rb +2 -3
  10. data/lib/archetype/sass_extensions/functions/version.rb +6 -11
  11. data/lib/archetype/sass_extensions/monkey_patches.rb +1 -1
  12. data/lib/archetype/version.rb +1 -1
  13. data/stylesheets/archetype/_base.scss +2 -7
  14. data/stylesheets/archetype/_config.scss +1 -8
  15. data/stylesheets/archetype/_hacks.scss +17 -51
  16. data/stylesheets/archetype/_ui.scss +5 -16
  17. data/stylesheets/archetype/base/_h5bp.scss +12 -12
  18. data/stylesheets/archetype/base/_normalize.scss +139 -178
  19. data/stylesheets/archetype/grid/_grid.scss +13 -13
  20. data/stylesheets/archetype/styleguide/components/_buttons.scss +0 -1
  21. data/stylesheets/archetype/util/_debug.scss +4 -4
  22. data/stylesheets/archetype/util/_lists.scss +1 -1
  23. data/stylesheets/archetype/util/_misc.scss +1 -1
  24. data/stylesheets/archetype/util/_rtl.scss +1 -1
  25. data/stylesheets/archetype/util/_spacing.scss +6 -6
  26. data/stylesheets/archetype/util/_styles.scss +10 -27
  27. data/stylesheets/archetype/util/_targeting.scss +1 -1
  28. data/test/fixtures/stylesheets/archetype/config.rb +0 -2
  29. data/test/fixtures/stylesheets/archetype/saved/styleguide/buttons.css +2027 -0
  30. data/test/fixtures/stylesheets/archetype/saved/styleguide/fallback_styles.css +9 -0
  31. data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +1 -5
  32. data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +2 -1
  33. data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +1 -1
  34. data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +1 -1
  35. data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +0 -30
  36. data/test/fixtures/stylesheets/archetype/source/utilities/custom_output_styler.scss +3 -4
  37. data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +1 -8
  38. data/test/helpers/test_case.rb +2 -2
  39. data/test/integrations/archetype_test.rb +1 -3
  40. data/test/units/sass_extensions_test.rb +25 -18
  41. metadata +6 -29
  42. data/lib/archetype/actions/help.rb +0 -16
  43. data/lib/archetype/actions/theme.rb +0 -73
  44. data/lib/archetype/executor.rb +0 -27
  45. data/test/fixtures/stylesheets/archetype/saved/base.css +0 -349
  46. data/test/fixtures/stylesheets/archetype/saved/hacks/transparent_focusable.css +0 -4
  47. data/test/fixtures/stylesheets/archetype/saved/locale.css +0 -23
  48. data/test/fixtures/stylesheets/archetype/source/base.scss +0 -3
  49. data/test/fixtures/stylesheets/archetype/source/hacks/transparent_focusable.scss +0 -5
  50. data/test/fixtures/stylesheets/archetype/source/locale.scss +0 -43
  51. data/test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss +0 -21
  52. data/test/fixtures/stylesheets/archetype/source/styleguide/drop.scss +0 -101
  53. data/test/fixtures/stylesheets/archetype/source/styleguide/extend.scss +0 -24
  54. data/test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss +0 -85
  55. data/test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss +0 -18
  56. data/test/fixtures/stylesheets/archetype/source/utilities/associative.scss +0 -24
@@ -0,0 +1,9 @@
1
+ .fallback-styleguide-test {
2
+ background: transparent url(/some/img.png) repeat;
3
+ background: rbga(255, 0, 0, 0.9);
4
+ white-space: pre-wrap;
5
+ white-space: -moz-pre-wrap;
6
+ white-space: -pre-wrap;
7
+ white-space: -o-pre-wrap;
8
+ something: valid;
9
+ }
@@ -1,4 +1,4 @@
1
- @import "archetype";
1
+ @import "archetype";
2
2
 
3
3
  @each $context in container, bristol, punchcut {
4
4
  .#{$context} {
@@ -12,7 +12,3 @@
12
12
  }
13
13
  }
14
14
  }
15
-
16
- .test-exclude {
17
- @include styleguide(small secondary button in a container, $exclude: width height border-radius padding font-size line-height cursor);
18
- }
@@ -12,7 +12,8 @@ $a-blackhole: styleguide-add-component(fallback-styleguide-test, (), (
12
12
  white-space -pre-wrap,
13
13
  white-space -o-pre-wrap,
14
14
  something invalid,
15
- something valid
15
+ something valid,
16
+ content $CONTENT_PLACEHOLDER
16
17
  )),
17
18
  nil
18
19
  ), $CONFIG_THEME);
@@ -3,7 +3,7 @@
3
3
  // - nested selectors
4
4
  // - nested `styleguide` calls in nested selectors
5
5
 
6
- @import "archetype";
6
+ @import "archetype";
7
7
 
8
8
  @if not styleguide-component-exists(nested-styleguide-test, $CONFIG_THEME) {
9
9
  $a-blackhole: styleguide-add-component(nested-styleguide-test, (), (
@@ -1,4 +1,4 @@
1
- @import "archetype";
1
+ @import "archetype";
2
2
 
3
3
  .simple-button {
4
4
  &.disabled {
@@ -1,35 +1,5 @@
1
1
  @import "archetype";
2
2
 
3
- @include base-glyph();
4
-
5
3
  .simple {
6
4
  @include glyph-icon(caret-down);
7
5
  }
8
-
9
- .false {
10
- @include glyph-icon(false, $placement: inline);
11
- }
12
-
13
- .size {
14
- @include glyph-icon(caret-down, $size: 20px);
15
- }
16
-
17
- $CONFIG_GENERATED_TAG_INLINE: false;
18
- .not-inline {
19
- @include glyph-icon(caret-down);
20
- }
21
-
22
- .ie-uid {
23
- @include glyph-icon(caret-down, $ie-uid: my-custom-id);
24
- #{$archetype-glyph-selector} {
25
- color: pink;
26
- }
27
- }
28
-
29
- .content-block {
30
- @include glyph-icon(caret-down) {
31
- position: absolute;
32
- top: 10px;
33
- left: 10px;
34
- }
35
- }
@@ -1,5 +1,3 @@
1
- @import "archetype";
2
-
3
1
  // define the test function
4
2
  @function has-custom-output-styler($property, $value, $method: pre) {
5
3
  @if $property == color {
@@ -11,12 +9,13 @@
11
9
  }
12
10
  @return false;
13
11
  }
14
-
15
12
  // define the custom styler
16
13
  @mixin custom-output-styler($property, $value, $method: pre) {
17
14
  #{$property}: $value; /* #{$method} override */
18
15
  }
19
16
 
17
+ @import "archetype";
18
+
20
19
  .test {
21
20
  @include styleguide(copy);
22
- }
21
+ }
@@ -43,7 +43,7 @@
43
43
 
44
44
  .target-ie-lte-9 {
45
45
  @include target-browser(ie lte 9, border-color, #111);
46
- @include target-browser(ie lte 9, background, #2c2c2b);
46
+ @include target-browser(ie lte 9, background, #2c2c2b);
47
47
  }
48
48
 
49
49
  .target-ie-7-8-9 {
@@ -68,10 +68,3 @@
68
68
  .target-opera {
69
69
  @include target-browser(opera, width, 82%);
70
70
  }
71
-
72
- .target-with-content-block {
73
- @include target-browser(ie lte 8) {
74
- /* testing content block */
75
- color: red;
76
- };
77
- }
@@ -24,7 +24,7 @@ module Compass
24
24
  assert false, diff_as_string(before.inspect, after.inspect)
25
25
  end
26
26
  end
27
-
27
+
28
28
  module ClassMethods
29
29
 
30
30
  def let(method, &block)
@@ -51,7 +51,7 @@ module Compass
51
51
  end
52
52
  end
53
53
 
54
- private
54
+ private
55
55
 
56
56
  def underscore(string)
57
57
  string.gsub(' ', '_')
@@ -1,11 +1,9 @@
1
1
  # this is all take from Compass because they already did the awesome testing framework
2
2
  require 'test_helper'
3
+ require 'fileutils'
3
4
  require 'compass'
4
5
  require 'compass/logger'
5
6
  require 'sass/plugin'
6
- unless ENV['CI']
7
- require 'fileutils'
8
- end
9
7
 
10
8
  class ArchetypeTest < Test::Unit::TestCase
11
9
 
@@ -4,7 +4,6 @@ require 'archetype'
4
4
  class SassExtensionsTest < Test::Unit::TestCase
5
5
  setup do
6
6
  Compass.reset_configuration!
7
- Compass.configuration.testing = true
8
7
  end
9
8
 
10
9
  ## VERSION
@@ -17,20 +16,20 @@ class SassExtensionsTest < Test::Unit::TestCase
17
16
  assert_equal "true", evaluate("archetype-version('Compass >= 0.12')")
18
17
  assert_equal "false", evaluate("archetype-version('Sass >= 99.0.0')")
19
18
  assert_equal "true", evaluate("archetype-version('Sass gt 3.0')")
20
- assert_equal "true", evaluate("archetype-version(Archetype ne 99)")
19
+ assert_equal "false", evaluate("archetype-version(Archetype ne 99)")
21
20
  end
22
21
 
23
22
 
24
23
  ## ENVIRONMENT
25
24
  # test that archetype-env() is working correctly
26
25
  def test_env
27
- reset
26
+ Compass.reset_configuration!
28
27
  assert_equal "development", evaluate("archetype-env()")
29
28
  Compass.configuration.environment = :production
30
29
  assert_equal "production", evaluate("archetype-env()")
31
30
  Compass.configuration.environment = :staging
32
31
  assert_equal "staging", evaluate("archetype-env()")
33
- reset
32
+ Compass.reset_configuration!
34
33
  end
35
34
 
36
35
 
@@ -50,6 +49,19 @@ class SassExtensionsTest < Test::Unit::TestCase
50
49
  # TODO
51
50
  end
52
51
 
52
+ # list-sort
53
+ #def test_list_sort
54
+ # assert_equal "1 2 3 4", evaluate("list-sort(2 4 3 1)")
55
+ # assert_equal "4 3 2 1", evaluate("list-sort(2 4 3 1, true)")
56
+ # assert_equal "a b c d", evaluate("list-sort(d a b c)")
57
+ #end
58
+
59
+ # list-reverse
60
+ #def test_list_reverse
61
+ # assert_equal "4 3 2 1", evaluate("list-reverse(1 2 3 4)")
62
+ # assert_equal "d c b a", evaluate("list-reverse(a b c d)")
63
+ #end
64
+
53
65
  # list-add
54
66
  def test_list_add
55
67
  assert_equal "2 3 4", evaluate("list-add(1 2 3, 1)")
@@ -115,16 +127,16 @@ class SassExtensionsTest < Test::Unit::TestCase
115
127
  ## LOCALE
116
128
  # locale
117
129
  def test_locale
118
- reset
130
+ Compass.reset_configuration!
119
131
  assert_equal "en_US", evaluate("locale()")
120
132
  Compass.configuration.locale = "ja_JP"
121
133
  assert_equal "ja_JP", evaluate("locale()")
122
- reset
134
+ Compass.reset_configuration!
123
135
  end
124
136
 
125
137
  # lang
126
138
  def test_lang
127
- reset
139
+ Compass.reset_configuration!
128
140
  assert_equal "true", evaluate("lang(en_US)")
129
141
  assert_equal "true", evaluate("lang(fr_FR en_US)")
130
142
  assert_equal "false", evaluate("lang(fr_FR)")
@@ -133,7 +145,7 @@ class SassExtensionsTest < Test::Unit::TestCase
133
145
  assert_equal "true", evaluate("lang(ja_JP)")
134
146
  assert_equal "true", evaluate("lang(CJK)")
135
147
  assert_equal "true", evaluate("lang(CJK en_US)")
136
- reset
148
+ Compass.reset_configuration!
137
149
  end
138
150
 
139
151
 
@@ -171,11 +183,11 @@ class SassExtensionsTest < Test::Unit::TestCase
171
183
  ## UI
172
184
  # test generating unique tokens
173
185
  def test_unique
174
- assert_equal ".archetype-uid-RANDOM_UID", evaluate("unique(class)")
175
- assert_equal ".archetype-uid-RANDOM_UID", evaluate("unique(class)")
176
- assert_equal "\#archetype-uid-RANDOM_UID", evaluate("unique(id)")
177
- assert_equal "my-prefix-archetype-uid-RANDOM_UID", evaluate("unique(my-prefix-)")
178
- assert_equal ".testing-archetype-uid-RANDOM_UID", evaluate("unique('.testing-')")
186
+ assert_equal ".archetype-uid-1", evaluate("unique(class)")
187
+ assert_equal ".archetype-uid-2", evaluate("unique(class)")
188
+ assert_equal "\#archetype-uid-3", evaluate("unique(id)")
189
+ assert_equal "my-prefix-archetype-uid-4", evaluate("unique(my-prefix-)")
190
+ assert_equal ".testing-archetype-uid-5", evaluate("unique('.testing-')")
179
191
  end
180
192
 
181
193
  # test pseudo content escaping and formatting for innerHTML
@@ -192,9 +204,4 @@ protected
192
204
  def evaluate(value)
193
205
  Sass::Script::Parser.parse(value, 0, 0).perform(Sass::Environment.new).to_s
194
206
  end
195
-
196
- def reset
197
- Compass.reset_configuration!
198
- Compass.configuration.testing = true
199
- end
200
207
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: archetype
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre.10
4
+ version: 0.0.1.pre.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugene ONeill
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-29 00:00:00.000000000 Z
12
+ date: 2014-04-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sass
@@ -79,9 +79,6 @@ files:
79
79
  - bin/archetype
80
80
  - lib/README.rdoc
81
81
  - lib/archetype.rb
82
- - lib/archetype/actions/help.rb
83
- - lib/archetype/actions/theme.rb
84
- - lib/archetype/executor.rb
85
82
  - lib/archetype/functions.rb
86
83
  - lib/archetype/functions/hash.rb
87
84
  - lib/archetype/functions/helpers.rb
@@ -222,29 +219,19 @@ files:
222
219
  - test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/sprites/hovercard_tip.png
223
220
  - test/fixtures/stylesheets/archetype/config.rb
224
221
  - test/fixtures/stylesheets/archetype/saved/b.css
225
- - test/fixtures/stylesheets/archetype/saved/base.css
226
222
  - test/fixtures/stylesheets/archetype/saved/hacks/ie_pseudo.css
227
- - test/fixtures/stylesheets/archetype/saved/hacks/transparent_focusable.css
228
- - test/fixtures/stylesheets/archetype/saved/locale.css
223
+ - test/fixtures/stylesheets/archetype/saved/styleguide/buttons.css
224
+ - test/fixtures/stylesheets/archetype/saved/styleguide/fallback_styles.css
229
225
  - test/fixtures/stylesheets/archetype/source/b.scss
230
- - test/fixtures/stylesheets/archetype/source/base.scss
231
226
  - test/fixtures/stylesheets/archetype/source/hacks/ie_pseudo.scss
232
- - test/fixtures/stylesheets/archetype/source/hacks/transparent_focusable.scss
233
- - test/fixtures/stylesheets/archetype/source/locale.scss
234
- - test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss
235
227
  - test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss
236
- - test/fixtures/stylesheets/archetype/source/styleguide/drop.scss
237
- - test/fixtures/stylesheets/archetype/source/styleguide/extend.scss
238
228
  - test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss
239
- - test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss
240
- - test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss
241
229
  - test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss
242
230
  - test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss
243
231
  - test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss
244
232
  - test/fixtures/stylesheets/archetype/source/ui/hide_element.scss
245
233
  - test/fixtures/stylesheets/archetype/source/ui/stroke.scss
246
234
  - test/fixtures/stylesheets/archetype/source/ui/triangle.scss
247
- - test/fixtures/stylesheets/archetype/source/utilities/associative.scss
248
235
  - test/fixtures/stylesheets/archetype/source/utilities/custom_output_styler.scss
249
236
  - test/fixtures/stylesheets/archetype/source/utilities/if-set.scss
250
237
  - test/fixtures/stylesheets/archetype/source/utilities/spacing/horizontal-spacing.scss
@@ -305,29 +292,19 @@ test_files:
305
292
  - test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/sprites/hovercard_tip.png
306
293
  - test/fixtures/stylesheets/archetype/config.rb
307
294
  - test/fixtures/stylesheets/archetype/saved/b.css
308
- - test/fixtures/stylesheets/archetype/saved/base.css
309
295
  - test/fixtures/stylesheets/archetype/saved/hacks/ie_pseudo.css
310
- - test/fixtures/stylesheets/archetype/saved/hacks/transparent_focusable.css
311
- - test/fixtures/stylesheets/archetype/saved/locale.css
296
+ - test/fixtures/stylesheets/archetype/saved/styleguide/buttons.css
297
+ - test/fixtures/stylesheets/archetype/saved/styleguide/fallback_styles.css
312
298
  - test/fixtures/stylesheets/archetype/source/b.scss
313
- - test/fixtures/stylesheets/archetype/source/base.scss
314
299
  - test/fixtures/stylesheets/archetype/source/hacks/ie_pseudo.scss
315
- - test/fixtures/stylesheets/archetype/source/hacks/transparent_focusable.scss
316
- - test/fixtures/stylesheets/archetype/source/locale.scss
317
- - test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss
318
300
  - test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss
319
- - test/fixtures/stylesheets/archetype/source/styleguide/drop.scss
320
- - test/fixtures/stylesheets/archetype/source/styleguide/extend.scss
321
301
  - test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss
322
- - test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss
323
- - test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss
324
302
  - test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss
325
303
  - test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss
326
304
  - test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss
327
305
  - test/fixtures/stylesheets/archetype/source/ui/hide_element.scss
328
306
  - test/fixtures/stylesheets/archetype/source/ui/stroke.scss
329
307
  - test/fixtures/stylesheets/archetype/source/ui/triangle.scss
330
- - test/fixtures/stylesheets/archetype/source/utilities/associative.scss
331
308
  - test/fixtures/stylesheets/archetype/source/utilities/custom_output_styler.scss
332
309
  - test/fixtures/stylesheets/archetype/source/utilities/if-set.scss
333
310
  - test/fixtures/stylesheets/archetype/source/utilities/spacing/horizontal-spacing.scss
@@ -1,16 +0,0 @@
1
- description = "Get help on an Archetype action"
2
- if @description.nil?
3
- # do stuff...
4
- @help = true
5
-
6
- if not ARGV[1].nil? and ARGV[1] != 'help'
7
- action = File.join(@actions_path, ARGV[1])
8
- begin
9
- load "#{action}.rb"
10
- rescue
11
- puts "unknown action: #{ARGV[1]}"
12
- end
13
- end
14
- else
15
- @description = description
16
- end
@@ -1,73 +0,0 @@
1
- require 'fileutils'
2
- description = "Generate a new Archetype theme"
3
-
4
- if @description.nil?
5
- options = {
6
- :extends => 'archetype'
7
- }
8
- OptionParser.new do |opts|
9
- opts.banner = description
10
- opts.define_head "Usage: archetype theme [path] [options]"
11
- opts.separator ""
12
- opts.separator "Example usage:"
13
- opts.separator " archetype theme /path/to/scss/ --name=myCustomTheme"
14
- opts.separator " archetype theme --name=themes/myExtendedTheme --extends=themes/myBaseTheme"
15
-
16
- opts.on('-n', '--name THEME', 'theme name') do |v|
17
- options[:theme] = v
18
- end
19
-
20
- opts.on('-x', '--extends THEME', 'theme name to extend') do |v|
21
- options[:extends] = v
22
- end
23
-
24
- opts.on('-h', '--help', 'shows this help message') do
25
- puts opts
26
- exit
27
- end
28
-
29
- if not @help.nil?
30
- puts opts
31
- exit
32
- end
33
- end.parse!
34
-
35
- if not options[:theme].nil?
36
- base = ARGV[1] || '.'
37
- tmp = '/tmp/theme_' + rand(36**8).to_s(36)
38
- theme_template = File.join(File.dirname(__FILE__), '../../../templates/_theme/')
39
- theme_path = File.join(base, options[:theme])
40
- extends = "#{options[:extends]}"
41
- if options[:extends] != 'archetype'
42
- extends = "#{extends}/core"
43
- end
44
- theme_name = File.basename(options[:theme])
45
- # copy template files to tmp dir
46
- FileUtils.mkdir_p(tmp)
47
- FileUtils.cp_r(Dir["#{theme_template}/**"], tmp)
48
-
49
- puts "Creating theme '#{theme_name}' in #{File.expand_path(theme_path)}..."
50
- puts "extending from #{options[:extends]}" if options[:extends] != 'archetype'
51
-
52
- # update all placeholders in template files
53
- Dir.glob("#{tmp}/**/*.scss") do |filename|
54
- out = File.read(filename).gsub(/__THEME_NAME__/, theme_name).gsub(/__THEME_EXTENDS__/, extends)
55
- File.open(filename, "w") { |file| file.puts out }
56
- end
57
-
58
- # now move all the theme files to their destination
59
- FileUtils.mkdir_p(theme_path)
60
- FileUtils.cp_r(Dir["#{tmp}/**"], theme_path)
61
-
62
- # create convenience file _<theme>.scss ...
63
- File.open(File.join(File.dirname(theme_path), "_#{theme_name}.scss"), "w") { |file| file.puts "// #{theme_name} theme\n@import \"#{theme_name}/core\";\n" }
64
-
65
- # remove tmp dir
66
- FileUtils.rm_rf(tmp)
67
- puts "Congratulations! Your new theme has been created!"
68
- puts "Use @import \"#{options[:theme]}\" in your scss files."
69
- exit
70
- end
71
- else
72
- @description = description
73
- end