archetype 0.0.1.pre.1 → 0.0.1.pre.3.00dfd9a

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.
Files changed (185) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +88 -0
  3. data/LICENSE +16 -0
  4. data/README.md +87 -1
  5. data/VERSION.yml +6 -0
  6. data/lib/README.rdoc +4 -0
  7. data/lib/archetype.rb +45 -0
  8. data/lib/archetype/functions.rb +9 -0
  9. data/lib/archetype/functions/hash.rb +149 -0
  10. data/lib/archetype/functions/helpers.rb +125 -0
  11. data/lib/archetype/functions/styleguide_memoizer.rb +61 -0
  12. data/lib/archetype/sass_extensions.rb +6 -0
  13. data/lib/archetype/sass_extensions/functions.rb +14 -0
  14. data/lib/archetype/sass_extensions/functions/environment.rb +14 -0
  15. data/lib/archetype/sass_extensions/functions/lists.rb +284 -0
  16. data/lib/archetype/sass_extensions/functions/locale.rb +77 -0
  17. data/lib/archetype/sass_extensions/functions/numbers.rb +19 -0
  18. data/lib/archetype/sass_extensions/functions/styleguide.rb +406 -0
  19. data/lib/archetype/sass_extensions/functions/ui.rb +59 -0
  20. data/lib/archetype/sass_extensions/functions/version.rb +95 -0
  21. data/lib/archetype/version.rb +75 -0
  22. data/stylesheets/_archetype.scss +2 -0
  23. data/stylesheets/archetype/_base.scss +46 -0
  24. data/stylesheets/archetype/_config.scss +366 -0
  25. data/stylesheets/archetype/_grid.scss +3 -0
  26. data/stylesheets/archetype/_hacks.scss +72 -0
  27. data/stylesheets/archetype/_init.scss +23 -0
  28. data/stylesheets/archetype/_styleguide.scss +6 -0
  29. data/stylesheets/archetype/_ui.scss +326 -0
  30. data/stylesheets/archetype/_util.scss +12 -0
  31. data/stylesheets/archetype/base/_h5bp.scss +307 -0
  32. data/stylesheets/archetype/base/_hybrid.scss +25 -0
  33. data/stylesheets/archetype/base/_normalize.scss +595 -0
  34. data/stylesheets/archetype/base/_reset.scss +72 -0
  35. data/stylesheets/archetype/grid/_config.scss +14 -0
  36. data/stylesheets/archetype/grid/_grid.scss +391 -0
  37. data/stylesheets/archetype/styleguide/_components.scss +25 -0
  38. data/stylesheets/archetype/styleguide/_helpers.scss +215 -0
  39. data/stylesheets/archetype/styleguide/_primitives.scss +10 -0
  40. data/stylesheets/archetype/styleguide/_styleguide.scss +41 -0
  41. data/stylesheets/archetype/styleguide/components/_alerts.scss +59 -0
  42. data/stylesheets/archetype/styleguide/components/_annotations.scss +27 -0
  43. data/stylesheets/archetype/styleguide/components/_bristol.scss +15 -0
  44. data/stylesheets/archetype/styleguide/components/_button_groups.scss +47 -0
  45. data/stylesheets/archetype/styleguide/components/_button_toolbars.scss +17 -0
  46. data/stylesheets/archetype/styleguide/components/_buttons.scss +338 -0
  47. data/stylesheets/archetype/styleguide/components/_canvas.scss +15 -0
  48. data/stylesheets/archetype/styleguide/components/_carets.scss +336 -0
  49. data/stylesheets/archetype/styleguide/components/_closes.scss +63 -0
  50. data/stylesheets/archetype/styleguide/components/_container.scss +27 -0
  51. data/stylesheets/archetype/styleguide/components/_copy.scss +85 -0
  52. data/stylesheets/archetype/styleguide/components/_flyouts.scss +52 -0
  53. data/stylesheets/archetype/styleguide/components/_headings.scss +33 -0
  54. data/stylesheets/archetype/styleguide/components/_headlines.scss +63 -0
  55. data/stylesheets/archetype/styleguide/components/_hovercards.scss +27 -0
  56. data/stylesheets/archetype/styleguide/components/_icons.scss +17 -0
  57. data/stylesheets/archetype/styleguide/components/_identities.scss +34 -0
  58. data/stylesheets/archetype/styleguide/components/_links.scss +66 -0
  59. data/stylesheets/archetype/styleguide/components/_loaders.scss +154 -0
  60. data/stylesheets/archetype/styleguide/components/_menu_items.scss +31 -0
  61. data/stylesheets/archetype/styleguide/components/_module.scss +15 -0
  62. data/stylesheets/archetype/styleguide/components/_pullquotes.scss +29 -0
  63. data/stylesheets/archetype/styleguide/components/_punchcut.scss +18 -0
  64. data/stylesheets/archetype/styleguide/components/_tooltips.scss +28 -0
  65. data/stylesheets/archetype/styleguide/primitives/_animations.scss +17 -0
  66. data/stylesheets/archetype/styleguide/primitives/_dimensions.scss +50 -0
  67. data/stylesheets/archetype/styleguide/primitives/_glyphs.scss +11 -0
  68. data/stylesheets/archetype/styleguide/primitives/_misc.scss +8 -0
  69. data/stylesheets/archetype/styleguide/primitives/_palettes.scss +94 -0
  70. data/stylesheets/archetype/styleguide/primitives/_shadows.scss +23 -0
  71. data/stylesheets/archetype/styleguide/primitives/_sprites.scss +46 -0
  72. data/stylesheets/archetype/styleguide/primitives/_textures.scss +10 -0
  73. data/stylesheets/archetype/styleguide/primitives/_typography.scss +56 -0
  74. data/stylesheets/archetype/util/_debug.scss +40 -0
  75. data/stylesheets/archetype/util/_lists.scss +57 -0
  76. data/stylesheets/archetype/util/_misc.scss +108 -0
  77. data/stylesheets/archetype/util/_rtl.scss +279 -0
  78. data/stylesheets/archetype/util/_spacing.scss +78 -0
  79. data/stylesheets/archetype/util/_styles.scss +466 -0
  80. data/stylesheets/archetype/util/_targeting.scss +210 -0
  81. data/stylesheets/archetype/util/_units.scss +18 -0
  82. data/templates/example/index.html +40 -0
  83. data/templates/example/manifest.rb +13 -0
  84. data/templates/example/screen.scss +99 -0
  85. data/templates/example/vendor/archetype/animations/loaders/large/large.png +0 -0
  86. data/templates/example/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
  87. data/templates/example/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
  88. data/templates/example/vendor/archetype/animations/loaders/large/large_static.png +0 -0
  89. data/templates/example/vendor/archetype/animations/loaders/medium/medium.png +0 -0
  90. data/templates/example/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
  91. data/templates/example/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
  92. data/templates/example/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
  93. data/templates/example/vendor/archetype/animations/loaders/small/small.png +0 -0
  94. data/templates/example/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
  95. data/templates/example/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
  96. data/templates/example/vendor/archetype/animations/loaders/small/small_static.png +0 -0
  97. data/templates/example/vendor/archetype/fontawesome-webfont.eot +0 -0
  98. data/templates/example/vendor/archetype/fontawesome-webfont.svg +255 -0
  99. data/templates/example/vendor/archetype/fontawesome-webfont.ttf +0 -0
  100. data/templates/example/vendor/archetype/fontawesome-webfont.woff +0 -0
  101. data/templates/project/manifest.rb +9 -0
  102. data/templates/project/screen.scss +1 -0
  103. data/templates/project/vendor/archetype/animations/loaders/large/large.png +0 -0
  104. data/templates/project/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
  105. data/templates/project/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
  106. data/templates/project/vendor/archetype/animations/loaders/large/large_static.png +0 -0
  107. data/templates/project/vendor/archetype/animations/loaders/medium/medium.png +0 -0
  108. data/templates/project/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
  109. data/templates/project/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
  110. data/templates/project/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
  111. data/templates/project/vendor/archetype/animations/loaders/small/small.png +0 -0
  112. data/templates/project/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
  113. data/templates/project/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
  114. data/templates/project/vendor/archetype/animations/loaders/small/small_static.png +0 -0
  115. data/templates/project/vendor/archetype/fontawesome-webfont.eot +0 -0
  116. data/templates/project/vendor/archetype/fontawesome-webfont.svg +255 -0
  117. data/templates/project/vendor/archetype/fontawesome-webfont.ttf +0 -0
  118. data/templates/project/vendor/archetype/fontawesome-webfont.woff +0 -0
  119. data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.eot +0 -0
  120. data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.svg +255 -0
  121. data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.ttf +0 -0
  122. data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.woff +0 -0
  123. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large.png +0 -0
  124. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
  125. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
  126. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_static.png +0 -0
  127. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium.png +0 -0
  128. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
  129. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
  130. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
  131. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small.png +0 -0
  132. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
  133. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
  134. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_static.png +0 -0
  135. data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/sprites/hovercard_tip.png +0 -0
  136. data/test/fixtures/stylesheets/archetype/config.rb +19 -0
  137. data/test/fixtures/stylesheets/archetype/expected/b.css +14 -0
  138. data/test/fixtures/stylesheets/archetype/expected/base.css +349 -0
  139. data/test/fixtures/stylesheets/archetype/expected/hacks/ie_pseudo.css +11 -0
  140. data/test/fixtures/stylesheets/archetype/expected/locale.css +23 -0
  141. data/test/fixtures/stylesheets/archetype/expected/styleguide/buttons.css +2091 -0
  142. data/test/fixtures/stylesheets/archetype/expected/styleguide/fallback_styles.css +9 -0
  143. data/test/fixtures/stylesheets/archetype/expected/styleguide/nested_styleguides.css +24 -0
  144. data/test/fixtures/stylesheets/archetype/expected/styleguide/selective_state.css +174 -0
  145. data/test/fixtures/stylesheets/archetype/expected/ui/glyph_icon.css +37 -0
  146. data/test/fixtures/stylesheets/archetype/expected/ui/hide_element.css +8 -0
  147. data/test/fixtures/stylesheets/archetype/expected/ui/stroke.css +17 -0
  148. data/test/fixtures/stylesheets/archetype/expected/ui/triangle.css +35 -0
  149. data/test/fixtures/stylesheets/archetype/expected/utilities/associative.css +9 -0
  150. data/test/fixtures/stylesheets/archetype/expected/utilities/if-set.css +9 -0
  151. data/test/fixtures/stylesheets/archetype/expected/utilities/spacing/horizontal-spacing.css +29 -0
  152. data/test/fixtures/stylesheets/archetype/expected/utilities/spacing/vertical-spacing.css +29 -0
  153. data/test/fixtures/stylesheets/archetype/expected/utilities/styles/filter.css +11 -0
  154. data/test/fixtures/stylesheets/archetype/expected/utilities/styles/font-family.css +16 -0
  155. data/test/fixtures/stylesheets/archetype/expected/utilities/styles/z-index.css +15 -0
  156. data/test/fixtures/stylesheets/archetype/expected/utilities/targeting/target-browser.css +100 -0
  157. data/test/fixtures/stylesheets/archetype/expected/utilities/targeting/target-os.css +55 -0
  158. data/test/fixtures/stylesheets/archetype/source/b.scss +9 -0
  159. data/test/fixtures/stylesheets/archetype/source/base.scss +3 -0
  160. data/test/fixtures/stylesheets/archetype/source/hacks/ie_pseudo.scss +13 -0
  161. data/test/fixtures/stylesheets/archetype/source/locale.scss +43 -0
  162. data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +18 -0
  163. data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +22 -0
  164. data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +40 -0
  165. data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +22 -0
  166. data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +13 -0
  167. data/test/fixtures/stylesheets/archetype/source/ui/hide_element.scss +5 -0
  168. data/test/fixtures/stylesheets/archetype/source/ui/stroke.scss +13 -0
  169. data/test/fixtures/stylesheets/archetype/source/ui/triangle.scss +13 -0
  170. data/test/fixtures/stylesheets/archetype/source/utilities/associative.scss +24 -0
  171. data/test/fixtures/stylesheets/archetype/source/utilities/if-set.scss +16 -0
  172. data/test/fixtures/stylesheets/archetype/source/utilities/spacing/horizontal-spacing.scss +27 -0
  173. data/test/fixtures/stylesheets/archetype/source/utilities/spacing/vertical-spacing.scss +27 -0
  174. data/test/fixtures/stylesheets/archetype/source/utilities/styles/filter.scss +9 -0
  175. data/test/fixtures/stylesheets/archetype/source/utilities/styles/font-family.scss +9 -0
  176. data/test/fixtures/stylesheets/archetype/source/utilities/styles/z-index.scss +18 -0
  177. data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +70 -0
  178. data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-os.scss +42 -0
  179. data/test/helpers/diff.rb +49 -0
  180. data/test/helpers/io.rb +36 -0
  181. data/test/helpers/test_case.rb +62 -0
  182. data/test/integrations/archetype_test.rb +126 -0
  183. data/test/test_helper.rb +26 -0
  184. data/test/units/sass_extensions_test.rb +207 -0
  185. metadata +303 -15
@@ -0,0 +1,95 @@
1
+ require 'archetype/functions/helpers'
2
+ require 'archetype/version'
3
+ require 'compass/version'
4
+ require 'sass/version'
5
+
6
+ #
7
+ # This module provides an interface for testing against various framework version
8
+ #
9
+ module Archetype::SassExtensions::Version
10
+ # :stopdoc:
11
+ COMPARATOR_PATTERN = /([neglt]+|[><=!]+)/
12
+ VERSION_PATTERN = /\d+(\.\d+)*(\.[x|\*])?/
13
+ # :startdoc:
14
+
15
+ #
16
+ # get the current version or test against a framework version
17
+ #
18
+ # *Parameters*:
19
+ # - <tt>$test</tt> {String} the test to evalutate
20
+ # *Returns*:
21
+ # - {String|Boolean} if no test or test is just a lookup of a framework, it returns the version of that framework, otherwise it returns the result of the test
22
+ #
23
+ def archetype_version(test = nil)
24
+ test = test.nil? ? 'archetype' : helpers.to_str(test, ' ', :quotes).downcase
25
+ lib = ''
26
+ if test.include?('compass')
27
+ lib = Compass::VERSION
28
+ elsif test.include?('sass')
29
+ lib = Sass::VERSION
30
+ else
31
+ lib = Archetype::VERSION
32
+ end
33
+ # strip off any non-official versioning (e.g. pre/alpha/rc)
34
+ lib = lib.match(VERSION_PATTERN)[0]
35
+ result = compare_version(lib, test.match(VERSION_PATTERN), test.match(COMPARATOR_PATTERN))
36
+ return Sass::Script::String.new(lib) if result.nil?
37
+ return Sass::Script::Bool.new(result)
38
+ end
39
+
40
+ private
41
+ def helpers
42
+ @helpers ||= Archetype::Functions::Helpers
43
+ end
44
+
45
+ #
46
+ # compare a version of a framework
47
+ #
48
+ # *Parameters*:
49
+ # - <tt>$lib</tt> {String} the library (framework) to compare
50
+ # - <tt>$version</tt> {String} the version to compare against
51
+ # - <tt>$comparator</tt> {String} the type of comparison to perform
52
+ # *Returns*:
53
+ # - {Boolean} compare the current framework version against the provided version
54
+ #
55
+ def compare_version(lib, version, comparator)
56
+ return nil if version.nil?
57
+ result = nil
58
+ lib = lib.split('.')
59
+ version = version[0].gsub(/\*/, 'x').split('.')
60
+ # check for wild cards
61
+ wild = version.index('x')
62
+ # check the comparison
63
+ comparator = (comparator || [])[0] || 'eq'
64
+ eq = comparator =~ /(e|=)/
65
+ lt = comparator =~ /(l|<)/
66
+ gt = comparator =~ /(g|>)/
67
+ # if it was wild, substitute it
68
+ version[wild] = lib[wild].to_i + (eq ? 0 : gt ? -1 : 1) if not wild.nil?
69
+ diff = version_value(lib) - version_value(version)
70
+ # check for the version difference
71
+ result = diff > 0 if gt
72
+ result = diff < 0 if lt
73
+ result = diff == 0 if eq and not result
74
+ # if the comparator had an `n` in it, it's a negation
75
+ result = (not result) if comparator =~ /(n|!)/
76
+ return result
77
+ end
78
+
79
+ #
80
+ # convert a SemVer string into a numeric value, representing it's weight (lateness)
81
+ #
82
+ # *Parameters*:
83
+ # - <tt>$version</tt> {String} the version string
84
+ # *Returns*:
85
+ # - {Number} a weighted number representing the the version
86
+ #
87
+ def version_value(version)
88
+ sum = 0
89
+ version.each_with_index do |v, i|
90
+ break if v.nil?
91
+ sum += (1000 ** (3 - i)) * v.to_i
92
+ end
93
+ return sum
94
+ end
95
+ end
@@ -0,0 +1,75 @@
1
+ module Archetype
2
+ module Version
3
+ #
4
+ # Returns a string representing the version.
5
+ #
6
+ # The :major, :minor, and :teeny keys have their respective numbers.
7
+ # The :string key contains a human-readable string representation of the version.
8
+ # The :rev key will have the current revision hash.
9
+ #
10
+ # Method borrowed from Compass. All credit goes to Chris Eppstein and other contributors
11
+ # https://github.com/chriseppstein/compass/blob/stable/lib/compass/version.rb
12
+ # \(This method swiped from Haml and then modified, some credit goes to Nathan Weizenbaum\)
13
+ #
14
+ # *Returns*:
15
+ # - {String} the version of Archetype
16
+ #
17
+ def version
18
+ if defined?(@version)
19
+ @version
20
+ else
21
+ read_version
22
+ end
23
+ end
24
+
25
+ protected
26
+ def scope(file) # :nodoc:
27
+ File.join(File.dirname(__FILE__), '..', '..', file)
28
+ end
29
+
30
+ def read_version
31
+ require 'yaml'
32
+ begin
33
+ @version = YAML::load(File.read(scope('VERSION.yml')))
34
+ @version[:teeny] = @version[:patch]
35
+ @version[:string] = "#{@version[:major]}.#{@version[:minor]}"
36
+ @version[:string] << ".#{@version[:patch]}" if @version[:patch]
37
+ @version[:string] << ".#{@version[:build]}" if @version[:build]
38
+ @version[:string] << ".#{@version[:state]}" if @version[:state]
39
+ @version[:string] << ".#{@version[:iteration]}" if @version[:iteration]
40
+ if !ENV['OFFICIAL'] && r = revision
41
+ @version[:string] << ".#{r[0..6]}"
42
+ @version[:rev] = r
43
+ end
44
+ return @version
45
+ rescue
46
+ # this is a hack, but I'm not fully understanding how to fix this correctly
47
+ # see issue #4
48
+ # if it failed, try again, for now
49
+ return read_version
50
+ end
51
+ end
52
+
53
+ def revision
54
+ revision_from_git
55
+ end
56
+
57
+ def revision_from_git
58
+ if File.exists?(scope('.git/HEAD'))
59
+ Dir.chdir scope(".") do
60
+ `git rev-parse HEAD`
61
+ end
62
+ end
63
+ end
64
+ end
65
+
66
+ extend Archetype::Version
67
+ def self.const_missing(const)
68
+ # This avoid reading from disk unless the VERSION is requested.
69
+ if const == :VERSION
70
+ version[:string]
71
+ else
72
+ super
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,2 @@
1
+ // initialize
2
+ @import "archetype/init";
@@ -0,0 +1,46 @@
1
+ @import "hacks";
2
+ @import "base/normalize";
3
+ @import "base/reset";
4
+ @import "base/hybrid";
5
+
6
+ // protect against multiple resets
7
+ $RESET_INIT: false !default;
8
+
9
+ // @category base
10
+
11
+ // sets the base styles for the page (e.g. reset or normalize)
12
+ // @mixin base
13
+ // @param $exclude {List} the list of styles to exclude @see _normalize.scss and _reset.scss
14
+ // @param $method {String} reset method [reset|normalize|hybrid]
15
+ // @param $force {Bool} force reset to invoke; by default base() can only be invoked once, to re-invoke must pass in $force: true
16
+ @mixin base($exclude: $CONFIG_RESET_EXCLUDES, $method: $CONFIG_RESET_METHOD, $force: false) {
17
+ @if not $RESET_INIT or $force {
18
+ $RESET_INIT: true;
19
+ // normalize
20
+ @if $method == normalize {
21
+ @include base-normalize($exclude: $exclude);
22
+ }
23
+ // hyrbid reset (reset + some normalize)
24
+ @else if $method == hybrid {
25
+ @include base-hybrid($exclude: $exclude);
26
+ }
27
+ // default to reset
28
+ @else {
29
+ @include base-reset($exclude: $exclude);
30
+ }
31
+ }
32
+ @if $CONFIG_GLYPHS_AUTO and do-once("archetype/base#glyph") {
33
+ @include base-glyph();
34
+ }
35
+ }
36
+
37
+ @mixin base-glyph() {
38
+ // the font-face mixin will likely change in a future version, keep an eye on this
39
+ // https://github.com/chriseppstein/compass/issues/867
40
+ @include font-face($CONFIG_GLYPHS_NAME, $CONFIG_GLYPHS_FILES, $CONFIG_GLYPHS_EOT, $CONFIG_GLYPHS_WEIGHT, $CONFIG_GLYPHS_STYLE);
41
+ }
42
+
43
+ // auto invoke base reset
44
+ @if $CONFIG_RESET_AUTO and do-once('archetype/base') {
45
+ @include base($CONFIG_RESET_EXCLUDES);
46
+ }
@@ -0,0 +1,366 @@
1
+ // environment
2
+ $CONFIG_DEBUG_ENVS: (dev development); // environments to allow debug in
3
+ $CONFIG_DEBUG: (index($CONFIG_DEBUG_ENVS, archetype-env()) != false) !default; // global debugging mode (enabled by default in $CONFIG_DEBUG_ENVS)
4
+
5
+ // theme
6
+ $CONFIG_THEME: archetype !default; // the theme name
7
+
8
+ // units
9
+ $CONFIG_UNIT_FORCE_INT: true !default; // force units to be whole integers. if set to strict, $abuse flags won't work [false|true|strict]
10
+
11
+ // spacing
12
+ $CONFIG_SPACING: 5px !default; // spacing factor
13
+ $CONFIG_HORIZONTAL_SPACING: $CONFIG_SPACING !default; // horizontal spacing
14
+ $CONFIG_VERTICAL_SPACING: $CONFIG_SPACING !default; // veritcal spacing
15
+ $CONFIG_SPACING_METHOD: padding !default; // method for providing spacing [padding|margin]
16
+
17
+ // resets
18
+ $CONFIG_RESET_METHOD: hybrid !default; // reset method [reset|normalize|hybrid]
19
+ $CONFIG_RESET_AUTO: false !default; // if true, importing `archetype` will invoke the reset
20
+ $CONFIG_RESET_EXCLUDES: () !default; // list of things to exclude from the reset
21
+
22
+ // states used when printing out styles
23
+ $CONFIG_STATE_PREFIX: '' !default; // prefix state classnames @see to-style()
24
+ $CONFIG_STATE_NO_PREFIX: () !default; // states to never apply prefix to
25
+ // a mapping for state names to selectors
26
+ $CORE_STATE_MAPPINGS: (
27
+ 'hover' '&.#{$CONFIG_STATE_PREFIX}hover, &:hover, &.#{$CONFIG_STATE_PREFIX}focus, &:focus',
28
+ 'hover-only' '&.#{$CONFIG_STATE_PREFIX}hover, &:hover',
29
+ 'focus' '&.#{$CONFIG_STATE_PREFIX}focus, &:focus',
30
+ 'active' '&.#{$CONFIG_STATE_PREFIX}active, &:active',
31
+ 'visited' '&.#{$CONFIG_STATE_PREFIX}visited, &:visited',
32
+ 'disabled' '&.#{$CONFIG_STATE_PREFIX}disabled, &[disabled]',
33
+ 'focus-inner' '&::-moz-focus-inner'
34
+ );
35
+ $CONFIG_STATE_MAPPINGS: () !default;
36
+ $CONFIG_STATE_MAPPINGS: associative-merge($CORE_STATE_MAPPINGS, $CONFIG_STATE_MAPPINGS);
37
+
38
+ // misc
39
+ $CONTENT_PLACEHOLDER: '\0020' !default; // content placeholder (ensures block elements display correctly even if they're empty)
40
+ $CONFIG_DISABLED_CSS: () !default; // a list of CSS3 features to always disable when using output-style()
41
+ $CONFIG_GENERATED_TAG_PREFIX: x-archetype !default; // the prefix for the tag name to create when using ie-pseudo method
42
+ $CONFIG_GENERATED_TAG_CSS: false !default; // styles to apply to the generated tag when using ie-pseudo method (use this as a way to reset styles on these tags)
43
+
44
+ // z-layers
45
+ $CONFIG_Z_INDEX_BASE: 0 !default; // the default starting layer for z-index calculations
46
+ $CONFIG_Z_LAYERS_OFFSET: 100 !default; // the offset between z-layers
47
+ $CONFIG_Z_LAYERS: (default dialog navigation) !default; // the orders for the z-layers
48
+
49
+ // compass
50
+ $COMPASS_RTL_SUPPORT: false !default; // does your Compass version support RTL? set to true if Compass mixins support RTL
51
+
52
+ // sprites
53
+ $CONFIG_DISABLE_STYLEGUIDE_SPRITES: false !default; // disable all sprite generation in styleguide
54
+
55
+ // keyframe animations
56
+ $CONFIG_KEYFRAMES_AUTO: $CONFIG_RESET_AUTO !default; // whether or not to auto generate the keyframe animations
57
+ $CONFIG_KEYFRAME_LOADERS: archetype-loader !default; // loading spinner keyframe name
58
+
59
+ // glyphs
60
+ $CONFIG_GLYPHS_NAME: FontAwesome !default; // name for the font-face
61
+ $CONFIG_GLYPHS_SVG_ID: $CONFIG_GLYPHS_NAME !default;
62
+ $CONFIG_GLYPHS_BASE_PATH: 'vendor/archetype/fontawesome-webfont' !default; // generic path to all glpyh fonts (sans extensions)
63
+ $CONFIG_GLYPHS_EOT: '#{$CONFIG_GLYPHS_BASE_PATH}.eot' !default;
64
+ $CONFIG_GLYPHS_FILES: font-files('#{$CONFIG_GLYPHS_BASE_PATH}.woff', '#{$CONFIG_GLYPHS_BASE_PATH}.ttf', '#{$CONFIG_GLYPHS_BASE_PATH}.svg##{$CONFIG_GLYPHS_SVG_ID}') !default;
65
+ $CONFIG_GLYPHS_WEIGHT: normal !default; // font-weight for glyphs
66
+ $CONFIG_GLYPHS_STYLE: normal !default; // font-style for glyphs
67
+ $CONFIG_GLYPHS_THRESHOLD: 16px !default; // the threshold to switch to halfling characters, if available
68
+ $CONFIG_GLYPHS_AUTO: $CONFIG_RESET_AUTO !default; // whether or not to auto generate the font-face definition for the glyph font
69
+ // FontAwesome icon mappings as of 2012/11/03
70
+ $CORE_GLYPHS_MAPPINGS: (
71
+ glass '\f000',
72
+ music '\f001',
73
+ search '\f002',
74
+ envelope '\f003',
75
+ heart '\f004',
76
+ star '\f005',
77
+ star-empty '\f006',
78
+ user '\f007',
79
+ film '\f008',
80
+ th-large '\f009',
81
+ th '\f00a',
82
+ th-list '\f00b',
83
+ ok '\f00c',
84
+ remove '\f00d',
85
+ zoom-in '\f00e',
86
+ zoom-out '\f010',
87
+ off '\f011',
88
+ signal '\f012',
89
+ cog '\f013',
90
+ trash '\f014',
91
+ home '\f015',
92
+ file '\f016',
93
+ time '\f017',
94
+ road '\f018',
95
+ download-alt '\f019',
96
+ download '\f01a',
97
+ upload '\f01b',
98
+ inbox '\f01c',
99
+ play-circle '\f01d',
100
+ repeat '\f01e',
101
+
102
+ refresh '\f021',
103
+ list-alt '\f022',
104
+ lock '\f023',
105
+ flag '\f024',
106
+ headphones '\f025',
107
+ volume-off '\f026',
108
+ volume-down '\f027',
109
+ volume-up '\f028',
110
+ qrcode '\f029',
111
+ barcode '\f02a',
112
+ tag '\f02b',
113
+ tags '\f02c',
114
+ book '\f02d',
115
+ bookmark '\f02e',
116
+ print '\f02f',
117
+
118
+ camera '\f030',
119
+ font '\f031',
120
+ bold '\f032',
121
+ italic '\f033',
122
+ text-height '\f034',
123
+ text-width '\f035',
124
+ align-left '\f036',
125
+ align-center '\f037',
126
+ align-right '\f038',
127
+ align-justify '\f039',
128
+ list '\f03a',
129
+ indent-left '\f03b',
130
+ indent-right '\f03c',
131
+ facetime-video '\f03d',
132
+ picture '\f03e',
133
+
134
+ pencil '\f040',
135
+ map-marker '\f041',
136
+ adjust '\f042',
137
+ tint '\f043',
138
+ edit '\f044',
139
+ share '\f045',
140
+ check '\f046',
141
+ move '\f047',
142
+ step-backward '\f048',
143
+ fast-backward '\f049',
144
+ backward '\f04a',
145
+ play '\f04b',
146
+ pause '\f04c',
147
+ stop '\f04d',
148
+ forward '\f04e',
149
+
150
+ fast-forward '\f050',
151
+ step-forward '\f051',
152
+ eject '\f052',
153
+ chevron-left '\f053',
154
+ chevron-right '\f054',
155
+ plus-sign '\f055',
156
+ minus-sign '\f056',
157
+ remove-sign '\f057',
158
+ ok-sign '\f058',
159
+ question-sign '\f059',
160
+ info-sign '\f05a',
161
+ screenshot '\f05b',
162
+ remove-circle '\f05c',
163
+ ok-circle '\f05d',
164
+ ban-circle '\f05e',
165
+
166
+ arrow-left '\f060',
167
+ arrow-right '\f061',
168
+ arrow-up '\f062',
169
+ arrow-down '\f063',
170
+ share-alt '\f064',
171
+ resize-full '\f065',
172
+ resize-small '\f066',
173
+ plus '\f067',
174
+ minus '\f068',
175
+ asterisk '\f069',
176
+ exclamation-sign '\f06a',
177
+ gift '\f06b',
178
+ leaf '\f06c',
179
+ fire '\f06d',
180
+ eye-open '\f06e',
181
+
182
+ eye-close '\f070',
183
+ warning-sign '\f071',
184
+ plane '\f072',
185
+ calendar '\f073',
186
+ random '\f074',
187
+ comment '\f075',
188
+ magnet '\f076',
189
+ chevron-up '\f077',
190
+ chevron-down '\f078',
191
+ retweet '\f079',
192
+ shopping-cart '\f07a',
193
+ folder-close '\f07b',
194
+ folder-open '\f07c',
195
+ resize-vertical '\f07d',
196
+ resize-horizontal '\f07e',
197
+
198
+ bar-chart '\f080',
199
+ twitter-sign '\f081',
200
+ facebook-sign '\f082',
201
+ camera-retro '\f083',
202
+ key '\f084',
203
+ cogs '\f085',
204
+ comments '\f086',
205
+ thumbs-up '\f087',
206
+ thumbs-down '\f088',
207
+ star-half '\f089',
208
+ heart-empty '\f08a',
209
+ signout '\f08b',
210
+ linkedin-sign '\f08c',
211
+ pushpin '\f08d',
212
+ external-link '\f08e',
213
+
214
+ signin '\f090',
215
+ trophy '\f091',
216
+ github-sign '\f092',
217
+ upload-alt '\f093',
218
+ lemon '\f094',
219
+ phone '\f095',
220
+ check-empty '\f096',
221
+ bookmark-empty '\f097',
222
+ phone-sign '\f098',
223
+ twitter '\f099',
224
+ facebook '\f09a',
225
+ github '\f09b',
226
+ unlock '\f09c',
227
+ credit-card '\f09d',
228
+ rss '\f09e',
229
+
230
+ hdd '\f0a0',
231
+ bullhorn '\f0a1',
232
+ bell '\f0a2',
233
+ certificate '\f0a3',
234
+ hand-right '\f0a4',
235
+ hand-left '\f0a5',
236
+ hand-up '\f0a6',
237
+ hand-down '\f0a7',
238
+ circle-arrow-left '\f0a8',
239
+ circle-arrow-right '\f0a9',
240
+ circle-arrow-up '\f0aa',
241
+ circle-arrow-down '\f0ab',
242
+ globe '\f0ac',
243
+ wrench '\f0ad',
244
+ tasks '\f0ae',
245
+
246
+ filter '\f0b0',
247
+ briefcase '\f0b1',
248
+ fullscreen '\f0b2',
249
+
250
+ group '\f0c0',
251
+ link '\f0c1',
252
+ cloud '\f0c2',
253
+ beaker '\f0c3',
254
+ cut '\f0c4',
255
+ copy '\f0c5',
256
+ paper-clip '\f0c6',
257
+ save '\f0c7',
258
+ sign-blank '\f0c8',
259
+ reorder '\f0c9',
260
+ list-ul '\f0ca',
261
+ list-ol '\f0cb',
262
+ strikethrough '\f0cc',
263
+ underline '\f0cd',
264
+ table '\f0ce',
265
+
266
+ magic '\f0d0',
267
+ truck '\f0d1',
268
+ pinterest '\f0d2',
269
+ pinterest-sign '\f0d3',
270
+ google-plus-sign '\f0d4',
271
+ google-plus '\f0d5',
272
+ money '\f0d6',
273
+ caret-down '\f0d7',
274
+ caret-up '\f0d8',
275
+ caret-left '\f0d9',
276
+ caret-right '\f0da',
277
+ columns '\f0db',
278
+ sort '\f0dc',
279
+ sort-down '\f0dd',
280
+ sort-up '\f0de',
281
+
282
+ envelope-alt '\f0e0',
283
+ linkedin '\f0e1',
284
+ undo '\f0e2',
285
+ legal '\f0e3',
286
+ dashboard '\f0e4',
287
+ comment-alt '\f0e5',
288
+ comments-alt '\f0e6',
289
+ bolt '\f0e7',
290
+ sitemap '\f0e8',
291
+ umbrella '\f0e9',
292
+ paste '\f0ea',
293
+
294
+ user-md '\f200'
295
+ );
296
+ $CONFIG_GLYPHS_MAPPINGS: () !default;
297
+ $CONFIG_GLYPHS_MAPPINGS: associative-merge($CORE_GLYPHS_MAPPINGS, $CONFIG_GLYPHS_MAPPINGS);
298
+
299
+ // browser targeting
300
+ $CONFIG_BROWSER_VENDORS_CLASS: (ie) !default; // a list of browsers to support via class targeting
301
+ $CONFIG_BROWSER_ALLOW_HACKS: true !default; // if set to true, allow browser targeting hacks
302
+ $CONFIG_BROWSER_WARN_ON_HACK: false !default; // if hacks are used, throw a warning
303
+ // this is an associative list for various hacks
304
+ $CONFIG_BROWSER_VENDORS_HACK: (
305
+ (webkit-all, safari webkit chrome),
306
+ (gecko-all, firefox gecko mozilla),
307
+ (opera-all, opera) // NOTE: this may stop working once Opera switches over to using WebKit/Blink
308
+ ) !default;
309
+
310
+ // os targeting
311
+ $CONFIG_OS_VENDORS_CLASS: (
312
+ (os-win, windows win winxp win7 win8),
313
+ (os-mac, apple mac osx),
314
+ (os-linux, linux),
315
+ (os-other, other misc unknown)
316
+ ) !default;
317
+
318
+ // os/language safe font stacks
319
+ // these are core font definitions, these will be extended with whatever is in $CONFIG_SAFE_FONTS
320
+ $CORE_SAFE_FONTS: (
321
+ (sans-serif, (
322
+ (default, (
323
+ (default (sans-serif)),
324
+ (ko_KR ('Malgun Gothic', default)),
325
+ (zh_TW (SimSun, default)),
326
+ (zh_CN (SimSun, default))
327
+ )),
328
+ (win, (
329
+ (default (Arial, sans-serif)),
330
+ (ja_JP (メイリオ, Meiryo, 'MS Pゴシック', 'MS PGothic', default)),
331
+ (zh_TW ('微軟正黑體', 'Microsoft JhengHei', PMingLiu, '宋体', SimSun, default)),
332
+ (zh_CN ('华文细黑', 'STHeiti Light', '微软雅黑体', 'Microsoft Yahei', '新宋体', NSimSun, '宋体', SimSun, default)),
333
+ (ko_KR nil)
334
+ )),
335
+ (mac, (
336
+ (default (Helvetica, Arial, sans-serif)),
337
+ (zh_TW ('黑體-繁', 'Heiti TC', '儷黑Pro', 'LiHei Pro', PMingLiu, '宋体', SimSun, default)),
338
+ (zh_CN ('黑体-简', 'Heiti SC', '华文细黑', 'STHeiti Light', '华文黑体', STHeiti, default)),
339
+ (ja_JP ('Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'MS Pゴシック', 'MS PGothic', default)),
340
+ (ko_KR nil)
341
+ )),
342
+ (linux, (
343
+ (default (Helvetica, FreeSans, 'Liberation Sans', Helmet, Arial, sans-serif)),
344
+ (zh_TW (PMingLiu, '宋体', SimSun, default)),
345
+ (zh_CN ('新宋体', NSimSun, '宋体', SimSun, default)),
346
+ (ja_JP nil),
347
+ (ko_KR nil)
348
+ ))
349
+ )),
350
+ (serif, (
351
+ (default, (
352
+ (default (Georgia, serif)),
353
+ (CJK nil) // dont use any serif fonts in CJK langs
354
+ )),
355
+ nil
356
+ )),
357
+ (monospace, (
358
+ (default, (
359
+ (default (Menlo, Monaco, Consolas, 'Courier New', monospace)),
360
+ nil
361
+ )),
362
+ nil
363
+ ))
364
+ ); // note that this declaration isn't a `default`, but rather is enforced everytime. this can be modified (via extending $CONFIG_SAFE_FONTS)
365
+ $CONFIG_SAFE_FONTS: () !default;
366
+ $CONFIG_SAFE_FONTS: associative-merge($CORE_SAFE_FONTS, $CONFIG_SAFE_FONTS);