kentucky 1.5.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/app/assets/stylesheets/kentucky/_kentucky.scss +35 -37
  4. data/app/assets/stylesheets/kentucky/{helpers → addons}/_border.scss +3 -2
  5. data/app/assets/stylesheets/kentucky/addons/_clearfix.scss +14 -0
  6. data/app/assets/stylesheets/kentucky/addons/_easings.scss +37 -0
  7. data/app/assets/stylesheets/kentucky/{helpers → addons}/_hide-text.scss +4 -4
  8. data/app/assets/stylesheets/kentucky/addons/_input-types.scss +82 -0
  9. data/app/assets/stylesheets/kentucky/{helpers → addons}/_position.scss +0 -0
  10. data/app/assets/stylesheets/kentucky/{helpers → addons}/_size.scss +0 -0
  11. data/app/assets/stylesheets/kentucky/addons/_truncate.scss +10 -0
  12. data/app/assets/stylesheets/kentucky/base/_buttons.scss +40 -0
  13. data/app/assets/stylesheets/kentucky/base/_forms.scss +86 -0
  14. data/app/assets/stylesheets/kentucky/{functions/_strip-units.scss → base/_layouts.scss} +3 -3
  15. data/app/assets/stylesheets/kentucky/base/_lists.scss +35 -0
  16. data/app/assets/stylesheets/kentucky/base/_project-settings.scss +112 -0
  17. data/app/assets/stylesheets/kentucky/base/_tables.scss +28 -0
  18. data/app/assets/stylesheets/kentucky/base/_typography.scss +91 -0
  19. data/app/assets/stylesheets/kentucky/functions/_assign.scss +17 -0
  20. data/app/assets/stylesheets/kentucky/functions/_tint-shade.scss +11 -0
  21. data/kentucky.gemspec +2 -2
  22. data/lib/kentucky/version.rb +1 -1
  23. data/readme.md +129 -0
  24. metadata +30 -38
  25. data/app/assets/stylesheets/kentucky/_forms.scss +0 -66
  26. data/app/assets/stylesheets/kentucky/_normalize.scss +0 -253
  27. data/app/assets/stylesheets/kentucky/_project-settings.scss +0 -108
  28. data/app/assets/stylesheets/kentucky/_typography.scss +0 -122
  29. data/app/assets/stylesheets/kentucky/functions/_gradient-functions.scss +0 -214
  30. data/app/assets/stylesheets/kentucky/functions/_remify.scss +0 -39
  31. data/app/assets/stylesheets/kentucky/grid/_grid.scss +0 -104
  32. data/app/assets/stylesheets/kentucky/helpers/_anti-aliased.scss +0 -8
  33. data/app/assets/stylesheets/kentucky/helpers/_breadcrumbs.scss +0 -24
  34. data/app/assets/stylesheets/kentucky/helpers/_clearfix.scss +0 -14
  35. data/app/assets/stylesheets/kentucky/helpers/_font-size.scss +0 -11
  36. data/app/assets/stylesheets/kentucky/helpers/_go.scss +0 -11
  37. data/app/assets/stylesheets/kentucky/helpers/_headings.scss +0 -11
  38. data/app/assets/stylesheets/kentucky/helpers/_html5-input-types.scss +0 -29
  39. data/app/assets/stylesheets/kentucky/helpers/_linear-gradient.scss +0 -42
  40. data/app/assets/stylesheets/kentucky/helpers/_mute.scss +0 -15
  41. data/app/assets/stylesheets/kentucky/helpers/_radial-gradient.scss +0 -24
  42. data/app/assets/stylesheets/kentucky/helpers/_strip-unit.scss +0 -7
  43. data/app/assets/stylesheets/kentucky/helpers/_triangle.scss +0 -49
  44. data/app/assets/stylesheets/kentucky/helpers/_truncate.scss +0 -19
@@ -0,0 +1,112 @@
1
+ // ------------------------------------------------------------------- //
2
+ // Project Settings
3
+ //
4
+ // This file houses variables related to brand and overall stylistic
5
+ // elements (fonts, sizes, colors, etc.) that should be used across
6
+ // the site.
7
+ //
8
+ // This is a basic set for initial functionality but any project-
9
+ // related variables that need to be global should exist in this file.
10
+ //
11
+ // Local variables should still exist in the file in which they are
12
+ // required.
13
+ // ------------------------------------------------------------------- //
14
+
15
+
16
+ // ------------------------------------------------------------------- //
17
+ // Typography
18
+
19
+ $base-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
20
+ $header-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
21
+
22
+
23
+
24
+ // ------------------------------------------------------------------- //
25
+ // Font Sizes
26
+
27
+ $base-font-size: 16px;
28
+
29
+ $h1-font-size: 42px;
30
+ $h2-font-size: 36px;
31
+ $h3-font-size: 24px;
32
+ $h4-font-size: 20px;
33
+ $h5-font-size: 18px;
34
+ $h6-font-size: 16px;
35
+
36
+
37
+
38
+ // ------------------------------------------------------------------- //
39
+ // Line Height
40
+
41
+ $base-line-height: 1.5;
42
+ $header-line-height: 1.2;
43
+
44
+
45
+
46
+ // ------------------------------------------------------------------- //
47
+ // Other Sizes
48
+
49
+ $base-border-radius: 3px;
50
+
51
+ $base-spacing: 20px;
52
+
53
+
54
+
55
+ // ------------------------------------------------------------------- //
56
+ // Colors
57
+
58
+ // Background Color
59
+ $base-background-color: white;
60
+
61
+ // Font Colors
62
+ $base-font-color: #333;
63
+ $base-accent-color: #b4d455;
64
+
65
+ // Link Colors
66
+ $base-link-color: $base-accent-color;
67
+ $hover-link-color: shade($base-link-color, 15%);
68
+
69
+ // Button Colors
70
+ $base-button-color: $base-link-color;
71
+ $hover-button-color: $hover-link-color;
72
+
73
+ // Border Colors
74
+ $base-border-color: #ddd;
75
+ $base-border: 1px solid $base-border-color;
76
+
77
+
78
+
79
+ // ------------------------------------------------------------------- //
80
+ // Forms
81
+
82
+ $form-border-color: $base-border-color;
83
+ $form-border-color-hover: shade($base-border-color, 10%);
84
+ $form-border-color-focus: $base-accent-color;
85
+ $form-border-radius: $base-border-radius;
86
+
87
+ $form-box-shadow: inset 0 1px 3px rgba(black, .1);
88
+ $form-box-shadow-focus: $form-box-shadow,
89
+ 0 0 5px rgba($form-border-color-focus, .5);
90
+
91
+ $form-font-family: $base-font-family;
92
+ $form-font-size: $base-font-size;
93
+
94
+
95
+
96
+ // ------------------------------------------------------------------- //
97
+ // Media Queries
98
+
99
+ $mobile: 480px;
100
+ $tablet: 990px;
101
+ $laptop: 1440px;
102
+ $desktop: 1920px;
103
+
104
+
105
+
106
+ // ------------------------------------------------------------------- //
107
+ // Z-Index Map
108
+
109
+ $z-map: ("base": 0,
110
+ "nav": 10,
111
+ "overlay": 20,
112
+ "modal": 30);
@@ -0,0 +1,28 @@
1
+ // ------------------------------------------------------------------- //
2
+ // Table Normalization
3
+ // ------------------------------------------------------------------- //
4
+
5
+ table {
6
+ width: 100%;
7
+ margin: ($base-spacing / 2) 0;
8
+ border-collapse: collapse;
9
+ table-layout: fixed;
10
+ }
11
+
12
+ th {
13
+ padding: ($base-spacing / 2) 0;
14
+ border-bottom: 1px solid shade($base-border-color, 15%);
15
+ font-weight: bold;
16
+ text-align: left;
17
+ }
18
+
19
+ td {
20
+ padding: ($base-spacing / 2) 0;
21
+ border-bottom: $base-border;
22
+ }
23
+
24
+ tr,
25
+ td,
26
+ th {
27
+ vertical-align: middle;
28
+ }
@@ -0,0 +1,91 @@
1
+ // ------------------------------------------------------------------- //
2
+ // Typography Normalization
3
+ // ------------------------------------------------------------------- //
4
+
5
+ body {
6
+ -webkit-font-smoothing: antialiased;
7
+ background-color: $base-background-color;
8
+ color: $base-font-color;
9
+ font-family: $base-font-family;
10
+ font-size: $base-font-size;
11
+ line-height: $base-line-height;
12
+ }
13
+
14
+ h1, h2, h3, h4, h5, h6 {
15
+ margin: 0;
16
+ font-family: $header-font-family;
17
+ line-height: $header-line-height;
18
+ }
19
+
20
+ h1 {
21
+ font-size: $h1-font-size;
22
+ }
23
+
24
+ h2 {
25
+ font-size: $h2-font-size;
26
+ }
27
+
28
+ h3 {
29
+ font-size: $h3-font-size;
30
+ }
31
+
32
+ h4 {
33
+ font-size: $h4-font-size;
34
+ }
35
+
36
+ h5 {
37
+ font-size: $h5-font-size;
38
+ }
39
+
40
+ h6 {
41
+ font-size: $h6-font-size;
42
+ }
43
+
44
+ p {
45
+ margin: 0 0 ($base-spacing / 2);
46
+ }
47
+
48
+ a {
49
+ color: $base-link-color;
50
+ text-decoration: none;
51
+ transition: color, .1s;
52
+
53
+ &:hover {
54
+ color: $hover-link-color;
55
+ }
56
+
57
+ &:active, &:focus {
58
+ color: $hover-link-color;
59
+ outline: none;
60
+ }
61
+ }
62
+
63
+ hr {
64
+ margin: $base-spacing 0;
65
+ border-bottom: $base-border;
66
+ border-left: none;
67
+ border-right: none;
68
+ border-top: none;
69
+ }
70
+
71
+ img,
72
+ picture {
73
+ max-width: 100%;
74
+ margin: 0;
75
+ }
76
+
77
+ blockquote {
78
+ margin: $base-spacing 0;
79
+ padding-left: $base-spacing / 2;
80
+ border-left: 2px solid $base-border-color;
81
+ color: tint($base-font-color, 15%);
82
+ }
83
+
84
+ cite {
85
+ color: tint($base-font-color, 25%);
86
+ font-style: italic;
87
+
88
+ &:before {
89
+ content: "\2014 \00A0";
90
+ }
91
+ }
@@ -0,0 +1,17 @@
1
+ // ------------------------------------------------------------------- //
2
+ // Assign Function
3
+ //
4
+ // Used for input lists (in Addons).
5
+ // ------------------------------------------------------------------- //
6
+
7
+ @function assign-inputs($inputs, $pseudo: null) {
8
+ $list : ();
9
+
10
+ @each $input in $inputs {
11
+ $input: unquote($input);
12
+ $input: if($pseudo, $input + ":" + $pseudo, $input);
13
+ $list: append($list, $input, comma);
14
+ }
15
+
16
+ @return $list;
17
+ }
@@ -0,0 +1,11 @@
1
+ // -------------------------------------------------------------------- //
2
+ // Tinting and Shading (Better color control)
3
+ // -------------------------------------------------------------------- //
4
+
5
+ @function tint($color, $percent) {
6
+ @return mix(white, $color, $percent);
7
+ }
8
+
9
+ @function shade($color, $percent) {
10
+ @return mix(black, $color, $percent);
11
+ }
data/kentucky.gemspec CHANGED
@@ -10,9 +10,9 @@ Gem::Specification.new do |s|
10
10
  s.authors = ["Aaron Clemmer", "Greg Bruening", "Chris Brinson"]
11
11
  s.email = ["greg@lookthink.com"]
12
12
  s.homepage = "https://github.com/geebru/Kentucky"
13
- s.summary = "SCSS-based grid system and mixin library"
13
+ s.summary = "SCSS project base and mixin library."
14
14
  s.description = <<-DESC
15
- Kentucky is LookThink's contribution to the CSS framework world with the unique difference of being entirely written in SCSS. This means no class restrictions muddling up your HTML. Kentucky is a collection of mixins, extends, and functions that you can use with your own HTML/CSS semantics to create responsive-ready websites.
15
+ Kentucky is a class-independent front-end framework built as a standard project starting point.
16
16
  DESC
17
17
 
18
18
  #s.rubyforge_project = "bourbon"
@@ -1,3 +1,3 @@
1
1
  module Kentucky
2
- VERSION = "1.5.1"
2
+ VERSION = "2.0.0"
3
3
  end
data/readme.md CHANGED
@@ -5,3 +5,132 @@
5
5
 
6
6
  ***
7
7
 
8
+ Kentucky was originally an additional library to use with Bourbon as our developers ventured into the realm of front-end frameworks. As time progressed and more frameworks emerged from all corners of the internet it became clear we needed to create our own.
9
+
10
+ Kentucky is meant to serve as a leaping point for front-end projects. It has no grid system (flexbox is simple enough without complicated DOM cluttering of classes) and is based entirely on the SCSS side of projects. Our framework is invisible to the end user inspecting elements on your site. This leaves developers completely open to use any form of semantics for classes as they're comfortable with.
11
+
12
+ Below is some base documentation into what is included in Kentucky.
13
+
14
+ ***
15
+
16
+ ### Base
17
+
18
+ ###### Project Settings
19
+ This file serves as the starting point for all projects. Full of default values for typography, spacing, colors, etc. it's the perfect place to store global, project-specific variables to use throughout your project.
20
+
21
+ ###### Layouts
22
+ A very barebones file meant to serve as a place to keep global layout-related styles.
23
+
24
+ ###### Typography
25
+ Slightly deceiving in name, but houses general typography / main content styles and normalization. This is where a majority of the variables (related to typography) in *_project-settings.scss* are called.
26
+
27
+ ###### Buttons
28
+ Normalization of all button-style inputs and serves as a location where project-wide button styles can live.
29
+
30
+ ###### Forms
31
+ Normalization of form elements.
32
+
33
+ ###### Lists
34
+ Normalization of unordered / ordered lists as well as definition lists. Also includes placeholder extends `%default-ul` and `%default-ol` that can applied to `ul` and `ol` elements that re-add the default list-styles for both as well as some margin/padding.
35
+
36
+ ###### Tables
37
+ Normalization of table elements.
38
+
39
+
40
+ ### Addons
41
+
42
+ ###### Border
43
+ A simple mixin that allows users to define unequal border widths inline with border style and color.
44
+
45
+ *Usage Example:*
46
+
47
+ ```
48
+ @include border(1px 2px 5px, solid, #b4d455);
49
+ ```
50
+
51
+ ###### Clearfix
52
+ Simple mixin to call the super-micro clearfix snippet based on Theirry Koblentz's minification of Nicolas Gallagher's micro clearfix.
53
+
54
+ *Usage Example:*
55
+
56
+ ```
57
+ @include clearfix;
58
+ ```
59
+
60
+ ###### Easings
61
+ Variable-based timing functions to be used in transition / animation styles.
62
+
63
+ *Usage Example:*
64
+
65
+ ```
66
+ .selector {
67
+ transition: all .5s #{$ease-in-quad};
68
+ }
69
+ ```
70
+
71
+ ###### Hide Text
72
+ Simple mixin to "hide text" in a new method, akin to the old -9999px hack to move text off of image replaced objects.
73
+
74
+ *Usage Example:*
75
+
76
+ ```
77
+ @include hide-text;
78
+ ```
79
+
80
+ ###### Input Types
81
+ Primarily created for usage in the button / form normalization files but these can be used to target all button / text inputs at once without having to list each individually.
82
+
83
+ *Usage Example:*
84
+
85
+ ```
86
+ #{$all-button-inputs} {
87
+ margin-bottom: 20px;
88
+ }
89
+ ```
90
+
91
+ ###### Position
92
+ Akin to the border mixin, this allows users to include the type of positioning and coordinates in a single line.
93
+
94
+ ```
95
+ @include position(absolute, 10px 20px 0 0);
96
+ ```
97
+
98
+ *Note that all four values are required.*
99
+
100
+
101
+ ###### Size
102
+ A dead simple mixin allowing users to set the width / height on a single line.
103
+
104
+ ```
105
+ @include size(15px 20px);
106
+ ```
107
+
108
+ *A single value will print the same value for width and height.*
109
+
110
+ ```
111
+ @include size(20px);
112
+ ```
113
+
114
+
115
+ ###### Truncate
116
+ Mixin that allows single-line, CSS-based truncation with an ellipsis. Requires a width value.
117
+
118
+ ```
119
+ @include truncate(300px);
120
+ ```
121
+
122
+
123
+ ### Functions
124
+
125
+ ###### Assign
126
+ Used in the input types addon. Usage is fairly minimal outside of that.
127
+
128
+ ###### Tint / Shade
129
+ An improvement to the typical `darken` / `lighten` abilities of SCSS. Tint and shade add white / black respectively to create richer colors.
130
+
131
+ ```
132
+ .selector {
133
+ background-color: tint(#b4d455, 5%);
134
+ color: shade($brand-color, 10%);
135
+ }
136
+ ```
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kentucky
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Clemmer
@@ -10,34 +10,34 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-09-10 00:00:00.000000000 Z
13
+ date: 2015-01-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sass
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - '>='
19
+ - - ">="
20
20
  - !ruby/object:Gem::Version
21
21
  version: 3.2.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - '>='
26
+ - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: 3.2.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: thor
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - '>='
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
35
  version: '0'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - '>='
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  - !ruby/object:Gem::Dependency
@@ -58,18 +58,18 @@ dependencies:
58
58
  name: rake
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - '>='
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - '>='
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  description: |
72
- Kentucky is LookThink's contribution to the CSS framework world with the unique difference of being entirely written in SCSS. This means no class restrictions muddling up your HTML. Kentucky is a collection of mixins, extends, and functions that you can use with your own HTML/CSS semantics to create responsive-ready websites.
72
+ Kentucky is a class-independent front-end framework built as a standard project starting point.
73
73
  email:
74
74
  - greg@lookthink.com
75
75
  executables:
@@ -77,38 +77,30 @@ executables:
77
77
  extensions: []
78
78
  extra_rdoc_files: []
79
79
  files:
80
- - .gitignore
80
+ - ".gitignore"
81
81
  - CHANGELOG.md
82
82
  - Gemfile
83
83
  - Gemfile.lock
84
84
  - LICENSE
85
85
  - Rakefile
86
- - app/assets/stylesheets/kentucky/_forms.scss
87
86
  - app/assets/stylesheets/kentucky/_kentucky.scss
88
- - app/assets/stylesheets/kentucky/_normalize.scss
89
- - app/assets/stylesheets/kentucky/_project-settings.scss
90
- - app/assets/stylesheets/kentucky/_typography.scss
91
- - app/assets/stylesheets/kentucky/functions/_gradient-functions.scss
92
- - app/assets/stylesheets/kentucky/functions/_remify.scss
93
- - app/assets/stylesheets/kentucky/functions/_strip-units.scss
94
- - app/assets/stylesheets/kentucky/grid/_grid.scss
95
- - app/assets/stylesheets/kentucky/helpers/_anti-aliased.scss
96
- - app/assets/stylesheets/kentucky/helpers/_border.scss
97
- - app/assets/stylesheets/kentucky/helpers/_breadcrumbs.scss
98
- - app/assets/stylesheets/kentucky/helpers/_clearfix.scss
99
- - app/assets/stylesheets/kentucky/helpers/_font-size.scss
100
- - app/assets/stylesheets/kentucky/helpers/_go.scss
101
- - app/assets/stylesheets/kentucky/helpers/_headings.scss
102
- - app/assets/stylesheets/kentucky/helpers/_hide-text.scss
103
- - app/assets/stylesheets/kentucky/helpers/_html5-input-types.scss
104
- - app/assets/stylesheets/kentucky/helpers/_linear-gradient.scss
105
- - app/assets/stylesheets/kentucky/helpers/_mute.scss
106
- - app/assets/stylesheets/kentucky/helpers/_position.scss
107
- - app/assets/stylesheets/kentucky/helpers/_radial-gradient.scss
108
- - app/assets/stylesheets/kentucky/helpers/_size.scss
109
- - app/assets/stylesheets/kentucky/helpers/_strip-unit.scss
110
- - app/assets/stylesheets/kentucky/helpers/_triangle.scss
111
- - app/assets/stylesheets/kentucky/helpers/_truncate.scss
87
+ - app/assets/stylesheets/kentucky/addons/_border.scss
88
+ - app/assets/stylesheets/kentucky/addons/_clearfix.scss
89
+ - app/assets/stylesheets/kentucky/addons/_easings.scss
90
+ - app/assets/stylesheets/kentucky/addons/_hide-text.scss
91
+ - app/assets/stylesheets/kentucky/addons/_input-types.scss
92
+ - app/assets/stylesheets/kentucky/addons/_position.scss
93
+ - app/assets/stylesheets/kentucky/addons/_size.scss
94
+ - app/assets/stylesheets/kentucky/addons/_truncate.scss
95
+ - app/assets/stylesheets/kentucky/base/_buttons.scss
96
+ - app/assets/stylesheets/kentucky/base/_forms.scss
97
+ - app/assets/stylesheets/kentucky/base/_layouts.scss
98
+ - app/assets/stylesheets/kentucky/base/_lists.scss
99
+ - app/assets/stylesheets/kentucky/base/_project-settings.scss
100
+ - app/assets/stylesheets/kentucky/base/_tables.scss
101
+ - app/assets/stylesheets/kentucky/base/_typography.scss
102
+ - app/assets/stylesheets/kentucky/functions/_assign.scss
103
+ - app/assets/stylesheets/kentucky/functions/_tint-shade.scss
112
104
  - bin/kentucky
113
105
  - features/install.feature
114
106
  - features/step_definitions/kentucky_steps.rb
@@ -133,12 +125,12 @@ require_paths:
133
125
  - lib
134
126
  required_ruby_version: !ruby/object:Gem::Requirement
135
127
  requirements:
136
- - - '>='
128
+ - - ">="
137
129
  - !ruby/object:Gem::Version
138
130
  version: '0'
139
131
  required_rubygems_version: !ruby/object:Gem::Requirement
140
132
  requirements:
141
- - - '>='
133
+ - - ">="
142
134
  - !ruby/object:Gem::Version
143
135
  version: '0'
144
136
  requirements: []
@@ -146,7 +138,7 @@ rubyforge_project:
146
138
  rubygems_version: 2.0.14
147
139
  signing_key:
148
140
  specification_version: 4
149
- summary: SCSS-based grid system and mixin library
141
+ summary: SCSS project base and mixin library.
150
142
  test_files:
151
143
  - features/install.feature
152
144
  - features/step_definitions/kentucky_steps.rb