comixins 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -0
  3. data/.rubocop.yml +26 -0
  4. data/Gemfile +2 -0
  5. data/README.md +35 -0
  6. data/comixins.gemspec +20 -0
  7. data/lib/comixins/version.rb +1 -1
  8. data/vendor/assets/stylesheets/LICENSE.markdown +29 -0
  9. data/vendor/assets/stylesheets/LICENSE_backup.md +29 -0
  10. data/vendor/assets/stylesheets/_animate.scss +3 -0
  11. data/vendor/assets/stylesheets/_compass.scss +4 -0
  12. data/vendor/assets/stylesheets/_lemonade.scss +38 -0
  13. data/vendor/assets/stylesheets/animation/_animate.scss +31 -0
  14. data/vendor/assets/stylesheets/animation/_core.scss +127 -0
  15. data/vendor/assets/stylesheets/animation/_shared.scss +22 -0
  16. data/vendor/assets/stylesheets/animation/animate/_attention-seekers.scss +152 -0
  17. data/vendor/assets/stylesheets/animation/animate/_bouncing.scss +3 -0
  18. data/vendor/assets/stylesheets/animation/animate/_classes.scss +21 -0
  19. data/vendor/assets/stylesheets/animation/animate/_fading.scss +3 -0
  20. data/vendor/assets/stylesheets/animation/animate/_flippers.scss +87 -0
  21. data/vendor/assets/stylesheets/animation/animate/_lightspeed.scss +24 -0
  22. data/vendor/assets/stylesheets/animation/animate/_rotating.scss +3 -0
  23. data/vendor/assets/stylesheets/animation/animate/_specials.scss +42 -0
  24. data/vendor/assets/stylesheets/animation/animate/bouncing/_bouncing-entrances.scss +68 -0
  25. data/vendor/assets/stylesheets/animation/animate/bouncing/_bouncing-exits.scss +60 -0
  26. data/vendor/assets/stylesheets/animation/animate/fading/_fading-entrances.scss +86 -0
  27. data/vendor/assets/stylesheets/animation/animate/fading/_fading-exits.scss +86 -0
  28. data/vendor/assets/stylesheets/animation/animate/rotating/_rotating-entrances.scss +58 -0
  29. data/vendor/assets/stylesheets/animation/animate/rotating/_rotating-exits.scss +58 -0
  30. data/vendor/assets/stylesheets/comixins.scss +1 -0
  31. data/vendor/assets/stylesheets/compass/_css3.scss +22 -0
  32. data/vendor/assets/stylesheets/compass/_functions.scss +6 -0
  33. data/vendor/assets/stylesheets/compass/_layout.scss +3 -0
  34. data/vendor/assets/stylesheets/compass/_reset-legacy.scss +3 -0
  35. data/vendor/assets/stylesheets/compass/_reset.scss +3 -0
  36. data/vendor/assets/stylesheets/compass/_support.scss +40 -0
  37. data/vendor/assets/stylesheets/compass/_typography.scss +4 -0
  38. data/vendor/assets/stylesheets/compass/_utilities.scss +9 -0
  39. data/vendor/assets/stylesheets/compass/css3/_animation.scss +2 -0
  40. data/vendor/assets/stylesheets/compass/css3/_appearance.scss +16 -0
  41. data/vendor/assets/stylesheets/compass/css3/_background-clip.scss +43 -0
  42. data/vendor/assets/stylesheets/compass/css3/_background-origin.scss +42 -0
  43. data/vendor/assets/stylesheets/compass/css3/_background-size.scss +26 -0
  44. data/vendor/assets/stylesheets/compass/css3/_border-radius.scss +130 -0
  45. data/vendor/assets/stylesheets/compass/css3/_box-shadow.scss +76 -0
  46. data/vendor/assets/stylesheets/compass/css3/_box-sizing.scss +13 -0
  47. data/vendor/assets/stylesheets/compass/css3/_box.scss +111 -0
  48. data/vendor/assets/stylesheets/compass/css3/_columns.scss +148 -0
  49. data/vendor/assets/stylesheets/compass/css3/_filter.scss +23 -0
  50. data/vendor/assets/stylesheets/compass/css3/_flexbox.scss +86 -0
  51. data/vendor/assets/stylesheets/compass/css3/_font-face.scss +48 -0
  52. data/vendor/assets/stylesheets/compass/css3/_hyphenation.scss +77 -0
  53. data/vendor/assets/stylesheets/compass/css3/_images.scss +133 -0
  54. data/vendor/assets/stylesheets/compass/css3/_inline-block.scss +22 -0
  55. data/vendor/assets/stylesheets/compass/css3/_opacity.scss +19 -0
  56. data/vendor/assets/stylesheets/compass/css3/_pie.scss +73 -0
  57. data/vendor/assets/stylesheets/compass/css3/_regions.scss +22 -0
  58. data/vendor/assets/stylesheets/compass/css3/_shared.scss +38 -0
  59. data/vendor/assets/stylesheets/compass/css3/_text-shadow.scss +87 -0
  60. data/vendor/assets/stylesheets/compass/css3/_transform-legacy.scss +87 -0
  61. data/vendor/assets/stylesheets/compass/css3/_transform.scss +598 -0
  62. data/vendor/assets/stylesheets/compass/css3/_transition.scss +221 -0
  63. data/vendor/assets/stylesheets/compass/css3/_user-interface.scss +47 -0
  64. data/vendor/assets/stylesheets/compass/functions/_colors.scss +37 -0
  65. data/vendor/assets/stylesheets/compass/functions/_constants.scss +18 -0
  66. data/vendor/assets/stylesheets/compass/functions/_cross_browser_support.scss +72 -0
  67. data/vendor/assets/stylesheets/compass/functions/_display.scss +36 -0
  68. data/vendor/assets/stylesheets/compass/functions/_gradient_support.scss +15 -0
  69. data/vendor/assets/stylesheets/compass/functions/_lists.scss +90 -0
  70. data/vendor/assets/stylesheets/compass/layout/_grid-background.scss +178 -0
  71. data/vendor/assets/stylesheets/compass/layout/_sticky-footer.scss +23 -0
  72. data/vendor/assets/stylesheets/compass/layout/_stretching.scss +24 -0
  73. data/vendor/assets/stylesheets/compass/reset/_utilities-legacy.scss +135 -0
  74. data/vendor/assets/stylesheets/compass/reset/_utilities.scss +142 -0
  75. data/vendor/assets/stylesheets/compass/typography/_links.scss +3 -0
  76. data/vendor/assets/stylesheets/compass/typography/_lists.scss +4 -0
  77. data/vendor/assets/stylesheets/compass/typography/_text.scss +4 -0
  78. data/vendor/assets/stylesheets/compass/typography/_vertical_rhythm.scss +219 -0
  79. data/vendor/assets/stylesheets/compass/typography/links/_hover-link.scss +5 -0
  80. data/vendor/assets/stylesheets/compass/typography/links/_link-colors.scss +28 -0
  81. data/vendor/assets/stylesheets/compass/typography/links/_unstyled-link.scss +7 -0
  82. data/vendor/assets/stylesheets/compass/typography/lists/_bullets.scss +34 -0
  83. data/vendor/assets/stylesheets/compass/typography/lists/_horizontal-list.scss +61 -0
  84. data/vendor/assets/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -0
  85. data/vendor/assets/stylesheets/compass/typography/lists/_inline-list.scss +44 -0
  86. data/vendor/assets/stylesheets/compass/typography/text/_ellipsis.scss +25 -0
  87. data/vendor/assets/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
  88. data/vendor/assets/stylesheets/compass/typography/text/_nowrap.scss +2 -0
  89. data/vendor/assets/stylesheets/compass/typography/text/_replacement.scss +68 -0
  90. data/vendor/assets/stylesheets/compass/utilities/_color.scss +1 -0
  91. data/vendor/assets/stylesheets/compass/utilities/_general.scss +6 -0
  92. data/vendor/assets/stylesheets/compass/utilities/_links.scss +5 -0
  93. data/vendor/assets/stylesheets/compass/utilities/_lists.scss +6 -0
  94. data/vendor/assets/stylesheets/compass/utilities/_print.scss +17 -0
  95. data/vendor/assets/stylesheets/compass/utilities/_sprites.scss +2 -0
  96. data/vendor/assets/stylesheets/compass/utilities/_tables.scss +3 -0
  97. data/vendor/assets/stylesheets/compass/utilities/_text.scss +5 -0
  98. data/vendor/assets/stylesheets/compass/utilities/color/_contrast.scss +28 -0
  99. data/vendor/assets/stylesheets/compass/utilities/general/_clearfix.scss +44 -0
  100. data/vendor/assets/stylesheets/compass/utilities/general/_float.scss +30 -0
  101. data/vendor/assets/stylesheets/compass/utilities/general/_hacks.scss +46 -0
  102. data/vendor/assets/stylesheets/compass/utilities/general/_min.scss +16 -0
  103. data/vendor/assets/stylesheets/compass/utilities/general/_reset.scss +2 -0
  104. data/vendor/assets/stylesheets/compass/utilities/general/_tabs.scss +1 -0
  105. data/vendor/assets/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
  106. data/vendor/assets/stylesheets/compass/utilities/links/_hover-link.scss +3 -0
  107. data/vendor/assets/stylesheets/compass/utilities/links/_link-colors.scss +3 -0
  108. data/vendor/assets/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -0
  109. data/vendor/assets/stylesheets/compass/utilities/lists/_bullets.scss +3 -0
  110. data/vendor/assets/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -0
  111. data/vendor/assets/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -0
  112. data/vendor/assets/stylesheets/compass/utilities/lists/_inline-list.scss +3 -0
  113. data/vendor/assets/stylesheets/compass/utilities/sprites/_base.scss +66 -0
  114. data/vendor/assets/stylesheets/compass/utilities/sprites/_sprite-img.scss +79 -0
  115. data/vendor/assets/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -0
  116. data/vendor/assets/stylesheets/compass/utilities/tables/_borders.scss +33 -0
  117. data/vendor/assets/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
  118. data/vendor/assets/stylesheets/compass/utilities/text/_ellipsis.scss +3 -0
  119. data/vendor/assets/stylesheets/compass/utilities/text/_nowrap.scss +3 -0
  120. data/vendor/assets/stylesheets/compass/utilities/text/_replacement.scss +3 -0
  121. metadata +119 -1
@@ -0,0 +1,142 @@
1
+ // Based on [Eric Meyer's reset 2.0](http://meyerweb.com/eric/tools/css/reset/index.html)
2
+ // Global reset rules.
3
+ // For more specific resets, use the reset mixins provided below
4
+ @mixin global-reset {
5
+ html, body, div, span, applet, object, iframe,
6
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
7
+ a, abbr, acronym, address, big, cite, code,
8
+ del, dfn, em, img, ins, kbd, q, s, samp,
9
+ small, strike, strong, sub, sup, tt, var,
10
+ b, u, i, center,
11
+ dl, dt, dd, ol, ul, li,
12
+ fieldset, form, label, legend,
13
+ table, caption, tbody, tfoot, thead, tr, th, td,
14
+ article, aside, canvas, details, embed,
15
+ figure, figcaption, footer, header, hgroup,
16
+ menu, nav, output, ruby, section, summary,
17
+ time, mark, audio, video {
18
+ @include reset-box-model;
19
+ @include reset-font; }
20
+ // Unlike Eric's original reset, we reset the html element to be compatible
21
+ // with the vertical rhythm mixins.
22
+ html {
23
+ @include reset-body; }
24
+ ol, ul {
25
+ @include reset-list-style; }
26
+ table {
27
+ @include reset-table; }
28
+ caption, th, td {
29
+ @include reset-table-cell; }
30
+ q, blockquote {
31
+ @include reset-quotation; }
32
+ a img {
33
+ @include reset-image-anchor-border; }
34
+ @include reset-html5; }
35
+
36
+ // Reset all elements within some selector scope. To reset the selector itself,
37
+ // mixin the appropriate reset mixin for that element type as well. This could be
38
+ // useful if you want to style a part of your page in a dramatically different way.
39
+ @mixin nested-reset {
40
+ div, span, applet, object, iframe,
41
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
42
+ a, abbr, acronym, address, big, cite, code,
43
+ del, dfn, em, img, ins, kbd, q, s, samp,
44
+ small, strike, strong, sub, sup, tt, var,
45
+ b, u, i, center,
46
+ dl, dt, dd, ol, ul, li,
47
+ fieldset, form, label, legend,
48
+ table, caption, tbody, tfoot, thead, tr, th, td,
49
+ article, aside, canvas, details, embed,
50
+ figure, figcaption, footer, header, hgroup,
51
+ menu, nav, output, ruby, section, summary,
52
+ time, mark, audio, video {
53
+ @include reset-box-model;
54
+ @include reset-font; }
55
+ table {
56
+ @include reset-table; }
57
+ caption, th, td {
58
+ @include reset-table-cell; }
59
+ q, blockquote {
60
+ @include reset-quotation; }
61
+ a img {
62
+ @include reset-image-anchor-border; } }
63
+
64
+ // Reset the box model measurements.
65
+ @mixin reset-box-model {
66
+ margin: 0;
67
+ padding: 0;
68
+ border: 0; }
69
+
70
+ // Reset the font and vertical alignment.
71
+ @mixin reset-font {
72
+ font: inherit;
73
+ font-size: 100%;
74
+ vertical-align: baseline; }
75
+
76
+ // Resets the outline when focus.
77
+ // For accessibility you need to apply some styling in its place.
78
+ @mixin reset-focus {
79
+ outline: 0; }
80
+
81
+ // Reset a body element.
82
+ @mixin reset-body {
83
+ line-height: 1; }
84
+
85
+ // Reset the list style of an element.
86
+ @mixin reset-list-style {
87
+ list-style: none; }
88
+
89
+ // Reset a table
90
+ @mixin reset-table {
91
+ border-collapse: collapse;
92
+ border-spacing: 0; }
93
+
94
+ // Reset a table cell (`th`, `td`)
95
+ @mixin reset-table-cell {
96
+ text-align: left;
97
+ font-weight: normal;
98
+ vertical-align: middle; }
99
+
100
+ // Reset a quotation (`q`, `blockquote`)
101
+ @mixin reset-quotation {
102
+ quotes: none;
103
+ &:before, &:after {
104
+ content: "";
105
+ content: none; } }
106
+
107
+ // Resets the border.
108
+ @mixin reset-image-anchor-border {
109
+ border: none; }
110
+
111
+ // Unrecognized elements are displayed inline.
112
+ // This reset provides a basic reset for block html5 elements
113
+ // so they are rendered correctly in browsers that don't recognize them
114
+ // and reset in browsers that have default styles for them.
115
+ @mixin reset-html5 {
116
+ #{elements-of-type(html5-block)} {
117
+ display: block; } }
118
+
119
+ // Resets the display of inline and block elements to their default display
120
+ // according to their tag type. Elements that have a default display that varies across
121
+ // versions of html or browser are not handled here, but this covers the 90% use case.
122
+ // Usage Example:
123
+ //
124
+ // // Turn off the display for both of these classes
125
+ // .unregistered-only, .registered-only
126
+ // display: none
127
+ // // Now turn only one of them back on depending on some other context.
128
+ // body.registered
129
+ // +reset-display(".registered-only")
130
+ // body.unregistered
131
+ // +reset-display(".unregistered-only")
132
+ @mixin reset-display($selector: "", $important: false) {
133
+ #{append-selector(elements-of-type("inline"), $selector)} {
134
+ @if $important {
135
+ display: inline !important; }
136
+ @else {
137
+ display: inline; } }
138
+ #{append-selector(elements-of-type("block"), $selector)} {
139
+ @if $important {
140
+ display: block !important; }
141
+ @else {
142
+ display: block; } } }
@@ -0,0 +1,3 @@
1
+ @import "links/hover-link";
2
+ @import "links/link-colors";
3
+ @import "links/unstyled-link";
@@ -0,0 +1,4 @@
1
+ @import "lists/horizontal-list";
2
+ @import "lists/inline-list";
3
+ @import "lists/inline-block-list";
4
+ @import "lists/bullets";
@@ -0,0 +1,4 @@
1
+ @import "text/ellipsis";
2
+ @import "text/nowrap";
3
+ @import "text/replacement";
4
+ @import "text/force-wrap";
@@ -0,0 +1,219 @@
1
+ @import "../layout/grid-background";
2
+
3
+ // The base font size.
4
+ $base-font-size: 16px !default;
5
+
6
+ // The base line height determines the basic unit of vertical rhythm.
7
+ $base-line-height: 24px !default;
8
+
9
+ // Set the default border style for rhythm borders.
10
+ $default-rhythm-border-style: solid !default;
11
+
12
+ // The default font size in all browsers.
13
+ $browser-default-font-size: 16px;
14
+
15
+ // Set to false if you want to use absolute pixels in sizing your typography.
16
+ $relative-font-sizing: true !default;
17
+
18
+ // Allows the `adjust-font-size-to` mixin and the `lines-for-font-size` function
19
+ // to round the line height to the nearest half line height instead of the
20
+ // nearest integral line height to avoid large spacing between lines.
21
+ $round-to-nearest-half-line: false !default;
22
+
23
+ // Ensure there is at least this many pixels
24
+ // of vertical padding above and below the text.
25
+ $min-line-padding: 2px !default;
26
+
27
+ // $base-font-size but in your output unit of choice.
28
+ // Defaults to 1em when `$relative-font-sizing` is true.
29
+ $font-unit: if($relative-font-sizing, 1em, $base-font-size) !default;
30
+
31
+ // The basic unit of font rhythm.
32
+ $base-rhythm-unit: $base-line-height / $base-font-size * $font-unit;
33
+
34
+ // The leader is the amount of whitespace in a line.
35
+ // It might be useful in your calculations.
36
+ $base-leader: ($base-line-height - $base-font-size) * $font-unit / $base-font-size;
37
+
38
+ // The half-leader is the amount of whitespace above and below a line.
39
+ // It might be useful in your calculations.
40
+ $base-half-leader: $base-leader / 2;
41
+
42
+ // True if a number has a relative unit.
43
+ @function relative-unit($number) {
44
+ @return unit($number) == "%" or unit($number) == "em" or unit($number) == "rem"
45
+ }
46
+
47
+ // True if a number has an absolute unit.
48
+ @function absolute-unit($number) {
49
+ @return not(relative-unit($number) or unitless($number));
50
+ }
51
+
52
+ @if $relative-font-sizing and not(relative-unit($font-unit)) {
53
+ @warn "$relative-font-sizing is true but $font-unit is set to #{$font-unit} which is not a relative unit.";
54
+ }
55
+
56
+ // Establishes a font baseline for the given font-size.
57
+ @mixin establish-baseline($font-size: $base-font-size) {
58
+ // IE 6 refuses to resize fonts set in pixels and it weirdly resizes fonts
59
+ // whose root is set in ems. So we set the root font size in percentages of
60
+ // the default font size.
61
+ * html {
62
+ font-size: 100% * ($font-size / $browser-default-font-size);
63
+ }
64
+ html {
65
+ font-size: $font-size;
66
+ @include adjust-leading-to(1, if($relative-font-sizing, $font-size, $base-font-size));
67
+ }
68
+ }
69
+
70
+ // Resets the line-height to 1 vertical rhythm unit.
71
+ // Does not work on elements whose font-size is different from $base-font-size.
72
+ //
73
+ // @deprecated This mixin will be removed in the next release.
74
+ // Please use the `adjust-leading-to` mixin instead.
75
+ @mixin reset-baseline {
76
+ @include adjust-leading-to(1, if($relative-font-sizing, $base-font-size, $base-font-size));
77
+ }
78
+
79
+ // Show a background image that can be used to debug your alignments.
80
+ // Include the $img argument if you would rather use your own image than the
81
+ // Compass default gradient image.
82
+ @mixin debug-vertical-alignment($img: false) {
83
+ @if $img {
84
+ background: image-url($img);
85
+ } @else {
86
+ @include baseline-grid-background($base-rhythm-unit);
87
+ }
88
+ }
89
+
90
+ // Adjust a block to have a different font size and line height to maintain the
91
+ // rhythm. $lines specifies how many multiples of the baseline rhythm each line
92
+ // of this font should use up. It does not have to be an integer, but it
93
+ // defaults to the smallest integer that is large enough to fit the font.
94
+ // Use $from-size to adjust from a font-size other than the base font-size.
95
+ @mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) {
96
+ @if not($relative-font-sizing) and $from-size != $base-font-size {
97
+ @warn "$relative-font-sizing is false but a relative font size was passed to adjust-font-size-to";
98
+ }
99
+ font-size: $font-unit * $to-size / $from-size;
100
+ @include adjust-leading-to($lines, if($relative-font-sizing, $to-size, $base-font-size));
101
+ }
102
+
103
+ // Adjust a block to have different line height to maintain the rhythm.
104
+ // $lines specifies how many multiples of the baseline rhythm each line of this
105
+ // font should use up. It does not have to be an integer, but it defaults to the
106
+ // smallest integer that is large enough to fit the font.
107
+ @mixin adjust-leading-to($lines, $font-size: $base-font-size) {
108
+ line-height: rhythm($lines, $font-size);
109
+ }
110
+
111
+ // Calculate rhythm units.
112
+ @function rhythm(
113
+ $lines: 1,
114
+ $font-size: $base-font-size,
115
+ $offset: 0
116
+ ) {
117
+ @if not($relative-font-sizing) and $font-size != $base-font-size {
118
+ @warn "$relative-font-sizing is false but a relative font size was passed to the rhythm function";
119
+ }
120
+ $rhythm: $font-unit * ($lines * $base-line-height - $offset) / $font-size;
121
+ // Round the pixels down to nearest integer.
122
+ @if unit($rhythm) == px {
123
+ $rhythm: floor($rhythm);
124
+ }
125
+ @return $rhythm;
126
+ }
127
+
128
+ // Calculate the minimum multiple of rhythm units needed to contain the font-size.
129
+ @function lines-for-font-size($font-size) {
130
+ $lines: if($round-to-nearest-half-line,
131
+ ceil(2 * $font-size / $base-line-height) / 2,
132
+ ceil($font-size / $base-line-height));
133
+ @if $lines * $base-line-height - $font-size < $min-line-padding * 2 {
134
+ $lines: $lines + if($round-to-nearest-half-line, 0.5, 1);
135
+ }
136
+ @return $lines;
137
+ }
138
+
139
+ // Apply leading whitespace. The $property can be margin or padding.
140
+ @mixin leader($lines: 1, $font-size: $base-font-size, $property: margin) {
141
+ #{$property}-top: rhythm($lines, $font-size);
142
+ }
143
+
144
+ // Apply leading whitespace as padding.
145
+ @mixin padding-leader($lines: 1, $font-size: $base-font-size) {
146
+ padding-top: rhythm($lines, $font-size);
147
+ }
148
+
149
+ // Apply leading whitespace as margin.
150
+ @mixin margin-leader($lines: 1, $font-size: $base-font-size) {
151
+ margin-top: rhythm($lines, $font-size);
152
+ }
153
+
154
+ // Apply trailing whitespace. The $property can be margin or padding.
155
+ @mixin trailer($lines: 1, $font-size: $base-font-size, $property: margin) {
156
+ #{$property}-bottom: rhythm($lines, $font-size);
157
+ }
158
+
159
+ // Apply trailing whitespace as padding.
160
+ @mixin padding-trailer($lines: 1, $font-size: $base-font-size) {
161
+ padding-bottom: rhythm($lines, $font-size);
162
+ }
163
+
164
+ // Apply trailing whitespace as margin.
165
+ @mixin margin-trailer($lines: 1, $font-size: $base-font-size) {
166
+ margin-bottom: rhythm($lines, $font-size);
167
+ }
168
+
169
+ // Shorthand mixin to apply whitespace for top and bottom margins and padding.
170
+ @mixin rhythm($leader: 0, $padding-leader: 0, $padding-trailer: 0, $trailer: 0, $font-size: $base-font-size) {
171
+ @include leader($leader, $font-size);
172
+ @include padding-leader($padding-leader, $font-size);
173
+ @include padding-trailer($padding-trailer, $font-size);
174
+ @include trailer($trailer, $font-size);
175
+ }
176
+
177
+ // Apply a border and whitespace to any side without destroying the vertical
178
+ // rhythm. The whitespace must be greater than the width of the border.
179
+ @mixin apply-side-rhythm-border($side, $width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
180
+ @if not($relative-font-sizing) and $font-size != $base-font-size {
181
+ @warn "$relative-font-sizing is false but a relative font size was passed to apply-side-rhythm-border";
182
+ }
183
+ border-#{$side}-style: $border-style;
184
+ border-#{$side}-width: $font-unit * $width / $font-size;
185
+ padding-#{$side}: rhythm($lines, $font-size, $offset: $width);
186
+ }
187
+
188
+ // Apply borders and whitespace equally to all sides.
189
+ @mixin rhythm-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
190
+ @if not($relative-font-sizing) and $font-size != $base-font-size {
191
+ @warn "$relative-font-sizing is false but a relative font size was passed to rhythm-borders";
192
+ }
193
+ border: {
194
+ style: $border-style;
195
+ width: $font-unit * $width / $font-size;
196
+ };
197
+ padding: rhythm($lines, $font-size, $offset: $width);
198
+ }
199
+
200
+ // Apply a leading border.
201
+ @mixin leading-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
202
+ @include apply-side-rhythm-border(top, $width, $lines, $font-size, $border-style);
203
+ }
204
+
205
+ // Apply a trailing border.
206
+ @mixin trailing-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
207
+ @include apply-side-rhythm-border(bottom, $width, $lines, $font-size, $border-style);
208
+ }
209
+
210
+ // Apply both leading and trailing borders.
211
+ @mixin horizontal-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
212
+ @include leading-border($width, $lines, $font-size, $border-style);
213
+ @include trailing-border($width, $lines, $font-size, $border-style);
214
+ }
215
+
216
+ // Alias for `horizontal-borders` mixin.
217
+ @mixin h-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
218
+ @include horizontal-borders($width, $lines, $font-size, $border-style);
219
+ }
@@ -0,0 +1,5 @@
1
+ // a link that only has an underline when you hover over it
2
+ @mixin hover-link {
3
+ text-decoration: none;
4
+ &:hover {
5
+ text-decoration: underline; } }
@@ -0,0 +1,28 @@
1
+ // Set all the colors for a link with one mixin call.
2
+ // Order of arguments is:
3
+ //
4
+ // 1. normal
5
+ // 2. hover
6
+ // 3. active
7
+ // 4. visited
8
+ // 5. focus
9
+ //
10
+ // Those states not specified will inherit.
11
+ // Mixin to an anchor link like so:
12
+ // a
13
+ // +link-colors(#00c, #0cc, #c0c, #ccc, #cc0)
14
+
15
+ @mixin link-colors($normal, $hover: false, $active: false, $visited: false, $focus: false) {
16
+ color: $normal;
17
+ @if $visited {
18
+ &:visited {
19
+ color: $visited; } }
20
+ @if $focus {
21
+ &:focus {
22
+ color: $focus; } }
23
+ @if $hover {
24
+ &:hover {
25
+ color: $hover; } }
26
+ @if $active {
27
+ &:active {
28
+ color: $active; } } }
@@ -0,0 +1,7 @@
1
+ // A link that looks and acts like the text it is contained within
2
+ @mixin unstyled-link {
3
+ color: inherit;
4
+ text-decoration: inherit;
5
+ cursor: inherit;
6
+ &:active, &:focus {
7
+ outline: none; } }
@@ -0,0 +1,34 @@
1
+ // Turn off the bullet for an element of a list
2
+ @mixin no-bullet {
3
+ list-style-image : none;
4
+ list-style-type : none;
5
+ margin-left : 0;
6
+ }
7
+
8
+ // turns off the bullets for an entire list
9
+ @mixin no-bullets {
10
+ list-style: none;
11
+ li { @include no-bullet; }
12
+ }
13
+
14
+ // Make a list(ul/ol) have an image bullet.
15
+ //
16
+ // The mixin should be used like this for an icon that is 5x7:
17
+ //
18
+ // ul.pretty
19
+ // +pretty-bullets("my-icon.png", 5px, 7px)
20
+ //
21
+ // Additionally, if the image dimensions are not provided,
22
+ // The image dimensions will be extracted from the image itself.
23
+ //
24
+ // ul.pretty
25
+ // +pretty-bullets("my-icon.png")
26
+ //
27
+ @mixin pretty-bullets($bullet-icon, $width: image-width($bullet-icon), $height: image-height($bullet-icon), $line-height: 18px, $padding: 14px) {
28
+ margin-left: 0;
29
+ li {
30
+ padding-left: $padding;
31
+ background: image-url($bullet-icon) no-repeat ($padding - $width) / 2 ($line-height - $height) / 2;
32
+ list-style-type: none;
33
+ }
34
+ }