gerillass 0.0.6 → 2.3.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.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +13 -0
  3. data/README.md +328 -0
  4. data/SKILL.md +283 -0
  5. data/gerillass.json +2551 -0
  6. data/lib/gerillass/engine.rb +55 -0
  7. data/lib/gerillass/jekyll.rb +13 -0
  8. data/lib/gerillass.rb +26 -0
  9. data/scss/_gerillass.scss +15 -0
  10. data/scss/internal/_color-problem.scss +99 -0
  11. data/scss/internal/_color-stops-problem.scss +94 -0
  12. data/scss/internal/_condition-width.scss +22 -0
  13. data/scss/internal/_custom-property-in.scss +25 -0
  14. data/scss/internal/_image-value.scss +68 -0
  15. data/scss/internal/_is-condition-value.scss +94 -0
  16. data/scss/internal/_is-css-function.scss +21 -0
  17. data/scss/internal/_is-size.scss +22 -0
  18. data/scss/internal/_keyword-value.scss +76 -0
  19. data/scss/internal/_length-problem.scss +127 -0
  20. data/scss/internal/_sibling-index.scss +51 -0
  21. data/scss/internal/_words.scss +35 -0
  22. data/scss/library/_adaptive.scss +31 -0
  23. data/scss/library/_after.scss +28 -0
  24. data/scss/library/_all-buttons.scss +21 -0
  25. data/scss/library/_all-text-inputs.scss +21 -0
  26. data/{core → scss}/library/_antialias.scss +5 -1
  27. data/scss/library/_aspect-ratio.scss +27 -0
  28. data/scss/library/_background-dots.scss +103 -0
  29. data/scss/library/_background-image.scss +113 -0
  30. data/scss/library/_background-stripes.scss +99 -0
  31. data/scss/library/_before.scss +28 -0
  32. data/scss/library/_border-box.scss +30 -0
  33. data/scss/library/_border-radius.scss +164 -0
  34. data/scss/library/_brand-logo.scss +33 -0
  35. data/scss/library/_breakpoint.scss +96 -0
  36. data/scss/library/_breakpointer.scss +40 -0
  37. data/scss/library/_center.scss +19 -0
  38. data/scss/library/_circle.scss +15 -0
  39. data/{core → scss}/library/_clearfix.scss +1 -1
  40. data/scss/library/_columnizer.scss +125 -0
  41. data/scss/library/_container-query.scss +119 -0
  42. data/scss/library/_container.scss +72 -0
  43. data/scss/library/_counter.scss +59 -0
  44. data/scss/library/_ellipsis.scss +87 -0
  45. data/scss/library/_escape-to-parent.scss +12 -0
  46. data/scss/library/_except.scss +71 -0
  47. data/scss/library/_focus-ring.scss +63 -0
  48. data/scss/library/_font-face.scss +240 -0
  49. data/scss/library/_hide.scss +25 -0
  50. data/scss/library/_index.scss +58 -0
  51. data/scss/library/_line-clamp.scss +38 -0
  52. data/scss/library/_linear-gradient.scss +33 -0
  53. data/scss/library/_loadify.scss +62 -0
  54. data/scss/library/_motion-safe.scss +28 -0
  55. data/scss/library/_only.scss +73 -0
  56. data/scss/library/_placeholder-shown.scss +7 -0
  57. data/scss/library/_placeholder.scss +19 -0
  58. data/scss/library/_position.scss +72 -0
  59. data/scss/library/_radial-gradient.scss +184 -0
  60. data/scss/library/_remove.scss +40 -0
  61. data/scss/library/_reset-css.scss +57 -0
  62. data/scss/library/_reset-figure.scss +10 -0
  63. data/scss/library/_resizable.scss +34 -0
  64. data/scss/library/_responsive-image.scss +6 -0
  65. data/scss/library/_scissors.scss +34 -0
  66. data/scss/library/_screen-agent.scss +34 -0
  67. data/scss/library/_sizer.scss +15 -0
  68. data/scss/library/_smartphone.scss +29 -0
  69. data/scss/library/_sprite.scss +100 -0
  70. data/scss/library/_stretched-link.scss +21 -0
  71. data/scss/library/_tablet.scss +29 -0
  72. data/scss/library/_text-gradient.scss +38 -0
  73. data/scss/library/_text-image.scss +15 -0
  74. data/scss/library/_text-selection.scss +22 -0
  75. data/scss/library/_text-shadow.scss +145 -0
  76. data/scss/library/_text-stroke.scss +43 -0
  77. data/scss/library/_tokens.scss +111 -0
  78. data/scss/library/_triangle.scss +115 -0
  79. data/scss/lists/_index.scss +8 -0
  80. data/scss/lists/_list-of-anchor-pseudo-classes.scss +9 -0
  81. data/scss/lists/_list-of-buttons.scss +8 -0
  82. data/scss/lists/_list-of-counter-styles.scss +59 -0
  83. data/scss/lists/_list-of-directions.scss +12 -0
  84. data/scss/lists/_list-of-length-units.scss +23 -0
  85. data/scss/lists/_list-of-text-inputs.scss +20 -0
  86. data/scss/maps/_index.scss +8 -0
  87. data/scss/maps/_map-for-breakpoints.scss +9 -0
  88. data/scss/maps/_map-for-directions.scss +12 -0
  89. data/scss/maps/_map-for-font-formats.scss +9 -0
  90. data/scss/maps/_map-for-positions.scss +13 -0
  91. data/scss/maps/_map-for-smartphones.scss +72 -0
  92. data/scss/maps/_map-for-tablets.scss +32 -0
  93. data/scss/utilities/_clear-unit.scss +11 -0
  94. data/scss/utilities/_clear-whitespace.scss +15 -0
  95. data/scss/utilities/_convert-to-em.scss +16 -0
  96. data/scss/utilities/_convert-to-number.scss +45 -0
  97. data/scss/utilities/_fill-nulls.scss +18 -0
  98. data/scss/utilities/_fluid.scss +76 -0
  99. data/scss/utilities/_font-sizer.scss +19 -0
  100. data/scss/utilities/_font-source.scss +23 -0
  101. data/scss/utilities/_index.scss +25 -0
  102. data/scss/utilities/_is-color.scss +16 -0
  103. data/scss/utilities/_is-gutter.scss +24 -0
  104. data/scss/utilities/_is-number.scss +11 -0
  105. data/scss/utilities/_is-time.scss +14 -0
  106. data/scss/utilities/_map-deep-get.scss +10 -0
  107. data/scss/utilities/_pixelify.scss +20 -0
  108. data/scss/utilities/_pseudo-selector.scss +12 -0
  109. data/scss/utilities/_remify.scss +16 -0
  110. data/scss/utilities/_shade.scss +10 -0
  111. data/scss/utilities/_shorthand-property.scss +17 -0
  112. data/scss/utilities/_tint.scss +10 -0
  113. data/scss/utilities/_validate-breakpoint.scss +41 -0
  114. data/scss/utilities/_validate-length.scss +37 -0
  115. data/scss/utilities/_validate-ratio.scss +77 -0
  116. data/scss/utilities/_validate-scissors.scss +34 -0
  117. metadata +130 -46
  118. data/core/_gerillass.scss +0 -4
  119. data/core/library/_before.scss +0 -18
  120. data/core/library/_border-box.scss +0 -26
@@ -0,0 +1,77 @@
1
+ @charset "UTF-8";
2
+
3
+ @use "sass:list";
4
+ @use "sass:math";
5
+ @use "sass:meta";
6
+ @use "sass:string";
7
+ @use "../utilities/convert-to-number" as *;
8
+
9
+ // Returns a value for the CSS aspect-ratio property.
10
+ //
11
+ // Before 2.0.0 this returned the padding-top percentage the old ratio hack
12
+ // needed -- 56.25% for 16/9. aspect-ratio is Baseline Widely Available, so the
13
+ // hack is gone and this returns the ratio itself: `16 / 9`.
14
+ @function validateRatio($ratio) {
15
+ // No argument at all keeps the 16/9 default.
16
+ @if $ratio == null {
17
+ @return list.slash(16, 9);
18
+ }
19
+
20
+ @if meta.type-of($ratio) == "number" {
21
+ @if not math.is-unitless($ratio) {
22
+ @error "`#{$ratio}` is not a valid ratio. A numeric ratio must be unitless, like `1.77`.";
23
+ }
24
+ @if $ratio <= 0 {
25
+ @error "`#{$ratio}` is not a valid ratio. A numeric ratio must be greater than zero.";
26
+ }
27
+ // aspect-ratio takes a bare number, where 1.77 means 1.77 / 1.
28
+ @return $ratio;
29
+ }
30
+
31
+ // var() is resolved by the browser. Checked inline rather than through a
32
+ // helper function, which tools/build-manifest.js would take for this file's
33
+ // member in place of validateRatio.
34
+ @if meta.type-of($ratio) == "string" and string.slice(meta.inspect($ratio), 1, 1) != "\"" and string.index(string.to-lower-case($ratio), "var(") == 1 {
35
+ @return $ratio;
36
+ }
37
+
38
+ @if meta.type-of($ratio) == "string" {
39
+ $separator: null;
40
+ @if string.index($ratio, "/") {
41
+ $separator: string.index($ratio, "/");
42
+ } @else if string.index($ratio, ":") {
43
+ $separator: string.index($ratio, ":");
44
+ } @else {
45
+ @error "`#{$ratio}` is not a valid ratio. A string ratio must separate width and height with `/` or `:`, like `\"16/9\"` or `\"16:9\"`.";
46
+ }
47
+
48
+ $width-text: string.slice($ratio, 1, $separator - 1);
49
+ $height-text: string.slice($ratio, $separator + 1);
50
+
51
+ // Checked here so a malformed ratio is reported as a ratio, rather than as
52
+ // a bad argument to convertToNumber, which the caller never called.
53
+ @each $part in ($width-text, $height-text) {
54
+ @if string.length($part) == 0 {
55
+ @error "`#{$ratio}` is not a valid ratio. Width and height must both be whole numbers, like `\"16/9\"` or `\"16:9\"`.";
56
+ }
57
+ @for $i from 1 through string.length($part) {
58
+ @if not list.index("0" "1" "2" "3" "4" "5" "6" "7" "8" "9", string.slice($part, $i, $i)) {
59
+ @error "`#{$ratio}` is not a valid ratio. Width and height must both be whole numbers, like `\"16/9\"` or `\"16:9\"`.";
60
+ }
61
+ }
62
+ }
63
+
64
+ $width: convertToNumber($width-text);
65
+ $height: convertToNumber($height-text);
66
+
67
+ @if $width == 0 {
68
+ @error "`#{$ratio}` is not a valid ratio. The width must be greater than zero.";
69
+ }
70
+ @return list.slash($width, $height);
71
+ }
72
+
73
+ // Anything else -- most commonly a list, which is what `16/9` becomes once
74
+ // Dart Sass 2.0.0 removes slash division. Without this the mixin would emit
75
+ // no aspect-ratio at all and silently produce a box with no ratio.
76
+ @error "`#{$ratio}` is not a valid ratio. Pass a string like `\"16/9\"` or `\"16:9\"`, a unitless number like `1.77`, or no argument at all for the 16/9 default. You passed a #{meta.type-of($ratio)}.";
77
+ }
@@ -0,0 +1,34 @@
1
+ @charset "UTF-8";
2
+
3
+ @use "sass:list";
4
+ @use "sass:math";
5
+ @use "sass:meta";
6
+ @use "../utilities/pixelify" as *;
7
+ @use "../internal/is-condition-value" as *;
8
+
9
+ @function validateScissors($value) {
10
+ $list: ();
11
+ @for $i from 1 through list.length($value) {
12
+ $item: list.nth($value, $i);
13
+ // math.is-unitless() below throws on anything that is not a number, and its message
14
+ // names its own parameter rather than the corner that was wrong.
15
+ @if $item != null and meta.type-of($item) != "number" {
16
+ @error "`#{$item}` is not a valid corner size. Pass a length such as `12px`, or a unitless number which is treated as pixels.";
17
+ }
18
+ // Each size becomes a polygon() coordinate, which in Chrome 152 kept a
19
+ // length, a percentage and a negative length, and dropped a unit that is not
20
+ // a length, such as deg or x, so the clip-path was dropped.
21
+ @if $item != null and not math.is-unitless($item) and not isConditionValue($item, "length-percentage") {
22
+ @error "`#{$item}` is not a valid corner size: `#{math.unit($item)}` is not a length unit, and a browser drops the clip-path. Pass a length such as `12px`, or a unitless number which is treated as pixels.";
23
+ }
24
+ @if list.nth($value, $i) == null {
25
+ $list: list.append($list, 0px, comma);
26
+ } @else if math.is-unitless(list.nth($value, $i)) {
27
+ $pixelified: pixelify(list.nth($value, $i));
28
+ $list: list.append($list, $pixelified, comma);
29
+ } @else {
30
+ $list: list.append($list, list.nth($value, $i), comma);
31
+ }
32
+ }
33
+ @return $list;
34
+ }
metadata CHANGED
@@ -1,61 +1,145 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gerillass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Halil İbrahim Çakıroğlu
8
- autorequire:
9
- bindir: exe
8
+ bindir: bin
10
9
  cert_chain: []
11
- date: 2020-07-20 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: sass-rails
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
41
12
  description: Gerillass is an open-source toolkit that contains a set of Sass mixins
42
13
  to help designers and developers to create better, faster and consistent user interfaces.
43
- email:
44
- - ibrahimchll@hotmail.com
45
14
  executables: []
46
15
  extensions: []
47
16
  extra_rdoc_files: []
48
17
  files:
49
- - core/_gerillass.scss
50
- - core/library/_antialias.scss
51
- - core/library/_before.scss
52
- - core/library/_border-box.scss
53
- - core/library/_clearfix.scss
18
+ - LICENSE.md
19
+ - README.md
20
+ - SKILL.md
21
+ - gerillass.json
22
+ - lib/gerillass.rb
23
+ - lib/gerillass/engine.rb
24
+ - lib/gerillass/jekyll.rb
25
+ - scss/_gerillass.scss
26
+ - scss/internal/_color-problem.scss
27
+ - scss/internal/_color-stops-problem.scss
28
+ - scss/internal/_condition-width.scss
29
+ - scss/internal/_custom-property-in.scss
30
+ - scss/internal/_image-value.scss
31
+ - scss/internal/_is-condition-value.scss
32
+ - scss/internal/_is-css-function.scss
33
+ - scss/internal/_is-size.scss
34
+ - scss/internal/_keyword-value.scss
35
+ - scss/internal/_length-problem.scss
36
+ - scss/internal/_sibling-index.scss
37
+ - scss/internal/_words.scss
38
+ - scss/library/_adaptive.scss
39
+ - scss/library/_after.scss
40
+ - scss/library/_all-buttons.scss
41
+ - scss/library/_all-text-inputs.scss
42
+ - scss/library/_antialias.scss
43
+ - scss/library/_aspect-ratio.scss
44
+ - scss/library/_background-dots.scss
45
+ - scss/library/_background-image.scss
46
+ - scss/library/_background-stripes.scss
47
+ - scss/library/_before.scss
48
+ - scss/library/_border-box.scss
49
+ - scss/library/_border-radius.scss
50
+ - scss/library/_brand-logo.scss
51
+ - scss/library/_breakpoint.scss
52
+ - scss/library/_breakpointer.scss
53
+ - scss/library/_center.scss
54
+ - scss/library/_circle.scss
55
+ - scss/library/_clearfix.scss
56
+ - scss/library/_columnizer.scss
57
+ - scss/library/_container-query.scss
58
+ - scss/library/_container.scss
59
+ - scss/library/_counter.scss
60
+ - scss/library/_ellipsis.scss
61
+ - scss/library/_escape-to-parent.scss
62
+ - scss/library/_except.scss
63
+ - scss/library/_focus-ring.scss
64
+ - scss/library/_font-face.scss
65
+ - scss/library/_hide.scss
66
+ - scss/library/_index.scss
67
+ - scss/library/_line-clamp.scss
68
+ - scss/library/_linear-gradient.scss
69
+ - scss/library/_loadify.scss
70
+ - scss/library/_motion-safe.scss
71
+ - scss/library/_only.scss
72
+ - scss/library/_placeholder-shown.scss
73
+ - scss/library/_placeholder.scss
74
+ - scss/library/_position.scss
75
+ - scss/library/_radial-gradient.scss
76
+ - scss/library/_remove.scss
77
+ - scss/library/_reset-css.scss
78
+ - scss/library/_reset-figure.scss
79
+ - scss/library/_resizable.scss
80
+ - scss/library/_responsive-image.scss
81
+ - scss/library/_scissors.scss
82
+ - scss/library/_screen-agent.scss
83
+ - scss/library/_sizer.scss
84
+ - scss/library/_smartphone.scss
85
+ - scss/library/_sprite.scss
86
+ - scss/library/_stretched-link.scss
87
+ - scss/library/_tablet.scss
88
+ - scss/library/_text-gradient.scss
89
+ - scss/library/_text-image.scss
90
+ - scss/library/_text-selection.scss
91
+ - scss/library/_text-shadow.scss
92
+ - scss/library/_text-stroke.scss
93
+ - scss/library/_tokens.scss
94
+ - scss/library/_triangle.scss
95
+ - scss/lists/_index.scss
96
+ - scss/lists/_list-of-anchor-pseudo-classes.scss
97
+ - scss/lists/_list-of-buttons.scss
98
+ - scss/lists/_list-of-counter-styles.scss
99
+ - scss/lists/_list-of-directions.scss
100
+ - scss/lists/_list-of-length-units.scss
101
+ - scss/lists/_list-of-text-inputs.scss
102
+ - scss/maps/_index.scss
103
+ - scss/maps/_map-for-breakpoints.scss
104
+ - scss/maps/_map-for-directions.scss
105
+ - scss/maps/_map-for-font-formats.scss
106
+ - scss/maps/_map-for-positions.scss
107
+ - scss/maps/_map-for-smartphones.scss
108
+ - scss/maps/_map-for-tablets.scss
109
+ - scss/utilities/_clear-unit.scss
110
+ - scss/utilities/_clear-whitespace.scss
111
+ - scss/utilities/_convert-to-em.scss
112
+ - scss/utilities/_convert-to-number.scss
113
+ - scss/utilities/_fill-nulls.scss
114
+ - scss/utilities/_fluid.scss
115
+ - scss/utilities/_font-sizer.scss
116
+ - scss/utilities/_font-source.scss
117
+ - scss/utilities/_index.scss
118
+ - scss/utilities/_is-color.scss
119
+ - scss/utilities/_is-gutter.scss
120
+ - scss/utilities/_is-number.scss
121
+ - scss/utilities/_is-time.scss
122
+ - scss/utilities/_map-deep-get.scss
123
+ - scss/utilities/_pixelify.scss
124
+ - scss/utilities/_pseudo-selector.scss
125
+ - scss/utilities/_remify.scss
126
+ - scss/utilities/_shade.scss
127
+ - scss/utilities/_shorthand-property.scss
128
+ - scss/utilities/_tint.scss
129
+ - scss/utilities/_validate-breakpoint.scss
130
+ - scss/utilities/_validate-length.scss
131
+ - scss/utilities/_validate-ratio.scss
132
+ - scss/utilities/_validate-scissors.scss
54
133
  homepage: https://gerillass.com
55
134
  licenses:
56
135
  - Apache-2.0
57
- metadata: {}
58
- post_install_message:
136
+ metadata:
137
+ homepage_uri: https://gerillass.com
138
+ documentation_uri: https://gerillass.com/docs/introduction
139
+ source_code_uri: https://github.com/selfishprimate/gerillass
140
+ changelog_uri: https://github.com/selfishprimate/gerillass/blob/main/CHANGELOG.md
141
+ bug_tracker_uri: https://github.com/selfishprimate/gerillass/issues
142
+ rubygems_mfa_required: 'true'
59
143
  rdoc_options: []
60
144
  require_paths:
61
145
  - lib
@@ -63,15 +147,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
63
147
  requirements:
64
148
  - - ">="
65
149
  - !ruby/object:Gem::Version
66
- version: 2.3.0
150
+ version: '0'
67
151
  required_rubygems_version: !ruby/object:Gem::Requirement
68
152
  requirements:
69
153
  - - ">="
70
154
  - !ruby/object:Gem::Version
71
155
  version: '0'
72
156
  requirements: []
73
- rubygems_version: 3.0.3
74
- signing_key:
157
+ rubygems_version: 4.0.3
75
158
  specification_version: 4
76
- summary: The coolest Sass toolset for developers.
159
+ summary: Sass mixins and functions for Rails, Jekyll and any Ruby project that compiles
160
+ Sass.
77
161
  test_files: []
data/core/_gerillass.scss DELETED
@@ -1,4 +0,0 @@
1
- @import "library/antialias";
2
- @import "library/before";
3
- @import "library/border-box";
4
- @import "library/clearfix";
@@ -1,18 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- @mixin gorillass-before($content: null) {
4
- &::before {
5
- @if $content == null {
6
- @content;
7
- } @else if $content != null {
8
- $data: str-slice($content, 1, 5);
9
- @if $data == "data-" {
10
- content: attr(#{$content});
11
- @content;
12
- } @else {
13
- content: "#{$content}";
14
- @content;
15
- }
16
- }
17
- }
18
- }
@@ -1,26 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- @mixin gorillass-border-box($value: null) {
4
- @if not & and $value == null {
5
- *,
6
- *::before,
7
- *::after {
8
- box-sizing: border-box;
9
- }
10
- } @else if & and $value == "only" {
11
- &,
12
- &::before,
13
- &::after {
14
- box-sizing: border-box;
15
- }
16
- } @else if & and $value == null {
17
- &,
18
- &::before,
19
- &::after,
20
- *,
21
- *::before,
22
- *::after {
23
- box-sizing: border-box;
24
- }
25
- }
26
- }