archetype 0.0.1.pre.13 → 1.0.0.alpha.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +97 -24
- data/README.md +11 -5
- data/VERSION +1 -0
- data/lib/archetype.rb +30 -18
- data/lib/archetype/actions/migrate.rb +152 -0
- data/lib/archetype/actions/theme.rb +6 -7
- data/lib/archetype/executor.rb +21 -7
- data/lib/archetype/extensions.rb +57 -0
- data/lib/archetype/functions.rb +2 -3
- data/lib/archetype/functions/css.rb +70 -0
- data/lib/archetype/functions/css/constants.rb +247 -0
- data/lib/archetype/functions/css/helpers.rb +265 -0
- data/lib/archetype/functions/css/routers.rb +28 -0
- data/lib/archetype/functions/css/routers/animation.rb +55 -0
- data/lib/archetype/functions/css/routers/background.rb +38 -0
- data/lib/archetype/functions/css/routers/border.rb +151 -0
- data/lib/archetype/functions/css/routers/list.rb +63 -0
- data/lib/archetype/functions/css/routers/margin_padding.rb +40 -0
- data/lib/archetype/functions/css/routers/outline.rb +56 -0
- data/lib/archetype/functions/css/routers/overflow.rb +11 -0
- data/lib/archetype/functions/css/routers/target.rb +38 -0
- data/lib/archetype/functions/css/routers/transition.rb +48 -0
- data/lib/archetype/functions/css/shorthands.rb +43 -0
- data/lib/archetype/functions/css/shorthands/animation.rb +18 -0
- data/lib/archetype/functions/css/shorthands/background.rb +68 -0
- data/lib/archetype/functions/css/shorthands/border.rb +102 -0
- data/lib/archetype/functions/hash.rb +3 -149
- data/lib/archetype/functions/hash/extend.rb +74 -0
- data/lib/archetype/functions/hash/shim.rb +48 -0
- data/lib/archetype/functions/helpers.rb +231 -22
- data/lib/archetype/functions/styleguide_memoizer.rb +18 -1
- data/lib/archetype/sass_extensions.rb +1 -3
- data/lib/archetype/sass_extensions/functions.rb +15 -1
- data/lib/archetype/sass_extensions/functions/environment.rb +152 -1
- data/lib/archetype/sass_extensions/functions/lists.rb +95 -45
- data/lib/archetype/sass_extensions/functions/locale.rb +107 -28
- data/lib/archetype/sass_extensions/functions/numbers.rb +118 -4
- data/lib/archetype/sass_extensions/functions/strings.rb +53 -0
- data/lib/archetype/sass_extensions/functions/styleguide.rb +43 -375
- data/lib/archetype/sass_extensions/functions/styleguide/components.rb +25 -0
- data/lib/archetype/sass_extensions/functions/styleguide/constants.rb +27 -0
- data/lib/archetype/sass_extensions/functions/styleguide/grammar.rb +80 -0
- data/lib/archetype/sass_extensions/functions/styleguide/helpers.rb +36 -0
- data/lib/archetype/sass_extensions/functions/styleguide/resolve.rb +159 -0
- data/lib/archetype/sass_extensions/functions/styleguide/styles.rb +146 -0
- data/lib/archetype/sass_extensions/functions/styleguide/themes.rb +40 -0
- data/lib/archetype/sass_extensions/functions/ui.rb +7 -57
- data/lib/archetype/sass_extensions/functions/ui/glyphs.rb +118 -0
- data/lib/archetype/sass_extensions/functions/ui/scopes.rb +96 -0
- data/lib/archetype/sass_extensions/functions/util.rb +14 -0
- data/lib/archetype/sass_extensions/functions/util/debug.rb +22 -0
- data/lib/archetype/sass_extensions/functions/util/hacks.rb +44 -0
- data/lib/archetype/sass_extensions/functions/util/images.rb +132 -0
- data/lib/archetype/sass_extensions/functions/util/misc.rb +220 -0
- data/lib/archetype/sass_extensions/functions/util/spacing.rb +83 -0
- data/lib/archetype/sass_extensions/functions/version.rb +12 -17
- data/lib/archetype/version.rb +1 -1
- data/stylesheets/archetype/_config.scss +1 -389
- data/stylesheets/archetype/_core.scss +15 -0
- data/stylesheets/archetype/_hacks.scss +4 -120
- data/stylesheets/archetype/_init.scss +4 -22
- data/stylesheets/archetype/_required.scss +3 -0
- data/stylesheets/archetype/_reset.scss +3 -0
- data/stylesheets/archetype/_styleguide.scss +2 -6
- data/stylesheets/archetype/_ui.scss +2 -358
- data/stylesheets/archetype/_util.scss +3 -10
- data/stylesheets/archetype/config/_core.scss +14 -0
- data/stylesheets/archetype/config/_environment.scss +19 -0
- data/stylesheets/archetype/config/_formatting.scss +63 -0
- data/stylesheets/archetype/config/_glyphs.scss +252 -0
- data/stylesheets/archetype/config/_resets.scss +7 -0
- data/stylesheets/archetype/config/_resolution.scss +3 -0
- data/stylesheets/archetype/config/_spacing.scss +5 -0
- data/stylesheets/archetype/config/_targeting.scss +18 -0
- data/stylesheets/archetype/config/_theme.scss +3 -0
- data/stylesheets/archetype/config/_typography.scss +56 -0
- data/stylesheets/archetype/config/_units.scss +2 -0
- data/stylesheets/archetype/config/_vars.scss +10 -0
- data/stylesheets/archetype/hacks/_core.scss +4 -0
- data/stylesheets/archetype/hacks/_hacks.scss +160 -0
- data/stylesheets/archetype/hacks/_init.scss +2 -0
- data/stylesheets/archetype/styleguide/_core.scss +4 -0
- data/stylesheets/archetype/styleguide/_init.scss +1 -0
- data/stylesheets/archetype/styleguide/_styleguide.scss +41 -18
- data/stylesheets/archetype/ui/_accessibility.scss +41 -0
- data/stylesheets/archetype/ui/_breakpoints.scss +19 -0
- data/stylesheets/archetype/ui/_core.scss +10 -0
- data/stylesheets/archetype/ui/_elements.scss +98 -0
- data/stylesheets/archetype/ui/_glyphs.scss +244 -0
- data/stylesheets/archetype/ui/_init.scss +5 -0
- data/stylesheets/archetype/ui/_layout.scss +37 -0
- data/stylesheets/archetype/ui/_locale.scss +12 -0
- data/stylesheets/archetype/ui/_scopes.scss +42 -0
- data/stylesheets/archetype/util/_core.scss +8 -0
- data/stylesheets/archetype/util/_debug.scss +9 -21
- data/stylesheets/archetype/util/_init.scss +1 -0
- data/stylesheets/archetype/util/_misc.scss +21 -86
- data/stylesheets/archetype/util/_spacing.scss +9 -40
- data/stylesheets/archetype/util/_styles.scss +189 -178
- data/stylesheets/archetype/util/_targeting.scss +51 -68
- data/templates/example/manifest.rb +2 -2
- data/templates/example/screen.scss +0 -1
- data/templates/project/manifest.rb +3 -8
- metadata +93 -263
- data/bin/archetype +0 -3
- data/lib/archetype/sass_extensions/monkey_patches.rb +0 -3
- data/lib/archetype/sass_extensions/monkey_patches/handle_include_loop.rb +0 -13
- data/stylesheets/archetype/_base.scss +0 -54
- data/stylesheets/archetype/_grid.scss +0 -3
- data/stylesheets/archetype/base/_h5bp.scss +0 -307
- data/stylesheets/archetype/base/_hybrid.scss +0 -25
- data/stylesheets/archetype/base/_normalize.scss +0 -634
- data/stylesheets/archetype/base/_reset.scss +0 -72
- data/stylesheets/archetype/grid/_config.scss +0 -14
- data/stylesheets/archetype/grid/_grid.scss +0 -391
- data/stylesheets/archetype/styleguide/_components.scss +0 -25
- data/stylesheets/archetype/styleguide/_helpers.scss +0 -215
- data/stylesheets/archetype/styleguide/_primitives.scss +0 -10
- data/stylesheets/archetype/styleguide/components/_alerts.scss +0 -59
- data/stylesheets/archetype/styleguide/components/_annotations.scss +0 -27
- data/stylesheets/archetype/styleguide/components/_bristol.scss +0 -15
- data/stylesheets/archetype/styleguide/components/_button_groups.scss +0 -47
- data/stylesheets/archetype/styleguide/components/_button_toolbars.scss +0 -17
- data/stylesheets/archetype/styleguide/components/_buttons.scss +0 -339
- data/stylesheets/archetype/styleguide/components/_canvas.scss +0 -15
- data/stylesheets/archetype/styleguide/components/_carets.scss +0 -336
- data/stylesheets/archetype/styleguide/components/_closes.scss +0 -63
- data/stylesheets/archetype/styleguide/components/_container.scss +0 -27
- data/stylesheets/archetype/styleguide/components/_copy.scss +0 -85
- data/stylesheets/archetype/styleguide/components/_flyouts.scss +0 -52
- data/stylesheets/archetype/styleguide/components/_headings.scss +0 -33
- data/stylesheets/archetype/styleguide/components/_headlines.scss +0 -64
- data/stylesheets/archetype/styleguide/components/_hovercards.scss +0 -27
- data/stylesheets/archetype/styleguide/components/_icons.scss +0 -17
- data/stylesheets/archetype/styleguide/components/_identities.scss +0 -34
- data/stylesheets/archetype/styleguide/components/_links.scss +0 -68
- data/stylesheets/archetype/styleguide/components/_loaders.scss +0 -154
- data/stylesheets/archetype/styleguide/components/_menu_items.scss +0 -31
- data/stylesheets/archetype/styleguide/components/_module.scss +0 -15
- data/stylesheets/archetype/styleguide/components/_pullquotes.scss +0 -29
- data/stylesheets/archetype/styleguide/components/_punchcut.scss +0 -18
- data/stylesheets/archetype/styleguide/components/_tooltips.scss +0 -28
- data/stylesheets/archetype/styleguide/primitives/_animations.scss +0 -17
- data/stylesheets/archetype/styleguide/primitives/_dimensions.scss +0 -50
- data/stylesheets/archetype/styleguide/primitives/_glyphs.scss +0 -11
- data/stylesheets/archetype/styleguide/primitives/_misc.scss +0 -8
- data/stylesheets/archetype/styleguide/primitives/_palettes.scss +0 -94
- data/stylesheets/archetype/styleguide/primitives/_shadows.scss +0 -23
- data/stylesheets/archetype/styleguide/primitives/_sprites.scss +0 -46
- data/stylesheets/archetype/styleguide/primitives/_textures.scss +0 -10
- data/stylesheets/archetype/styleguide/primitives/_typography.scss +0 -56
- data/stylesheets/archetype/util/_lists.scss +0 -57
- data/stylesheets/archetype/util/_rtl.scss +0 -279
- data/stylesheets/archetype/util/_units.scss +0 -18
- data/templates/project/screen.scss +0 -1
- data/templates/project/vendor/archetype/animations/loaders/large/large.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/large/large_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small_static.png +0 -0
- data/templates/project/vendor/archetype/fontawesome-webfont.eot +0 -0
- data/templates/project/vendor/archetype/fontawesome-webfont.svg +0 -255
- data/templates/project/vendor/archetype/fontawesome-webfont.ttf +0 -0
- data/templates/project/vendor/archetype/fontawesome-webfont.woff +0 -0
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.eot +0 -0
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.svg +0 -255
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.woff +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders-s7889ccc8c1.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/sprites/hovercard_tip.png +0 -0
- data/test/fixtures/stylesheets/archetype/config.rb +0 -21
- data/test/fixtures/stylesheets/archetype/source/b.scss +0 -9
- data/test/fixtures/stylesheets/archetype/source/base.scss +0 -3
- data/test/fixtures/stylesheets/archetype/source/hacks/ie_pseudo.scss +0 -13
- data/test/fixtures/stylesheets/archetype/source/hacks/transparent_focusable.scss +0 -5
- data/test/fixtures/stylesheets/archetype/source/locale.scss +0 -43
- data/test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss +0 -21
- data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +0 -18
- data/test/fixtures/stylesheets/archetype/source/styleguide/drop.scss +0 -101
- data/test/fixtures/stylesheets/archetype/source/styleguide/extend.scss +0 -24
- data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +0 -23
- data/test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss +0 -85
- data/test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss +0 -18
- data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +0 -40
- data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +0 -22
- data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +0 -35
- data/test/fixtures/stylesheets/archetype/source/ui/hide_element.scss +0 -5
- data/test/fixtures/stylesheets/archetype/source/ui/stroke.scss +0 -13
- data/test/fixtures/stylesheets/archetype/source/ui/triangle.scss +0 -13
- data/test/fixtures/stylesheets/archetype/source/utilities/associative.scss +0 -24
- data/test/fixtures/stylesheets/archetype/source/utilities/custom_output_styler.scss +0 -22
- data/test/fixtures/stylesheets/archetype/source/utilities/if-set.scss +0 -16
- data/test/fixtures/stylesheets/archetype/source/utilities/spacing/horizontal-spacing.scss +0 -27
- data/test/fixtures/stylesheets/archetype/source/utilities/spacing/vertical-spacing.scss +0 -27
- data/test/fixtures/stylesheets/archetype/source/utilities/styles/filter.scss +0 -9
- data/test/fixtures/stylesheets/archetype/source/utilities/styles/font-family.scss +0 -9
- data/test/fixtures/stylesheets/archetype/source/utilities/styles/z-index.scss +0 -18
- data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +0 -77
- data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-os.scss +0 -42
- data/test/fixtures/stylesheets/archetype/tmp/b.css +0 -14
- data/test/fixtures/stylesheets/archetype/tmp/base.css +0 -349
- data/test/fixtures/stylesheets/archetype/tmp/hacks/ie_pseudo.css +0 -11
- data/test/fixtures/stylesheets/archetype/tmp/hacks/transparent_focusable.css +0 -4
- data/test/fixtures/stylesheets/archetype/tmp/locale.css +0 -23
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/alerts.css +0 -711
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/buttons.css +0 -2119
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/drop.css +0 -63
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/extend.css +0 -11
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/fallback_styles.css +0 -10
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/invalid_structures.css +0 -21
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/multi_value.css +0 -13
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/nested_styleguides.css +0 -28
- data/test/fixtures/stylesheets/archetype/tmp/styleguide/selective_state.css +0 -177
- data/test/fixtures/stylesheets/archetype/tmp/ui/glyph_icon.css +0 -127
- data/test/fixtures/stylesheets/archetype/tmp/ui/hide_element.css +0 -8
- data/test/fixtures/stylesheets/archetype/tmp/ui/stroke.css +0 -17
- data/test/fixtures/stylesheets/archetype/tmp/ui/triangle.css +0 -35
- data/test/fixtures/stylesheets/archetype/tmp/utilities/associative.css +0 -9
- data/test/fixtures/stylesheets/archetype/tmp/utilities/custom_output_styler.css +0 -8
- data/test/fixtures/stylesheets/archetype/tmp/utilities/if-set.css +0 -9
- data/test/fixtures/stylesheets/archetype/tmp/utilities/spacing/horizontal-spacing.css +0 -29
- data/test/fixtures/stylesheets/archetype/tmp/utilities/spacing/vertical-spacing.css +0 -29
- data/test/fixtures/stylesheets/archetype/tmp/utilities/styles/filter.css +0 -11
- data/test/fixtures/stylesheets/archetype/tmp/utilities/styles/font-family.css +0 -16
- data/test/fixtures/stylesheets/archetype/tmp/utilities/styles/z-index.css +0 -15
- data/test/fixtures/stylesheets/archetype/tmp/utilities/targeting/target-browser.css +0 -105
- data/test/fixtures/stylesheets/archetype/tmp/utilities/targeting/target-os.css +0 -55
- data/test/helpers/diff.rb +0 -49
- data/test/helpers/io.rb +0 -36
- data/test/helpers/test_case.rb +0 -62
- data/test/integrations/archetype_test.rb +0 -126
- data/test/test_helper.rb +0 -26
- data/test/units/sass_extensions_test.rb +0 -200
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
require 'thread'
|
|
2
|
+
|
|
3
|
+
module Archetype::SassExtensions::Util::Misc
|
|
4
|
+
|
|
5
|
+
#
|
|
6
|
+
# simple test for `null` or `nil` (deprecated) value. this is here for back-compat support with old `nil` syntax
|
|
7
|
+
#
|
|
8
|
+
# *Parameters*:
|
|
9
|
+
# - <tt>$value</tt> {*} the value to test
|
|
10
|
+
# *Returns*:
|
|
11
|
+
# - {Boolean} whether or not the value is null
|
|
12
|
+
#
|
|
13
|
+
def is_null(value)
|
|
14
|
+
return bool(helpers.is_null(value))
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
#
|
|
18
|
+
# converts individual arguments into an archetype meta object that can be stored on a key in a map
|
|
19
|
+
#
|
|
20
|
+
# *Parameters*:
|
|
21
|
+
# - <tt>args...</tt> {*} the values to put into the meta object
|
|
22
|
+
# *Returns*:
|
|
23
|
+
# - {Map} the meta object
|
|
24
|
+
#
|
|
25
|
+
def multiple_values(*args)
|
|
26
|
+
return helpers.array_to_meta(args)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
#
|
|
30
|
+
# decorates a map so that the actual value can be resolved at runtime with the current locale
|
|
31
|
+
#
|
|
32
|
+
# *Parameters*:
|
|
33
|
+
# - <tt>$map</tt> {*} the map to decorate
|
|
34
|
+
# *Returns*:
|
|
35
|
+
# - {Map} the decorated meta object
|
|
36
|
+
#
|
|
37
|
+
def runtime_locale_value(map)
|
|
38
|
+
return helpers.meta_decorate(map, :runtime_locales)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
#
|
|
42
|
+
# given a map with meta data, extract the message and substitute any key-value pairs (@see str-substitute)
|
|
43
|
+
#
|
|
44
|
+
# *Parameters*:
|
|
45
|
+
# - <tt>$map</tt> {Map} the map to observe
|
|
46
|
+
# - <tt>$subsitutes</tt> {Map} the map of substitutes
|
|
47
|
+
# *Returns*:
|
|
48
|
+
# - {String} the meta message
|
|
49
|
+
#
|
|
50
|
+
def meta_message(map, subsitutes = nil)
|
|
51
|
+
message = null
|
|
52
|
+
meta = map_get_meta(map)
|
|
53
|
+
message = str_substitute(map_get(meta, identifier(helpers::META[:message])), subsitutes) if not meta.value.nil?
|
|
54
|
+
return message
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
#
|
|
58
|
+
# check to see if a map key has multiple values
|
|
59
|
+
#
|
|
60
|
+
# *Parameters*:
|
|
61
|
+
# - <tt>$map</tt> {Map} the map to observe
|
|
62
|
+
# *Returns*:
|
|
63
|
+
# - {Boolean} whether or not the map key represents multiple values
|
|
64
|
+
#
|
|
65
|
+
def has_multiple_values(map)
|
|
66
|
+
meta = map_get_meta(map)
|
|
67
|
+
return map_has_key(meta, identifier(helpers::META[:has_multiples])) if not meta.value.nil?
|
|
68
|
+
return bool(false)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
#
|
|
72
|
+
# check to see if a value is decorated with runtime locale values
|
|
73
|
+
#
|
|
74
|
+
# *Parameters*:
|
|
75
|
+
# - <tt>$value</tt> {*} the value to observe
|
|
76
|
+
# *Returns*:
|
|
77
|
+
# - {Boolean} whether or not the map is decorated with runtime locale values
|
|
78
|
+
#
|
|
79
|
+
def has_runtime_locale_value(value)
|
|
80
|
+
meta = map_get_meta(value)
|
|
81
|
+
return map_has_key(meta, identifier(helpers::META[:decorators][:runtime_locales])) if not meta.value.nil?
|
|
82
|
+
return bool(false)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
#
|
|
86
|
+
# retrieve the archetype meta data from a map
|
|
87
|
+
#
|
|
88
|
+
# *Parameters*:
|
|
89
|
+
# - <tt>$map</tt> {Map} the map to observe
|
|
90
|
+
# *Returns*:
|
|
91
|
+
# - {Map} the data contained within the meta key
|
|
92
|
+
#
|
|
93
|
+
def map_get_meta(map)
|
|
94
|
+
if map.is_a?(Sass::Script::Value::Map) and map_has_key(map, identifier(helpers::META[:meta])).value
|
|
95
|
+
return map_get(map, identifier(helpers::META[:meta]))
|
|
96
|
+
end
|
|
97
|
+
return null
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
#
|
|
101
|
+
# given a map of styles, get the derived style of a given property
|
|
102
|
+
#
|
|
103
|
+
# *Parameters*:
|
|
104
|
+
# - <tt>$styles</tt> {Map} the map of styles
|
|
105
|
+
# - <tt>$properties</tt> {String|List} the properties to extract the derived styles for
|
|
106
|
+
# - <tt>$format</tt> {String} the format to return the results in [auto|map|list]
|
|
107
|
+
# - <tt>$strict</tt> {Boolean} if true, will only return an exact match, and not try to extrapolate the value
|
|
108
|
+
# *Returns*:
|
|
109
|
+
# - {List|Map|*} either a list/map of the values or the individual value itself
|
|
110
|
+
#
|
|
111
|
+
def derived_style(styles, properties = [], format = 'auto', strict = false)
|
|
112
|
+
strict = strict.value if strict.respond_to?(:value)
|
|
113
|
+
return Archetype::Functions::CSS.get_derived_styles(helpers.data_to_hash(styles), properties, helpers.to_str(format).to_sym, strict)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
#
|
|
117
|
+
# helper function to prevent routines from executing multiple times
|
|
118
|
+
#
|
|
119
|
+
# *Parameters*:
|
|
120
|
+
# - <tt>$name</tt> {String} identifier to check/register
|
|
121
|
+
# *Returns*:
|
|
122
|
+
# - {Boolean} `true` if the first time invoked, `false` otherwise
|
|
123
|
+
#
|
|
124
|
+
def do_once(name)
|
|
125
|
+
registry = do_once_registry
|
|
126
|
+
# if it's already in the registry, just return `false`
|
|
127
|
+
return bool(false) if do_once_registry.include?(name)
|
|
128
|
+
# update the registry with the identifier
|
|
129
|
+
registry = list(registry.dup.push(name), :comma)
|
|
130
|
+
environment.global_env.set_var('REGISTRY_DO_ONCE', registry)
|
|
131
|
+
# return true
|
|
132
|
+
return bool(true)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
#
|
|
136
|
+
# generate a tag name with a prefix
|
|
137
|
+
#
|
|
138
|
+
# *Parameters*:
|
|
139
|
+
# - <tt>$tag</tt> {String} the tag to prefix
|
|
140
|
+
# - <tt>$prefix</tt> {String} the prefix to prepend to the tag
|
|
141
|
+
# *Returns*:
|
|
142
|
+
# - {String} the prefix joined with the tag
|
|
143
|
+
#
|
|
144
|
+
def prefixed_tag(tag, prefix = environment.var('CONFIG_GENERATED_TAG_PREFIX'))
|
|
145
|
+
tag = tag.value
|
|
146
|
+
tag = "-#{tag}" unless tag.empty?
|
|
147
|
+
prefix = prefix.nil? ? 'x-archetype' : prefix.value
|
|
148
|
+
return identifier("#{prefix}#{tag}")
|
|
149
|
+
end
|
|
150
|
+
Sass::Script::Functions.declare :prefixed_tag, [:tag]
|
|
151
|
+
Sass::Script::Functions.declare :prefixed_tag, [:tag, :prefix]
|
|
152
|
+
|
|
153
|
+
#
|
|
154
|
+
# generate a unique token
|
|
155
|
+
#
|
|
156
|
+
# *Parameters*:
|
|
157
|
+
# - <tt>$prefix</tt> {String} a string to prefix the UID with, `class` and `id` will generate a unique selector
|
|
158
|
+
# *Returns*:
|
|
159
|
+
# - {String} the unique string
|
|
160
|
+
#
|
|
161
|
+
def unique(prefix = '')
|
|
162
|
+
prefix = helpers.to_str(prefix, ' ', :quotes)
|
|
163
|
+
prefix = '.' if prefix == 'class'
|
|
164
|
+
prefix = '#' if prefix == 'id'
|
|
165
|
+
suffix = (defined?(ArchetypeTestHelpers) || defined?(Test::Unit)) ? "RANDOM_UID" : "#{Time.now.to_i}-#{rand(36**8).to_s(36)}-#{uid}"
|
|
166
|
+
return identifier("#{prefix}archetype-uid-#{suffix}")
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
#
|
|
170
|
+
# tokenize a given value
|
|
171
|
+
#
|
|
172
|
+
# *Parameters*:
|
|
173
|
+
# - <tt>$item</tt> {*} the item to generate a unique hash from
|
|
174
|
+
# *Returns*:
|
|
175
|
+
# - {String} a token of the string
|
|
176
|
+
#
|
|
177
|
+
def tokenize(item)
|
|
178
|
+
prefix = helpers.to_str(environment.var('CONFIG_GENERATED_TAG_PREFIX') || Archetype.name) + '-'
|
|
179
|
+
token = prefix + item.hash.to_s
|
|
180
|
+
return identifier(token)
|
|
181
|
+
end
|
|
182
|
+
Sass::Script::Functions.declare :tokenize, [:item]
|
|
183
|
+
|
|
184
|
+
#
|
|
185
|
+
# extracts the value associated with the current locale from the given decorated object
|
|
186
|
+
#
|
|
187
|
+
# *Parameters*:
|
|
188
|
+
# - <tt>$item</tt> {*} the item check against
|
|
189
|
+
# *Returns*:
|
|
190
|
+
# - {*} the value given the current locale
|
|
191
|
+
#
|
|
192
|
+
def get_runtime_locale_value(item)
|
|
193
|
+
item = helpers.hash_to_map(item) if item.is_a?(Hash)
|
|
194
|
+
return item unless has_runtime_locale_value(item).value
|
|
195
|
+
item = map_get(item, identifier('original')).to_h
|
|
196
|
+
best_match = null
|
|
197
|
+
item.each do |lang, value|
|
|
198
|
+
if lang.value == 'default' or locale(lang).value
|
|
199
|
+
best_match = value
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
return best_match
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
private
|
|
206
|
+
|
|
207
|
+
@@archetype_ui_mutex = Mutex.new
|
|
208
|
+
|
|
209
|
+
def uid
|
|
210
|
+
@@archetype_ui_mutex.synchronize do
|
|
211
|
+
@@uid ||= 0
|
|
212
|
+
@@uid += 1
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
def do_once_registry
|
|
217
|
+
(environment.var('REGISTRY_DO_ONCE') || []).to_a
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
module Archetype::SassExtensions::Util::Spacing
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# abstract factor of measurement
|
|
5
|
+
#
|
|
6
|
+
# *Parameters*:
|
|
7
|
+
# - <tt>$number</tt> {Number} unit of measurement
|
|
8
|
+
# - <tt>$abuse</tt> {Boolean} if `false`, $number cannot be a fraction
|
|
9
|
+
# - <tt>$direction</tt> {Boolean} [horizontal|vertical] spacing
|
|
10
|
+
# *Returns*:
|
|
11
|
+
# - {Number} normalized number of measurement
|
|
12
|
+
#
|
|
13
|
+
def _archetype_integerize(number, abuse = bool(false))
|
|
14
|
+
unless unitless(number)
|
|
15
|
+
helpers.warn("[#{Archetype.name}:units] #{number} is not unitless, stripping units")
|
|
16
|
+
number = strip_units(number)
|
|
17
|
+
end
|
|
18
|
+
config = (environment.var('CONFIG_UNIT_FORCE_INT') || bool(false)).value
|
|
19
|
+
if config == 'strict' or !abuse.value
|
|
20
|
+
return ceil(number)
|
|
21
|
+
end
|
|
22
|
+
return number
|
|
23
|
+
end
|
|
24
|
+
Sass::Script::Functions.declare :_archetype_integerize, [:number]
|
|
25
|
+
Sass::Script::Functions.declare :_archetype_integerize, [:number, :abuse]
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# abstract spacing calculations
|
|
29
|
+
#
|
|
30
|
+
# *Parameters*:
|
|
31
|
+
# - <tt>$unit</tt> {Number} unit of measurement
|
|
32
|
+
# - <tt>$direction</tt> {String} [horizontal|vertical] spacing
|
|
33
|
+
# - <tt>$abuse</tt> {Boolean} @see _archetype_integerize
|
|
34
|
+
# *Returns*:
|
|
35
|
+
# - {Number} the calculated spacing
|
|
36
|
+
#
|
|
37
|
+
def _spacing(unit = null, direction = identifier(horizontal), abuse = bool(false))
|
|
38
|
+
return null if is_null(unit).value
|
|
39
|
+
unit = _archetype_integerize(unit, abuse)
|
|
40
|
+
direction = helpers.to_str(direction) == 'vertical' ? 'VERTICAL' : 'HORIZONTAL'
|
|
41
|
+
config = "CONFIG_#{direction}_SPACING"
|
|
42
|
+
spacing = environment.var(config)
|
|
43
|
+
if spacing.nil?
|
|
44
|
+
spacing = number(1, 'px')
|
|
45
|
+
helpers.warn("[#{Archetype.name}:spacing] `#{config}` has not been set")
|
|
46
|
+
end
|
|
47
|
+
return unit.times(spacing)
|
|
48
|
+
end
|
|
49
|
+
Sass::Script::Functions.declare :_spacing, [:unit]
|
|
50
|
+
Sass::Script::Functions.declare :_spacing, [:unit, :direction]
|
|
51
|
+
Sass::Script::Functions.declare :_spacing, [:unit, :abuse]
|
|
52
|
+
Sass::Script::Functions.declare :_spacing, [:unit, :direction, :abuse]
|
|
53
|
+
|
|
54
|
+
#
|
|
55
|
+
# horizontal spacing calculations
|
|
56
|
+
#
|
|
57
|
+
# *Parameters*:
|
|
58
|
+
# - <tt>$unit</tt> {Number} unit of measurement
|
|
59
|
+
# - <tt>$abuse</tt> {Boolean} @see _archetype_integerize
|
|
60
|
+
# *Returns*:
|
|
61
|
+
# - {Number} the calculated horizontal spacing
|
|
62
|
+
#
|
|
63
|
+
def horizontal_spacing(unit, abuse = bool(false))
|
|
64
|
+
return _spacing(unit, null, abuse)
|
|
65
|
+
end
|
|
66
|
+
Sass::Script::Functions.declare :horizontal_spacing, [:unit]
|
|
67
|
+
Sass::Script::Functions.declare :horizontal_spacing, [:unit, :abuse]
|
|
68
|
+
|
|
69
|
+
#
|
|
70
|
+
# vertical spacing calculations
|
|
71
|
+
#
|
|
72
|
+
# *Parameters*:
|
|
73
|
+
# - <tt>$unit</tt> {Number} unit of measurement
|
|
74
|
+
# - <tt>$abuse</tt> {Boolean} @see _archetype_integerize
|
|
75
|
+
# *Returns*:
|
|
76
|
+
# - {Number} the calculated vertical spacing
|
|
77
|
+
#
|
|
78
|
+
def vertical_spacing(unit, abuse = bool(false))
|
|
79
|
+
return _spacing(unit, 'vertical', abuse)
|
|
80
|
+
end
|
|
81
|
+
Sass::Script::Functions.declare :vertical_spacing, [:unit]
|
|
82
|
+
Sass::Script::Functions.declare :vertical_spacing, [:unit, :abuse]
|
|
83
|
+
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
require
|
|
3
|
-
|
|
4
|
-
require 'sass/version'
|
|
1
|
+
%w(archetype compass sass).each do |framework|
|
|
2
|
+
require "#{framework}/version"
|
|
3
|
+
end
|
|
5
4
|
|
|
6
5
|
#
|
|
7
6
|
# This module provides an interface for testing against various framework version
|
|
@@ -21,27 +20,23 @@ module Archetype::SassExtensions::Version
|
|
|
21
20
|
# - {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
21
|
#
|
|
23
22
|
def archetype_version(test = nil)
|
|
24
|
-
test = test.nil? ?
|
|
25
|
-
lib =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
test = test.nil? ? Archetype.name : helpers.to_str(test, ' ', :quotes).downcase
|
|
24
|
+
lib = case test
|
|
25
|
+
when /compass/
|
|
26
|
+
Compass::VERSION
|
|
27
|
+
when /sass/
|
|
28
|
+
Sass::VERSION
|
|
30
29
|
else
|
|
31
|
-
|
|
30
|
+
Archetype::VERSION
|
|
32
31
|
end
|
|
33
32
|
# strip off any non-official versioning (e.g. pre/alpha/rc)
|
|
34
33
|
lib = lib.match(VERSION_PATTERN)[0]
|
|
35
34
|
result = compare_version(lib, test.match(VERSION_PATTERN), test.match(COMPARATOR_PATTERN))
|
|
36
|
-
return
|
|
35
|
+
return identifier(lib) if result.nil?
|
|
37
36
|
return Sass::Script::Bool.new(result)
|
|
38
37
|
end
|
|
39
38
|
|
|
40
39
|
private
|
|
41
|
-
def helpers
|
|
42
|
-
@helpers ||= Archetype::Functions::Helpers
|
|
43
|
-
end
|
|
44
|
-
|
|
45
40
|
#
|
|
46
41
|
# compare a version of a framework
|
|
47
42
|
#
|
|
@@ -82,7 +77,7 @@ private
|
|
|
82
77
|
# *Parameters*:
|
|
83
78
|
# - <tt>$version</tt> {String} the version string
|
|
84
79
|
# *Returns*:
|
|
85
|
-
# - {Number} a weighted number representing the
|
|
80
|
+
# - {Number} a weighted number representing the version
|
|
86
81
|
#
|
|
87
82
|
def version_value(version)
|
|
88
83
|
sum = 0
|
data/lib/archetype/version.rb
CHANGED
|
@@ -1,389 +1 @@
|
|
|
1
|
-
|
|
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
|
-
$CONFIG_GENERATED_TAG_INLINE: true !default; // if `true` insert the styles inline on the generated tag, otherwise insert the styles in a unique css rule
|
|
44
|
-
|
|
45
|
-
// z-layers
|
|
46
|
-
$CONFIG_Z_INDEX_BASE: 0 !default; // the default starting layer for z-index calculations
|
|
47
|
-
$CONFIG_Z_LAYERS_OFFSET: 100 !default; // the offset between z-layers
|
|
48
|
-
$CONFIG_Z_LAYERS: (default dialog navigation) !default; // the orders for the z-layers
|
|
49
|
-
|
|
50
|
-
// compass
|
|
51
|
-
$COMPASS_RTL_SUPPORT: false !default; // does your Compass version support RTL? set to true if Compass mixins support RTL
|
|
52
|
-
|
|
53
|
-
// sprites
|
|
54
|
-
$CONFIG_DISABLE_STYLEGUIDE_SPRITES: false !default; // disable all sprite generation in styleguide
|
|
55
|
-
|
|
56
|
-
// keyframe animations
|
|
57
|
-
$CONFIG_KEYFRAMES_AUTO: $CONFIG_RESET_AUTO !default; // whether or not to auto generate the keyframe animations
|
|
58
|
-
$CONFIG_KEYFRAME_LOADERS: archetype-loader !default; // loading spinner keyframe name
|
|
59
|
-
|
|
60
|
-
// glyphs
|
|
61
|
-
$CONFIG_GLYPHS_NAME: FontAwesome !default; // name for the font-face
|
|
62
|
-
$CONFIG_GLYPHS_VERSION: '0.0.1' !default; // the glyph library version number
|
|
63
|
-
$CONFIG_GLYPHS_SVG_ID: $CONFIG_GLYPHS_NAME !default;
|
|
64
|
-
$CONFIG_GLYPHS_BASE_PATH: 'vendor/archetype/fontawesome-webfont' !default; // generic path to all glyph fonts (sans extensions)
|
|
65
|
-
$CONFIG_GLYPHS_EOT: '#{$CONFIG_GLYPHS_BASE_PATH}.eot' !default;
|
|
66
|
-
$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;
|
|
67
|
-
$CONFIG_GLYPHS_WEIGHT: normal !default; // font-weight for glyphs
|
|
68
|
-
$CONFIG_GLYPHS_STYLE: normal !default; // font-style for glyphs
|
|
69
|
-
$CONFIG_GLYPHS_THRESHOLD: 16px !default; // the threshold to switch to halfling characters, if available
|
|
70
|
-
$CONFIG_GLYPHS_AUTO: $CONFIG_RESET_AUTO !default; // whether or not to auto generate the font-face definition for the glyph font
|
|
71
|
-
// FontAwesome icon mappings as of 2012/11/03
|
|
72
|
-
$CORE_GLYPHS_MAPPINGS: (
|
|
73
|
-
glass '\f000',
|
|
74
|
-
music '\f001',
|
|
75
|
-
search '\f002',
|
|
76
|
-
envelope '\f003',
|
|
77
|
-
heart '\f004',
|
|
78
|
-
star '\f005',
|
|
79
|
-
star-empty '\f006',
|
|
80
|
-
user '\f007',
|
|
81
|
-
film '\f008',
|
|
82
|
-
th-large '\f009',
|
|
83
|
-
th '\f00a',
|
|
84
|
-
th-list '\f00b',
|
|
85
|
-
ok '\f00c',
|
|
86
|
-
remove '\f00d',
|
|
87
|
-
zoom-in '\f00e',
|
|
88
|
-
zoom-out '\f010',
|
|
89
|
-
off '\f011',
|
|
90
|
-
signal '\f012',
|
|
91
|
-
cog '\f013',
|
|
92
|
-
trash '\f014',
|
|
93
|
-
home '\f015',
|
|
94
|
-
file '\f016',
|
|
95
|
-
time '\f017',
|
|
96
|
-
road '\f018',
|
|
97
|
-
download-alt '\f019',
|
|
98
|
-
download '\f01a',
|
|
99
|
-
upload '\f01b',
|
|
100
|
-
inbox '\f01c',
|
|
101
|
-
play-circle '\f01d',
|
|
102
|
-
repeat '\f01e',
|
|
103
|
-
|
|
104
|
-
refresh '\f021',
|
|
105
|
-
list-alt '\f022',
|
|
106
|
-
lock '\f023',
|
|
107
|
-
flag '\f024',
|
|
108
|
-
headphones '\f025',
|
|
109
|
-
volume-off '\f026',
|
|
110
|
-
volume-down '\f027',
|
|
111
|
-
volume-up '\f028',
|
|
112
|
-
qrcode '\f029',
|
|
113
|
-
barcode '\f02a',
|
|
114
|
-
tag '\f02b',
|
|
115
|
-
tags '\f02c',
|
|
116
|
-
book '\f02d',
|
|
117
|
-
bookmark '\f02e',
|
|
118
|
-
print '\f02f',
|
|
119
|
-
|
|
120
|
-
camera '\f030',
|
|
121
|
-
font '\f031',
|
|
122
|
-
bold '\f032',
|
|
123
|
-
italic '\f033',
|
|
124
|
-
text-height '\f034',
|
|
125
|
-
text-width '\f035',
|
|
126
|
-
align-left '\f036',
|
|
127
|
-
align-center '\f037',
|
|
128
|
-
align-right '\f038',
|
|
129
|
-
align-justify '\f039',
|
|
130
|
-
list '\f03a',
|
|
131
|
-
indent-left '\f03b',
|
|
132
|
-
indent-right '\f03c',
|
|
133
|
-
facetime-video '\f03d',
|
|
134
|
-
picture '\f03e',
|
|
135
|
-
|
|
136
|
-
pencil '\f040',
|
|
137
|
-
map-marker '\f041',
|
|
138
|
-
adjust '\f042',
|
|
139
|
-
tint '\f043',
|
|
140
|
-
edit '\f044',
|
|
141
|
-
share '\f045',
|
|
142
|
-
check '\f046',
|
|
143
|
-
move '\f047',
|
|
144
|
-
step-backward '\f048',
|
|
145
|
-
fast-backward '\f049',
|
|
146
|
-
backward '\f04a',
|
|
147
|
-
play '\f04b',
|
|
148
|
-
pause '\f04c',
|
|
149
|
-
stop '\f04d',
|
|
150
|
-
forward '\f04e',
|
|
151
|
-
|
|
152
|
-
fast-forward '\f050',
|
|
153
|
-
step-forward '\f051',
|
|
154
|
-
eject '\f052',
|
|
155
|
-
chevron-left '\f053',
|
|
156
|
-
chevron-right '\f054',
|
|
157
|
-
plus-sign '\f055',
|
|
158
|
-
minus-sign '\f056',
|
|
159
|
-
remove-sign '\f057',
|
|
160
|
-
ok-sign '\f058',
|
|
161
|
-
question-sign '\f059',
|
|
162
|
-
info-sign '\f05a',
|
|
163
|
-
screenshot '\f05b',
|
|
164
|
-
remove-circle '\f05c',
|
|
165
|
-
ok-circle '\f05d',
|
|
166
|
-
ban-circle '\f05e',
|
|
167
|
-
|
|
168
|
-
arrow-left '\f060',
|
|
169
|
-
arrow-right '\f061',
|
|
170
|
-
arrow-up '\f062',
|
|
171
|
-
arrow-down '\f063',
|
|
172
|
-
share-alt '\f064',
|
|
173
|
-
resize-full '\f065',
|
|
174
|
-
resize-small '\f066',
|
|
175
|
-
plus '\f067',
|
|
176
|
-
minus '\f068',
|
|
177
|
-
asterisk '\f069',
|
|
178
|
-
exclamation-sign '\f06a',
|
|
179
|
-
gift '\f06b',
|
|
180
|
-
leaf '\f06c',
|
|
181
|
-
fire '\f06d',
|
|
182
|
-
eye-open '\f06e',
|
|
183
|
-
|
|
184
|
-
eye-close '\f070',
|
|
185
|
-
warning-sign '\f071',
|
|
186
|
-
plane '\f072',
|
|
187
|
-
calendar '\f073',
|
|
188
|
-
random '\f074',
|
|
189
|
-
comment '\f075',
|
|
190
|
-
magnet '\f076',
|
|
191
|
-
chevron-up '\f077',
|
|
192
|
-
chevron-down '\f078',
|
|
193
|
-
retweet '\f079',
|
|
194
|
-
shopping-cart '\f07a',
|
|
195
|
-
folder-close '\f07b',
|
|
196
|
-
folder-open '\f07c',
|
|
197
|
-
resize-vertical '\f07d',
|
|
198
|
-
resize-horizontal '\f07e',
|
|
199
|
-
|
|
200
|
-
bar-chart '\f080',
|
|
201
|
-
twitter-sign '\f081',
|
|
202
|
-
facebook-sign '\f082',
|
|
203
|
-
camera-retro '\f083',
|
|
204
|
-
key '\f084',
|
|
205
|
-
cogs '\f085',
|
|
206
|
-
comments '\f086',
|
|
207
|
-
thumbs-up '\f087',
|
|
208
|
-
thumbs-down '\f088',
|
|
209
|
-
star-half '\f089',
|
|
210
|
-
heart-empty '\f08a',
|
|
211
|
-
signout '\f08b',
|
|
212
|
-
linkedin-sign '\f08c',
|
|
213
|
-
pushpin '\f08d',
|
|
214
|
-
external-link '\f08e',
|
|
215
|
-
|
|
216
|
-
signin '\f090',
|
|
217
|
-
trophy '\f091',
|
|
218
|
-
github-sign '\f092',
|
|
219
|
-
upload-alt '\f093',
|
|
220
|
-
lemon '\f094',
|
|
221
|
-
phone '\f095',
|
|
222
|
-
check-empty '\f096',
|
|
223
|
-
bookmark-empty '\f097',
|
|
224
|
-
phone-sign '\f098',
|
|
225
|
-
twitter '\f099',
|
|
226
|
-
facebook '\f09a',
|
|
227
|
-
github '\f09b',
|
|
228
|
-
unlock '\f09c',
|
|
229
|
-
credit-card '\f09d',
|
|
230
|
-
rss '\f09e',
|
|
231
|
-
|
|
232
|
-
hdd '\f0a0',
|
|
233
|
-
bullhorn '\f0a1',
|
|
234
|
-
bell '\f0a2',
|
|
235
|
-
certificate '\f0a3',
|
|
236
|
-
hand-right '\f0a4',
|
|
237
|
-
hand-left '\f0a5',
|
|
238
|
-
hand-up '\f0a6',
|
|
239
|
-
hand-down '\f0a7',
|
|
240
|
-
circle-arrow-left '\f0a8',
|
|
241
|
-
circle-arrow-right '\f0a9',
|
|
242
|
-
circle-arrow-up '\f0aa',
|
|
243
|
-
circle-arrow-down '\f0ab',
|
|
244
|
-
globe '\f0ac',
|
|
245
|
-
wrench '\f0ad',
|
|
246
|
-
tasks '\f0ae',
|
|
247
|
-
|
|
248
|
-
filter '\f0b0',
|
|
249
|
-
briefcase '\f0b1',
|
|
250
|
-
fullscreen '\f0b2',
|
|
251
|
-
|
|
252
|
-
group '\f0c0',
|
|
253
|
-
link '\f0c1',
|
|
254
|
-
cloud '\f0c2',
|
|
255
|
-
beaker '\f0c3',
|
|
256
|
-
cut '\f0c4',
|
|
257
|
-
copy '\f0c5',
|
|
258
|
-
paper-clip '\f0c6',
|
|
259
|
-
save '\f0c7',
|
|
260
|
-
sign-blank '\f0c8',
|
|
261
|
-
reorder '\f0c9',
|
|
262
|
-
list-ul '\f0ca',
|
|
263
|
-
list-ol '\f0cb',
|
|
264
|
-
strikethrough '\f0cc',
|
|
265
|
-
underline '\f0cd',
|
|
266
|
-
table '\f0ce',
|
|
267
|
-
|
|
268
|
-
magic '\f0d0',
|
|
269
|
-
truck '\f0d1',
|
|
270
|
-
pinterest '\f0d2',
|
|
271
|
-
pinterest-sign '\f0d3',
|
|
272
|
-
google-plus-sign '\f0d4',
|
|
273
|
-
google-plus '\f0d5',
|
|
274
|
-
money '\f0d6',
|
|
275
|
-
caret-down '\f0d7',
|
|
276
|
-
caret-up '\f0d8',
|
|
277
|
-
caret-left '\f0d9',
|
|
278
|
-
caret-right '\f0da',
|
|
279
|
-
columns '\f0db',
|
|
280
|
-
sort '\f0dc',
|
|
281
|
-
sort-down '\f0dd',
|
|
282
|
-
sort-up '\f0de',
|
|
283
|
-
|
|
284
|
-
envelope-alt '\f0e0',
|
|
285
|
-
linkedin '\f0e1',
|
|
286
|
-
undo '\f0e2',
|
|
287
|
-
legal '\f0e3',
|
|
288
|
-
dashboard '\f0e4',
|
|
289
|
-
comment-alt '\f0e5',
|
|
290
|
-
comments-alt '\f0e6',
|
|
291
|
-
bolt '\f0e7',
|
|
292
|
-
sitemap '\f0e8',
|
|
293
|
-
umbrella '\f0e9',
|
|
294
|
-
paste '\f0ea',
|
|
295
|
-
|
|
296
|
-
user-md '\f200'
|
|
297
|
-
);
|
|
298
|
-
$CONFIG_GLYPHS_MAPPINGS: () !default;
|
|
299
|
-
$CONFIG_GLYPHS_MAPPINGS: associative-merge($CORE_GLYPHS_MAPPINGS, $CONFIG_GLYPHS_MAPPINGS);
|
|
300
|
-
|
|
301
|
-
// browser targeting
|
|
302
|
-
$CONFIG_BROWSER_VENDORS_CLASS: (ie) !default; // a list of browsers to support via class targeting
|
|
303
|
-
$CONFIG_BROWSER_ALLOW_HACKS: true !default; // if set to true, allow browser targeting hacks
|
|
304
|
-
$CONFIG_BROWSER_WARN_ON_HACK: false !default; // if hacks are used, throw a warning
|
|
305
|
-
// this is an associative list for various hacks
|
|
306
|
-
$CONFIG_BROWSER_VENDORS_HACK: (
|
|
307
|
-
(webkit-all, safari webkit chrome),
|
|
308
|
-
(gecko-all, firefox gecko mozilla),
|
|
309
|
-
(opera-all, opera) // NOTE: this may stop working once Opera switches over to using WebKit/Blink
|
|
310
|
-
) !default;
|
|
311
|
-
|
|
312
|
-
// os targeting
|
|
313
|
-
$CONFIG_OS_VENDORS_CLASS: (
|
|
314
|
-
(os-win, windows win winxp win7 win8),
|
|
315
|
-
(os-mac, apple mac osx),
|
|
316
|
-
(os-linux, linux),
|
|
317
|
-
(os-other, other misc unknown)
|
|
318
|
-
) !default;
|
|
319
|
-
|
|
320
|
-
// os/language safe font stacks
|
|
321
|
-
// these are core font definitions, these will be extended with whatever is in $CONFIG_SAFE_FONTS
|
|
322
|
-
$CORE_SAFE_FONTS: (
|
|
323
|
-
(sans-serif, (
|
|
324
|
-
(default, (
|
|
325
|
-
(default (sans-serif)),
|
|
326
|
-
(ko_KR ('Malgun Gothic', default)),
|
|
327
|
-
(zh_TW (SimSun, default)),
|
|
328
|
-
(zh_CN (SimSun, default)),
|
|
329
|
-
(th_TH (Tahoma, default)),
|
|
330
|
-
(ar_AE (Tahoma, Arial, 'Times New Roman', default))
|
|
331
|
-
)),
|
|
332
|
-
(win, (
|
|
333
|
-
(default (Arial, sans-serif)),
|
|
334
|
-
(ja_JP (メイリオ, Meiryo, 'MS Pゴシック', 'MS PGothic', default)),
|
|
335
|
-
(zh_TW (default, '微軟正黑體', 'Microsoft JhengHei', PMingLiu, '宋体', SimSun)),
|
|
336
|
-
(zh_CN (Arial, '华文细黑', 'STHeiti Light', '微软雅黑体', 'Microsoft Yahei', '新宋体', NSimSun, '宋体', SimSun)), // Heiti/Yahei not showing up in Chrome and FF in windows. Removal of sans-serif fixes it.
|
|
337
|
-
(th_TH nil),
|
|
338
|
-
(ko_KR nil),
|
|
339
|
-
(ar_AE nil)
|
|
340
|
-
)),
|
|
341
|
-
(mac, (
|
|
342
|
-
(default (Helvetica, Arial, sans-serif)),
|
|
343
|
-
(zh_TW (default, '黑體-繁', 'Heiti TC', '儷黑Pro', 'LiHei Pro', PMingLiu, '宋体', SimSun)),
|
|
344
|
-
(zh_CN (default, '黑体-简', 'Heiti SC', '华文细黑', 'STHeiti Light', '华文黑体', STHeiti)),
|
|
345
|
-
(ja_JP ('Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'MS Pゴシック', 'MS PGothic', default)),
|
|
346
|
-
(th_TH nil),
|
|
347
|
-
(ko_KR nil),
|
|
348
|
-
(ar_AE nil)
|
|
349
|
-
)),
|
|
350
|
-
(linux, (
|
|
351
|
-
(default (Helvetica, FreeSans, 'Liberation Sans', Helmet, Arial, sans-serif)),
|
|
352
|
-
(zh_TW (default, PMingLiu, '宋体', SimSun)),
|
|
353
|
-
(zh_CN (default, '新宋体', NSimSun, '宋体', SimSun)),
|
|
354
|
-
(ja_JP nil),
|
|
355
|
-
(th_TH nil),
|
|
356
|
-
(ko_KR nil),
|
|
357
|
-
(ar_AE nil)
|
|
358
|
-
))
|
|
359
|
-
)),
|
|
360
|
-
(serif, (
|
|
361
|
-
(default, (
|
|
362
|
-
(default (Georgia, serif)),
|
|
363
|
-
(CJK nil) // dont use any serif fonts in CJK langs
|
|
364
|
-
)),
|
|
365
|
-
nil
|
|
366
|
-
)),
|
|
367
|
-
(monospace, (
|
|
368
|
-
(default, (
|
|
369
|
-
(default (Menlo, Monaco, Consolas, 'Courier New', monospace)),
|
|
370
|
-
nil
|
|
371
|
-
)),
|
|
372
|
-
nil
|
|
373
|
-
)),
|
|
374
|
-
(headline, (
|
|
375
|
-
(default, (
|
|
376
|
-
(default nil), // by default, dont style headlines differently
|
|
377
|
-
(ar_AE ('Droid Arabic Naskh')) // TODO: need to include the webfont
|
|
378
|
-
)),
|
|
379
|
-
nil
|
|
380
|
-
))
|
|
381
|
-
); // note that this declaration isn't a `default`, but rather is enforced everytime. this can be modified (via extending $CONFIG_SAFE_FONTS)
|
|
382
|
-
$CONFIG_SAFE_FONTS: () !default;
|
|
383
|
-
$CONFIG_SAFE_FONTS: associative-merge($CORE_SAFE_FONTS, $CONFIG_SAFE_FONTS);
|
|
384
|
-
|
|
385
|
-
$archetype-glyph-selector: false !default;
|
|
386
|
-
$archetype-pseudo-selector: false !default;
|
|
387
|
-
|
|
388
|
-
$CORE_GLYPH_SELECTOR_VAR: '$archetype-glyph-selector';
|
|
389
|
-
$CORE_GLYPH_SELECTOR_VAR: '$archetype-pseudo-selector';
|
|
1
|
+
@import "config/core";
|