flint-gs 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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"
|