flint-gs 1.7.1 → 1.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -21
- data/README.md +906 -906
- data/lib/flint.rb +67 -77
- data/stylesheets/_flint.scss +6 -6
- data/stylesheets/flint/config/_config.scss +83 -83
- data/stylesheets/flint/functions/_functions.scss +40 -41
- data/stylesheets/flint/functions/helpers/_helpers.scss +181 -181
- data/stylesheets/flint/functions/lib/_calc-breakpoint.scss +33 -33
- data/stylesheets/flint/functions/lib/_calc-margin.scss +57 -57
- data/stylesheets/flint/functions/lib/_calc-width.scss +50 -50
- data/stylesheets/flint/functions/lib/_exists.scss +22 -22
- data/stylesheets/flint/functions/lib/_fluid-width.scss +10 -10
- data/stylesheets/flint/functions/lib/_get-index.scss +13 -13
- data/stylesheets/flint/functions/lib/_get-instance-value.scss +17 -17
- data/stylesheets/flint/functions/lib/_get-value.scss +14 -14
- data/stylesheets/flint/functions/lib/_has-family-instance.scss +74 -74
- data/stylesheets/flint/functions/lib/_instance.scss +46 -46
- data/stylesheets/flint/functions/lib/_last.scss +9 -9
- data/stylesheets/flint/functions/lib/_list-to-string.scss +25 -25
- data/stylesheets/flint/functions/lib/_map-fetch.scss +30 -30
- data/stylesheets/flint/functions/lib/_next-index.scss +15 -15
- data/stylesheets/flint/functions/lib/_purge.scss +19 -19
- data/stylesheets/flint/functions/lib/_remove.scss +13 -13
- data/stylesheets/flint/functions/lib/_replace-substring.scss +34 -34
- data/stylesheets/flint/functions/lib/_replace.scss +25 -25
- data/stylesheets/flint/functions/lib/_steal-key.scss +13 -13
- data/stylesheets/flint/functions/lib/_steal-values.scss +14 -14
- data/stylesheets/flint/functions/lib/_string-to-list.scss +90 -90
- data/stylesheets/flint/functions/lib/_support-syntax-bem.scss +31 -31
- data/stylesheets/flint/functions/lib/_support-syntax.scss +28 -28
- data/stylesheets/flint/functions/lib/_types-in-list.scss +119 -119
- data/stylesheets/flint/functions/lib/_use-syntax.scss +14 -14
- data/stylesheets/flint/globals/_globals.scss +38 -38
- data/stylesheets/flint/mixins/_mixins.scss +7 -7
- data/stylesheets/flint/mixins/lib/_calculate.scss +571 -571
- data/stylesheets/flint/mixins/lib/_clearfix.scss +19 -19
- data/stylesheets/flint/mixins/lib/_main.scss +935 -935
- data/stylesheets/flint/mixins/lib/_new-instance.scss +27 -27
- data/stylesheets/flint/mixins/lib/_print-instance.scss +42 -42
- metadata +16 -23
- data/stylesheets/flint/functions/lib/_string-to-number.scss +0 -77
data/lib/flint.rb
CHANGED
@@ -1,77 +1,67 @@
|
|
1
|
-
require 'compass'
|
2
|
-
|
3
|
-
extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
4
|
-
Compass::Frameworks.register('flint', :path => extension_path)
|
5
|
-
|
6
|
-
# Date is in the form of YYYY-MM-DD
|
7
|
-
module Flint
|
8
|
-
VERSION = "1.7.
|
9
|
-
DATE = "2014-07-
|
10
|
-
end
|
11
|
-
|
12
|
-
# Custom functions
|
13
|
-
module Sass::Script::Functions
|
14
|
-
|
15
|
-
# Use ruby functions
|
16
|
-
# ----
|
17
|
-
def flint_use_ruby()
|
18
|
-
Sass::Script::Bool.new(true)
|
19
|
-
end
|
20
|
-
|
21
|
-
# Returns stringified selector
|
22
|
-
# ----
|
23
|
-
# @return [string]
|
24
|
-
def selector_string()
|
25
|
-
Sass::Script::String.new(environment.selector.to_s)
|
26
|
-
end
|
27
|
-
|
28
|
-
# Turns string into a flat list
|
29
|
-
# ----
|
30
|
-
# @param string [string] : string
|
31
|
-
# @param separator [string] : item to find which separates substrings
|
32
|
-
# @param ignore [string] : removes remaining string beyond item
|
33
|
-
# ----
|
34
|
-
# @return [list] | error
|
35
|
-
def string_to_list(string, separator, ignore)
|
36
|
-
# Remove rest of string after ignore
|
37
|
-
ignore = string.value[/[^#{ignore}]+/]
|
38
|
-
# Get first set of strings, convert to array by separator
|
39
|
-
items = ignore.split(separator.value)
|
40
|
-
# Convert array to list
|
41
|
-
if items.count == 1
|
42
|
-
Sass::Script::String.new(items[0], :comma)
|
43
|
-
else
|
44
|
-
Sass::Script::List.new(items.map { |i| Sass::Script::String.new(i) }, :comma)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# Replace substring
|
49
|
-
# ----
|
50
|
-
# @param string [string] : string that contains substring
|
51
|
-
# @param find [string] : substring to replace
|
52
|
-
# @param replace [string] : new string to replace sub with
|
53
|
-
# ----
|
54
|
-
# @return [string]
|
55
|
-
def replace_substring(string, find, replace)
|
56
|
-
# Assert types
|
57
|
-
assert_type string, :String
|
58
|
-
assert_type find, :String
|
59
|
-
assert_type replace, :String
|
60
|
-
# Return new string
|
61
|
-
Sass::Script::String.new(string.value.gsub(find.value, replace.value))
|
62
|
-
end
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
# @return [number]
|
69
|
-
def string_to_number(string)
|
70
|
-
Sass::Script::Number.new(string.value.to_i)
|
71
|
-
end
|
72
|
-
|
73
|
-
declare :string_to_list, [:string, :separator, :ignore]
|
74
|
-
declare :replace_substring, [:string, :find, :replace]
|
75
|
-
declare :string_to_number, [:string]
|
76
|
-
|
77
|
-
end
|
1
|
+
require 'compass'
|
2
|
+
|
3
|
+
extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
4
|
+
Compass::Frameworks.register('flint', :path => extension_path)
|
5
|
+
|
6
|
+
# Date is in the form of YYYY-MM-DD
|
7
|
+
module Flint
|
8
|
+
VERSION = "1.7.2"
|
9
|
+
DATE = "2014-07-14"
|
10
|
+
end
|
11
|
+
|
12
|
+
# Custom functions
|
13
|
+
module Sass::Script::Functions
|
14
|
+
|
15
|
+
# Use ruby functions
|
16
|
+
# ----
|
17
|
+
def flint_use_ruby()
|
18
|
+
Sass::Script::Bool.new(true)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Returns stringified selector
|
22
|
+
# ----
|
23
|
+
# @return [string]
|
24
|
+
def selector_string()
|
25
|
+
Sass::Script::String.new(environment.selector.to_s)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Turns string into a flat list
|
29
|
+
# ----
|
30
|
+
# @param string [string] : string
|
31
|
+
# @param separator [string] : item to find which separates substrings
|
32
|
+
# @param ignore [string] : removes remaining string beyond item
|
33
|
+
# ----
|
34
|
+
# @return [list] | error
|
35
|
+
def string_to_list(string, separator, ignore)
|
36
|
+
# Remove rest of string after ignore
|
37
|
+
ignore = string.value[/[^#{ignore}]+/]
|
38
|
+
# Get first set of strings, convert to array by separator
|
39
|
+
items = ignore.split(separator.value)
|
40
|
+
# Convert array to list
|
41
|
+
if items.count == 1
|
42
|
+
Sass::Script::String.new(items[0], :comma)
|
43
|
+
else
|
44
|
+
Sass::Script::List.new(items.map { |i| Sass::Script::String.new(i) }, :comma)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Replace substring
|
49
|
+
# ----
|
50
|
+
# @param string [string] : string that contains substring
|
51
|
+
# @param find [string] : substring to replace
|
52
|
+
# @param replace [string] : new string to replace sub with
|
53
|
+
# ----
|
54
|
+
# @return [string]
|
55
|
+
def replace_substring(string, find, replace)
|
56
|
+
# Assert types
|
57
|
+
assert_type string, :String
|
58
|
+
assert_type find, :String
|
59
|
+
assert_type replace, :String
|
60
|
+
# Return new string
|
61
|
+
Sass::Script::String.new(string.value.gsub(find.value, replace.value))
|
62
|
+
end
|
63
|
+
|
64
|
+
declare :string_to_list, [:string, :separator, :ignore]
|
65
|
+
declare :replace_substring, [:string, :find, :replace]
|
66
|
+
|
67
|
+
end
|
data/stylesheets/_flint.scss
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
// Flint
|
2
|
-
// ----
|
3
|
-
@import "flint/config/config";
|
4
|
-
@import "flint/functions/functions";
|
5
|
-
@import "flint/globals/globals";
|
6
|
-
@import "flint/mixins/mixins";
|
1
|
+
// Flint
|
2
|
+
// ----
|
3
|
+
@import "flint/config/config";
|
4
|
+
@import "flint/functions/functions";
|
5
|
+
@import "flint/globals/globals";
|
6
|
+
@import "flint/mixins/mixins";
|
@@ -1,83 +1,83 @@
|
|
1
|
-
// Configuration map
|
2
|
-
// -------------------------------------------------------------------------------
|
3
|
-
// @param breakpoint [map] : Here you can set up your various breakpoints for your
|
4
|
-
// project. Any number of breakpoints is acceptable. You must include a column
|
5
|
-
// count and breakpoint value for each listed breakpoint. The order does have
|
6
|
-
// to follow a `DESC` order. Unit (px | em) chosen here must be used consistently
|
7
|
-
// throughout the rest of the config map.
|
8
|
-
// -------------------------------------------------------------------------------
|
9
|
-
// @param default [string] : alias of breakpoint that is your grid default
|
10
|
-
// @param grid [string] : style of grid
|
11
|
-
// @param gutter [number | false] : contextual size of gutter
|
12
|
-
// @param float-style [number | false] : float direction
|
13
|
-
// @param max-width [number | bool] : max-width for containers
|
14
|
-
// @param center-container [bool] : if you want a centered container
|
15
|
-
// @param border-box-sizing [bool] : if you want box-sizing: border-box applied
|
16
|
-
// @param support-syntax [string | false] : syntax to support
|
17
|
-
// @param debug-mode [bool] : ouputs debug properties
|
18
|
-
// -------------------------------------------------------------------------------
|
19
|
-
|
20
|
-
$flint: (
|
21
|
-
|
22
|
-
// Grid configuration
|
23
|
-
"config": (
|
24
|
-
|
25
|
-
// Define breakpoints [any amount of breakpoints]
|
26
|
-
// Any alias you like, minus reserved Flint words [i.e. "settings", "config", etc.]
|
27
|
-
"desktop": (
|
28
|
-
|
29
|
-
// Options: 0-infinity
|
30
|
-
"columns": 16,
|
31
|
-
|
32
|
-
// Options: number[unit]
|
33
|
-
"breakpoint": 80em,
|
34
|
-
),
|
35
|
-
|
36
|
-
// Same applies for other breakpoints
|
37
|
-
// ----
|
38
|
-
// Remember, you're not fixed to just 4 breakpoints like we have here
|
39
|
-
"laptop": (
|
40
|
-
"columns": 12,
|
41
|
-
"breakpoint": 60em,
|
42
|
-
),
|
43
|
-
"tablet": (
|
44
|
-
"columns": 8,
|
45
|
-
"breakpoint": 40em,
|
46
|
-
),
|
47
|
-
"mobile": (
|
48
|
-
"columns": 4,
|
49
|
-
"breakpoint": 20em,
|
50
|
-
),
|
51
|
-
|
52
|
-
// Additional grid settings [required]
|
53
|
-
"settings": (
|
54
|
-
|
55
|
-
// Any breakpoint's alias
|
56
|
-
"default": "mobile",
|
57
|
-
|
58
|
-
// Options: fluid | fixed
|
59
|
-
"grid": "fluid",
|
60
|
-
|
61
|
-
// Options: number[unit]
|
62
|
-
"gutter": 0.625em,
|
63
|
-
|
64
|
-
// Options: left | right
|
65
|
-
"float-style": "left",
|
66
|
-
|
67
|
-
// Options: true [uses highest breakpoint] | false | number[unit]
|
68
|
-
"max-width": true,
|
69
|
-
|
70
|
-
// Options: true | false
|
71
|
-
"center-container": true,
|
72
|
-
|
73
|
-
// Options: true | false
|
74
|
-
"border-box-sizing": true,
|
75
|
-
|
76
|
-
// Syntax support: string | false
|
77
|
-
"support-syntax": false,
|
78
|
-
|
79
|
-
// Options: true | false
|
80
|
-
"debug-mode": false,
|
81
|
-
)
|
82
|
-
)
|
83
|
-
) !default;
|
1
|
+
// Configuration map
|
2
|
+
// -------------------------------------------------------------------------------
|
3
|
+
// @param breakpoint [map] : Here you can set up your various breakpoints for your
|
4
|
+
// project. Any number of breakpoints is acceptable. You must include a column
|
5
|
+
// count and breakpoint value for each listed breakpoint. The order does have
|
6
|
+
// to follow a `DESC` order. Unit (px | em) chosen here must be used consistently
|
7
|
+
// throughout the rest of the config map.
|
8
|
+
// -------------------------------------------------------------------------------
|
9
|
+
// @param default [string] : alias of breakpoint that is your grid default
|
10
|
+
// @param grid [string] : style of grid
|
11
|
+
// @param gutter [number | false] : contextual size of gutter
|
12
|
+
// @param float-style [number | false] : float direction
|
13
|
+
// @param max-width [number | bool] : max-width for containers
|
14
|
+
// @param center-container [bool] : if you want a centered container
|
15
|
+
// @param border-box-sizing [bool] : if you want box-sizing: border-box applied
|
16
|
+
// @param support-syntax [string | false] : syntax to support
|
17
|
+
// @param debug-mode [bool] : ouputs debug properties
|
18
|
+
// -------------------------------------------------------------------------------
|
19
|
+
|
20
|
+
$flint: (
|
21
|
+
|
22
|
+
// Grid configuration
|
23
|
+
"config": (
|
24
|
+
|
25
|
+
// Define breakpoints [any amount of breakpoints]
|
26
|
+
// Any alias you like, minus reserved Flint words [i.e. "settings", "config", etc.]
|
27
|
+
"desktop": (
|
28
|
+
|
29
|
+
// Options: 0-infinity
|
30
|
+
"columns": 16,
|
31
|
+
|
32
|
+
// Options: number[unit]
|
33
|
+
"breakpoint": 80em,
|
34
|
+
),
|
35
|
+
|
36
|
+
// Same applies for other breakpoints
|
37
|
+
// ----
|
38
|
+
// Remember, you're not fixed to just 4 breakpoints like we have here
|
39
|
+
"laptop": (
|
40
|
+
"columns": 12,
|
41
|
+
"breakpoint": 60em,
|
42
|
+
),
|
43
|
+
"tablet": (
|
44
|
+
"columns": 8,
|
45
|
+
"breakpoint": 40em,
|
46
|
+
),
|
47
|
+
"mobile": (
|
48
|
+
"columns": 4,
|
49
|
+
"breakpoint": 20em,
|
50
|
+
),
|
51
|
+
|
52
|
+
// Additional grid settings [required]
|
53
|
+
"settings": (
|
54
|
+
|
55
|
+
// Any breakpoint's alias
|
56
|
+
"default": "mobile",
|
57
|
+
|
58
|
+
// Options: fluid | fixed
|
59
|
+
"grid": "fluid",
|
60
|
+
|
61
|
+
// Options: number[unit]
|
62
|
+
"gutter": 0.625em,
|
63
|
+
|
64
|
+
// Options: left | right
|
65
|
+
"float-style": "left",
|
66
|
+
|
67
|
+
// Options: true [uses highest breakpoint] | false | number[unit]
|
68
|
+
"max-width": true,
|
69
|
+
|
70
|
+
// Options: true | false
|
71
|
+
"center-container": true,
|
72
|
+
|
73
|
+
// Options: true | false
|
74
|
+
"border-box-sizing": true,
|
75
|
+
|
76
|
+
// Syntax support: string | false
|
77
|
+
"support-syntax": false,
|
78
|
+
|
79
|
+
// Options: true | false
|
80
|
+
"debug-mode": false,
|
81
|
+
)
|
82
|
+
)
|
83
|
+
) !default;
|
@@ -1,41 +1,40 @@
|
|
1
|
-
// Helpers
|
2
|
-
// ----
|
3
|
-
@import "helpers/helpers";
|
4
|
-
|
5
|
-
// Functions
|
6
|
-
// ----
|
7
|
-
@import "lib/exists";
|
8
|
-
// Getters
|
9
|
-
@import "lib/map-fetch";
|
10
|
-
@import "lib/get-value";
|
11
|
-
@import "lib/get-index";
|
12
|
-
@import "lib/steal-key";
|
13
|
-
@import "lib/steal-values";
|
14
|
-
// Calculations
|
15
|
-
@import "lib/fluid-width";
|
16
|
-
@import "lib/calc-width";
|
17
|
-
@import "lib/calc-margin";
|
18
|
-
@import "lib/calc-breakpoint";
|
19
|
-
// Instance functions
|
20
|
-
@import "lib/instance";
|
21
|
-
@import "lib/has-family-instance";
|
22
|
-
@import "lib/get-instance-value";
|
23
|
-
// List functions
|
24
|
-
@import "lib/list-to-string";
|
25
|
-
@import "lib/types-in-list";
|
26
|
-
@import "lib/next-index";
|
27
|
-
@import "lib/purge";
|
28
|
-
@import "lib/replace";
|
29
|
-
@import "lib/remove";
|
30
|
-
@import "lib/last";
|
31
|
-
// String functions
|
32
|
-
@import "lib/replace-substring";
|
33
|
-
@import "lib/string-to-
|
34
|
-
|
35
|
-
|
36
|
-
//
|
37
|
-
|
38
|
-
@import "lib/
|
39
|
-
|
40
|
-
|
41
|
-
@import "lib/support-syntax-bem"
|
1
|
+
// Helpers
|
2
|
+
// ----
|
3
|
+
@import "helpers/helpers";
|
4
|
+
|
5
|
+
// Functions
|
6
|
+
// ----
|
7
|
+
@import "lib/exists";
|
8
|
+
// Getters
|
9
|
+
@import "lib/map-fetch";
|
10
|
+
@import "lib/get-value";
|
11
|
+
@import "lib/get-index";
|
12
|
+
@import "lib/steal-key";
|
13
|
+
@import "lib/steal-values";
|
14
|
+
// Calculations
|
15
|
+
@import "lib/fluid-width";
|
16
|
+
@import "lib/calc-width";
|
17
|
+
@import "lib/calc-margin";
|
18
|
+
@import "lib/calc-breakpoint";
|
19
|
+
// Instance functions
|
20
|
+
@import "lib/instance";
|
21
|
+
@import "lib/has-family-instance";
|
22
|
+
@import "lib/get-instance-value";
|
23
|
+
// List functions
|
24
|
+
@import "lib/list-to-string";
|
25
|
+
@import "lib/types-in-list";
|
26
|
+
@import "lib/next-index";
|
27
|
+
@import "lib/purge";
|
28
|
+
@import "lib/replace";
|
29
|
+
@import "lib/remove";
|
30
|
+
@import "lib/last";
|
31
|
+
// String functions
|
32
|
+
@import "lib/replace-substring";
|
33
|
+
@import "lib/string-to-list";
|
34
|
+
|
35
|
+
// Support syntax
|
36
|
+
// ---
|
37
|
+
@import "lib/use-syntax";
|
38
|
+
@import "lib/support-syntax";
|
39
|
+
// Syntaxes
|
40
|
+
@import "lib/support-syntax-bem"
|