concen 0.2.4 → 0.2.5

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 (150) hide show
  1. data/Gemfile +0 -3
  2. data/Gemfile.lock +0 -9
  3. data/LICENSE +1 -1
  4. data/README.md +23 -1
  5. data/app/assets/stylesheets/concen/application.css.sass +14 -16
  6. data/app/assets/stylesheets/concen/compass/_css3.scss +17 -0
  7. data/app/assets/stylesheets/concen/compass/_layout.scss +3 -0
  8. data/app/assets/stylesheets/concen/compass/_reset-legacy.scss +3 -0
  9. data/app/assets/stylesheets/concen/compass/_reset.scss +3 -0
  10. data/app/assets/stylesheets/concen/compass/_support.scss +36 -0
  11. data/app/assets/stylesheets/concen/compass/_typography.scss +4 -0
  12. data/app/assets/stylesheets/concen/compass/_utilities.scss +9 -0
  13. data/app/assets/stylesheets/concen/compass/css3/_appearance.scss +13 -0
  14. data/app/assets/stylesheets/concen/compass/css3/_background-clip.scss +43 -0
  15. data/app/assets/stylesheets/concen/compass/css3/_background-origin.scss +42 -0
  16. data/app/assets/stylesheets/concen/compass/css3/_background-size.scss +26 -0
  17. data/app/assets/stylesheets/concen/compass/css3/_border-radius.scss +135 -0
  18. data/app/assets/stylesheets/concen/compass/css3/_box-shadow.scss +93 -0
  19. data/app/assets/stylesheets/concen/compass/css3/_box-sizing.scss +13 -0
  20. data/app/assets/stylesheets/concen/compass/css3/_box.scss +111 -0
  21. data/app/assets/stylesheets/concen/compass/css3/_columns.scss +60 -0
  22. data/app/assets/stylesheets/concen/compass/css3/_font-face.scss +63 -0
  23. data/app/assets/stylesheets/concen/compass/css3/_gradient.scss +99 -0
  24. data/app/assets/stylesheets/concen/compass/css3/_images.scss +132 -0
  25. data/app/assets/stylesheets/concen/compass/css3/_inline-block.scss +16 -0
  26. data/app/assets/stylesheets/concen/compass/css3/_opacity.scss +19 -0
  27. data/app/assets/stylesheets/concen/compass/css3/_pie.scss +73 -0
  28. data/app/assets/stylesheets/concen/compass/css3/_shared.scss +38 -0
  29. data/app/assets/stylesheets/concen/compass/css3/_text-shadow.scss +62 -0
  30. data/app/assets/stylesheets/concen/compass/css3/_transform-legacy.scss +87 -0
  31. data/app/assets/stylesheets/concen/compass/css3/_transform.scss +598 -0
  32. data/app/assets/stylesheets/concen/compass/css3/_transition.scss +119 -0
  33. data/app/assets/stylesheets/concen/compass/layout/_grid-background.scss +178 -0
  34. data/app/assets/stylesheets/concen/compass/layout/_sticky-footer.scss +23 -0
  35. data/app/assets/stylesheets/concen/compass/layout/_stretching.scss +24 -0
  36. data/app/assets/stylesheets/concen/compass/reset/_utilities-legacy.scss +135 -0
  37. data/app/assets/stylesheets/concen/compass/reset/_utilities.scss +140 -0
  38. data/app/assets/stylesheets/concen/compass/typography/_links.scss +3 -0
  39. data/app/assets/stylesheets/concen/compass/typography/_lists.scss +4 -0
  40. data/app/assets/stylesheets/concen/compass/typography/_text.scss +4 -0
  41. data/app/assets/stylesheets/concen/compass/typography/_vertical_rhythm.scss +193 -0
  42. data/app/assets/stylesheets/concen/compass/typography/links/_hover-link.scss +5 -0
  43. data/app/assets/stylesheets/concen/compass/typography/links/_link-colors.scss +28 -0
  44. data/app/assets/stylesheets/concen/compass/typography/links/_unstyled-link.scss +7 -0
  45. data/app/assets/stylesheets/concen/compass/typography/lists/_bullets.scss +34 -0
  46. data/app/assets/stylesheets/concen/compass/typography/lists/_horizontal-list.scss +61 -0
  47. data/app/assets/stylesheets/concen/compass/typography/lists/_inline-block-list.scss +47 -0
  48. data/app/assets/stylesheets/concen/compass/typography/lists/_inline-list.scss +44 -0
  49. data/app/assets/stylesheets/concen/compass/typography/text/_ellipsis.scss +25 -0
  50. data/app/assets/stylesheets/concen/compass/typography/text/_force-wrap.scss +12 -0
  51. data/app/assets/stylesheets/concen/compass/typography/text/_nowrap.scss +2 -0
  52. data/app/assets/stylesheets/concen/compass/typography/text/_replacement.scss +34 -0
  53. data/app/assets/stylesheets/concen/compass/utilities/_color.scss +1 -0
  54. data/app/assets/stylesheets/concen/compass/utilities/_general.scss +6 -0
  55. data/app/assets/stylesheets/concen/compass/utilities/_links.scss +5 -0
  56. data/app/assets/stylesheets/concen/compass/utilities/_lists.scss +6 -0
  57. data/app/assets/stylesheets/concen/compass/utilities/_print.scss +17 -0
  58. data/app/assets/stylesheets/concen/compass/utilities/_sprites.scss +1 -0
  59. data/app/assets/stylesheets/concen/compass/utilities/_tables.scss +3 -0
  60. data/app/assets/stylesheets/concen/compass/utilities/_text.scss +5 -0
  61. data/app/assets/stylesheets/concen/compass/utilities/color/_contrast.scss +28 -0
  62. data/app/assets/stylesheets/concen/compass/utilities/general/_clearfix.scss +44 -0
  63. data/app/assets/stylesheets/concen/compass/utilities/general/_float.scss +30 -0
  64. data/app/assets/stylesheets/concen/compass/utilities/general/_hacks.scss +46 -0
  65. data/app/assets/stylesheets/concen/compass/utilities/general/_min.scss +16 -0
  66. data/app/assets/stylesheets/concen/compass/utilities/general/_reset.scss +2 -0
  67. data/app/assets/stylesheets/concen/compass/utilities/general/_tabs.scss +1 -0
  68. data/app/assets/stylesheets/concen/compass/utilities/general/_tag-cloud.scss +18 -0
  69. data/app/assets/stylesheets/concen/compass/utilities/links/_hover-link.scss +3 -0
  70. data/app/assets/stylesheets/concen/compass/utilities/links/_link-colors.scss +3 -0
  71. data/app/assets/stylesheets/concen/compass/utilities/links/_unstyled-link.scss +3 -0
  72. data/app/assets/stylesheets/concen/compass/utilities/lists/_bullets.scss +3 -0
  73. data/app/assets/stylesheets/concen/compass/utilities/lists/_horizontal-list.scss +3 -0
  74. data/app/assets/stylesheets/concen/compass/utilities/lists/_inline-block-list.scss +3 -0
  75. data/app/assets/stylesheets/concen/compass/utilities/lists/_inline-list.scss +3 -0
  76. data/app/assets/stylesheets/concen/compass/utilities/sprites/_base.scss +66 -0
  77. data/app/assets/stylesheets/concen/compass/utilities/sprites/_sprite-img.scss +56 -0
  78. data/app/assets/stylesheets/concen/compass/utilities/tables/_alternating-rows-and-columns.scss +20 -0
  79. data/app/assets/stylesheets/concen/compass/utilities/tables/_borders.scss +33 -0
  80. data/app/assets/stylesheets/concen/compass/utilities/tables/_scaffolding.scss +9 -0
  81. data/app/assets/stylesheets/concen/compass/utilities/text/_ellipsis.scss +3 -0
  82. data/app/assets/stylesheets/concen/compass/utilities/text/_nowrap.scss +3 -0
  83. data/app/assets/stylesheets/concen/compass/utilities/text/_replacement.scss +3 -0
  84. data/app/assets/stylesheets/concen/partials/_base.sass +4 -4
  85. data/app/assets/stylesheets/concen/partials/_variables.sass +5 -5
  86. data/app/helpers/concen/application_helper.rb +0 -6
  87. data/app/models/concen/page.rb +12 -3
  88. data/app/views/concen/grid_files/_form.html.erb +23 -0
  89. data/app/views/concen/grid_files/edit.html.erb +10 -0
  90. data/app/views/concen/pages/_file_list.erb +11 -0
  91. data/app/views/concen/pages/_files.erb +32 -0
  92. data/app/views/concen/pages/_form.html.erb +26 -0
  93. data/app/views/concen/pages/_nested_list.html.erb +22 -0
  94. data/app/views/concen/pages/edit.html.erb +19 -0
  95. data/app/views/concen/pages/index.html.erb +12 -0
  96. data/app/views/concen/pages/new.html.erb +10 -0
  97. data/app/views/concen/performances/_runtimes.html.erb +8 -0
  98. data/app/views/concen/performances/show.html.erb +40 -0
  99. data/app/views/concen/sessions/new.html.erb +17 -0
  100. data/app/views/concen/statuses/_server.html.erb +34 -0
  101. data/app/views/concen/statuses/show.html.erb +27 -0
  102. data/app/views/concen/traffics/_pages.html.erb +8 -0
  103. data/app/views/concen/traffics/_referrals.html.erb +12 -0
  104. data/app/views/concen/traffics/show.html.erb +40 -0
  105. data/app/views/concen/users/_form.html.erb +42 -0
  106. data/app/views/concen/users/{_password_reset.html.haml → _password_reset.html.erb} +0 -0
  107. data/app/views/concen/users/_settings.html.erb +23 -0
  108. data/app/views/concen/users/edit.html.erb +12 -0
  109. data/app/views/concen/users/index.html.erb +40 -0
  110. data/app/views/concen/users/new.html.erb +6 -0
  111. data/app/views/concen/users/new_invite.html.erb +24 -0
  112. data/app/views/concen/users/new_reset_password.html.erb +24 -0
  113. data/app/views/layouts/concen/{_additional_header_links.haml → _additional_header_links.html.erb} +0 -0
  114. data/app/views/layouts/concen/_header.html.erb +24 -0
  115. data/app/views/layouts/concen/{maintenance.html.haml → _iphone.html.erb} +0 -0
  116. data/app/views/layouts/concen/application.html.erb +42 -0
  117. data/app/views/layouts/concen/maintenance.html.erb +0 -0
  118. data/concen.gemspec +0 -2
  119. data/lib/concen/engine.rb +0 -1
  120. data/lib/concen/version.rb +1 -1
  121. data/test/support/raw_text/smartypants.html +1 -1
  122. data/test/support/raw_text/smartypants.txt +1 -1
  123. metadata +130 -74
  124. data/app/views/concen/grid_files/_form.html.haml +0 -15
  125. data/app/views/concen/grid_files/edit.html.haml +0 -7
  126. data/app/views/concen/pages/_file_list.haml +0 -7
  127. data/app/views/concen/pages/_files.haml +0 -24
  128. data/app/views/concen/pages/_form.html.haml +0 -17
  129. data/app/views/concen/pages/_nested_list.html.haml +0 -15
  130. data/app/views/concen/pages/edit.html.haml +0 -13
  131. data/app/views/concen/pages/index.html.haml +0 -12
  132. data/app/views/concen/pages/new.html.haml +0 -7
  133. data/app/views/concen/performances/_runtimes.html.haml +0 -5
  134. data/app/views/concen/performances/show.html.haml +0 -27
  135. data/app/views/concen/sessions/new.html.haml +0 -12
  136. data/app/views/concen/statuses/_server.html.haml +0 -19
  137. data/app/views/concen/statuses/show.html.haml +0 -18
  138. data/app/views/concen/traffics/_pages.html.haml +0 -5
  139. data/app/views/concen/traffics/_referrals.html.haml +0 -9
  140. data/app/views/concen/traffics/show.html.haml +0 -27
  141. data/app/views/concen/users/_form.html.haml +0 -29
  142. data/app/views/concen/users/_settings.html.haml +0 -15
  143. data/app/views/concen/users/edit.html.haml +0 -9
  144. data/app/views/concen/users/index.html.haml +0 -32
  145. data/app/views/concen/users/new.html.haml +0 -4
  146. data/app/views/concen/users/new_invite.html.haml +0 -15
  147. data/app/views/concen/users/new_reset_password.html.haml +0 -15
  148. data/app/views/layouts/concen/_header.html.haml +0 -18
  149. data/app/views/layouts/concen/_iphone.html.haml +0 -6
  150. data/app/views/layouts/concen/application.html.haml +0 -33
@@ -0,0 +1,140 @@
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
+ body {
21
+ @include reset-body; }
22
+ ol, ul {
23
+ @include reset-list-style; }
24
+ table {
25
+ @include reset-table; }
26
+ caption, th, td {
27
+ @include reset-table-cell; }
28
+ q, blockquote {
29
+ @include reset-quotation; }
30
+ a img {
31
+ @include reset-image-anchor-border; }
32
+ @include reset-html5; }
33
+
34
+ // Reset all elements within some selector scope. To reset the selector itself,
35
+ // mixin the appropriate reset mixin for that element type as well. This could be
36
+ // useful if you want to style a part of your page in a dramatically different way.
37
+ @mixin nested-reset {
38
+ div, span, applet, object, iframe,
39
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
40
+ a, abbr, acronym, address, big, cite, code,
41
+ del, dfn, em, img, ins, kbd, q, s, samp,
42
+ small, strike, strong, sub, sup, tt, var,
43
+ b, u, i, center,
44
+ dl, dt, dd, ol, ul, li,
45
+ fieldset, form, label, legend,
46
+ table, caption, tbody, tfoot, thead, tr, th, td,
47
+ article, aside, canvas, details, embed,
48
+ figure, figcaption, footer, header, hgroup,
49
+ menu, nav, output, ruby, section, summary,
50
+ time, mark, audio, video {
51
+ @include reset-box-model;
52
+ @include reset-font; }
53
+ table {
54
+ @include reset-table; }
55
+ caption, th, td {
56
+ @include reset-table-cell; }
57
+ q, blockquote {
58
+ @include reset-quotation; }
59
+ a img {
60
+ @include reset-image-anchor-border; } }
61
+
62
+ // Reset the box model measurements.
63
+ @mixin reset-box-model {
64
+ margin: 0;
65
+ padding: 0;
66
+ border: 0; }
67
+
68
+ // Reset the font and vertical alignment.
69
+ @mixin reset-font {
70
+ font-size: 100%;
71
+ font: inherit;
72
+ vertical-align: baseline; }
73
+
74
+ // Resets the outline when focus.
75
+ // For accessibility you need to apply some styling in its place.
76
+ @mixin reset-focus {
77
+ outline: 0; }
78
+
79
+ // Reset a body element.
80
+ @mixin reset-body {
81
+ line-height: 1; }
82
+
83
+ // Reset the list style of an element.
84
+ @mixin reset-list-style {
85
+ list-style: none; }
86
+
87
+ // Reset a table
88
+ @mixin reset-table {
89
+ border-collapse: collapse;
90
+ border-spacing: 0; }
91
+
92
+ // Reset a table cell (`th`, `td`)
93
+ @mixin reset-table-cell {
94
+ text-align: left;
95
+ font-weight: normal;
96
+ vertical-align: middle; }
97
+
98
+ // Reset a quotation (`q`, `blockquote`)
99
+ @mixin reset-quotation {
100
+ quotes: none;
101
+ &:before, &:after {
102
+ content: "";
103
+ content: none; } }
104
+
105
+ // Resets the border.
106
+ @mixin reset-image-anchor-border {
107
+ border: none; }
108
+
109
+ // Unrecognized elements are displayed inline.
110
+ // This reset provides a basic reset for block html5 elements
111
+ // so they are rendered correctly in browsers that don't recognize them
112
+ // and reset in browsers that have default styles for them.
113
+ @mixin reset-html5 {
114
+ #{elements-of-type(html5-block)} {
115
+ display: block; } }
116
+
117
+ // Resets the display of inline and block elements to their default display
118
+ // according to their tag type. Elements that have a default display that varies across
119
+ // versions of html or browser are not handled here, but this covers the 90% use case.
120
+ // Usage Example:
121
+ //
122
+ // // Turn off the display for both of these classes
123
+ // .unregistered-only, .registered-only
124
+ // display: none
125
+ // // Now turn only one of them back on depending on some other context.
126
+ // body.registered
127
+ // +reset-display(".registered-only")
128
+ // body.unregistered
129
+ // +reset-display(".unregistered-only")
130
+ @mixin reset-display($selector: "", $important: false) {
131
+ #{append-selector(elements-of-type("inline"), $selector)} {
132
+ @if $important {
133
+ display: inline !important; }
134
+ @else {
135
+ display: inline; } }
136
+ #{append-selector(elements-of-type("block"), $selector)} {
137
+ @if $important {
138
+ display: block !important; }
139
+ @else {
140
+ 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,193 @@
1
+ // The base font size
2
+ $base-font-size: 16px !default;
3
+
4
+ // The base line height is the basic unit of line hightness.
5
+ $base-line-height: 24px !default;
6
+
7
+ // set the default border style for rhythm borders
8
+ $default-rhythm-border-style: solid !default;
9
+
10
+ // The IE font ratio is a fact of life. Deal with it.
11
+ $ie-font-ratio: 16px / 100%;
12
+
13
+ // Set to false if you want to use absolute pixes in sizing your typography.
14
+ $relative-font-sizing: true !default;
15
+
16
+ // Ensure there is at least this many pixels
17
+ // of vertical padding above and below the text.
18
+ $min-line-padding: 2px;
19
+
20
+ // $base-font-size but in your output unit of choice.
21
+ // Defaults to 1em when `$relative-font-sizing`
22
+ $font-unit: if($relative-font-sizing, 1em, $base-font-size) !default;
23
+
24
+ // The basic unit of font rhythm
25
+ $base-rhythm-unit: $base-line-height / $base-font-size * $font-unit;
26
+
27
+ // The leader is the amount of whitespace in a line.
28
+ // It might be useful in your calculations
29
+ $base-leader: ($base-line-height - $base-font-size) * $font-unit / $base-font-size;
30
+
31
+ // The half-leader is the amount of whitespace above and below a line.
32
+ // It might be useful in your calculations
33
+ $base-half-leader: $base-leader / 2;
34
+
35
+ // True if a number has a relative unit
36
+ @function relative-unit($number) {
37
+ @return unit($number) == "%" or unit($number) == "em" or unit($number) == "rem"
38
+ }
39
+
40
+ // True if a number has an absolute unit
41
+ @function absolute-unit($number) {
42
+ @return not (relative-unit($number) or unitless($number));
43
+ }
44
+
45
+ @if $relative-font-sizing and not relative-unit($font-unit) {
46
+ @warn "$relative-font-sizing is true but $font-unit is set to #{$font-unit} which is not a relative unit.";
47
+ }
48
+
49
+ // Establishes a font baseline for the given font-size in pixels
50
+ @mixin establish-baseline($font-size: $base-font-size) {
51
+ body {
52
+ font-size: $font-size / $ie-font-ratio;
53
+ @include adjust-leading-to(1, if($relative-font-sizing, $font-size, $base-font-size));
54
+ }
55
+ html>body {
56
+ font-size: $font-size;
57
+ }
58
+ }
59
+
60
+ // Show a background image that can be used to debug your alignments.
61
+ @mixin debug-vertical-alignment($img: 'underline.png') {
62
+ background: url($img);
63
+ }
64
+
65
+ // Adjust a block to have a different font size and leading to maintain the rhythm.
66
+ // $lines is a number that is how many times the baseline rhythm this
67
+ // font size should use up. Does not have to be an integer, but it defaults
68
+ // to the smallest integer that is large enough to fit the font.
69
+ // Use $from_size to adjust from a non-base font-size.
70
+ @mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) {
71
+ @if not $relative-font-sizing and $from-size != $base-font-size {
72
+ @warn "$relative-font-sizing is false but a relative font size was passed to adjust-font-size-to";
73
+ }
74
+ font-size: $font-unit * $to-size / $from-size;
75
+ @include adjust-leading-to($lines, if($relative-font-sizing, $to-size, $base-font-size));
76
+ }
77
+
78
+ @mixin adjust-leading-to($lines, $font-size: $base-font-size) {
79
+ @if not $relative-font-sizing and $font-size != $base-font-size {
80
+ @warn "$relative-font-sizing is false but a relative font size was passed to adjust-leading-to";
81
+ }
82
+ line-height: $font-unit * $lines * $base-line-height / $font-size;
83
+ }
84
+
85
+ // Calculate rhythm units
86
+ @function rhythm(
87
+ $lines: 1,
88
+ $font-size: $base-font-size
89
+ ) {
90
+ @if not $relative-font-sizing and $font-size != $base-font-size {
91
+ @warn "$relative-font-sizing is false but a relative font size was passed to the rhythm function";
92
+ }
93
+ $rhythm: $font-unit * $lines * $base-line-height / $font-size;
94
+ @return $rhythm;
95
+ }
96
+
97
+ @function lines-for-font-size($font-size) {
98
+ $lines: ceil($font-size / $base-line-height);
99
+ @if $lines * $base-line-height - $font-size < $min-line-padding * 2 {
100
+ $lines: $lines + 1;
101
+ }
102
+ @return $lines;
103
+ }
104
+
105
+ // Apply leading whitespace
106
+ @mixin leader($lines: 1, $font-size: $base-font-size, $property: margin) {
107
+ $leader: rhythm($lines, $font-size);
108
+ @if unit($leader) == px {
109
+ $leader: floor($leader)
110
+ }
111
+ #{$property}-top: $leader;
112
+ }
113
+
114
+ // Apply leading whitespace as padding
115
+ @mixin padding-leader($lines: 1, $font-size: $base-font-size) {
116
+ @include leader($lines, $font-size, padding);
117
+ }
118
+
119
+ // Apply leading whitespace as margin
120
+ @mixin margin-leader($lines: 1, $font-size: $base-font-size) {
121
+ @include leader($lines, $font-size, margin);
122
+ }
123
+
124
+ // Apply trailing whitespace
125
+ @mixin trailer($lines: 1, $font-size: $base-font-size, $property: margin) {
126
+ $leader: rhythm($lines, $font-size);
127
+ @if unit($leader) == px {
128
+ $leader: ceil($leader)
129
+ }
130
+ #{$property}-bottom: $leader;
131
+ }
132
+
133
+ // Apply trailing whitespace as padding
134
+ @mixin padding-trailer($lines: 1, $font-size: $base-font-size) {
135
+ @include trailer($lines, $font-size, padding);
136
+ }
137
+
138
+ // Apply trailing whitespace as margin
139
+ @mixin margin-trailer($lines: 1, $font-size: $base-font-size) {
140
+ @include trailer($lines, $font-size, margin);
141
+ }
142
+
143
+ // Whitespace application shortcut
144
+ // Apply top margin/padding + bottom padding/margin
145
+ @mixin rhythm($leader: 0, $padding-leader: 0, $padding-trailer: 0, $trailer: 0, $font-size: $base-font-size) {
146
+ @include leader($leader, $font-size);
147
+ @include padding-leader($padding-leader, $font-size);
148
+ @include padding-trailer($padding-trailer, $font-size);
149
+ @include trailer($trailer, $font-size);
150
+ }
151
+
152
+ // Apply a border width to any side without destroying the vertical rhythm
153
+ @mixin apply-side-rhythm-border($side, $width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
154
+ @if not $relative-font-sizing and $font-size != $base-font-size {
155
+ @warn "$relative-font-sizing is false but a relative font size was passed to apply-side-rhythm-border";
156
+ }
157
+ border-#{$side}: {
158
+ style: $border-style;
159
+ width: $font-unit * $width / $font-size;
160
+ };
161
+ padding-#{$side}: $font-unit / $font-size * ($lines * $base-line-height - $width);
162
+ }
163
+
164
+ // Aplly rhythm borders equally to all sides
165
+ @mixin rhythm-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
166
+ @if not $relative-font-sizing and $font-size != $base-font-size {
167
+ @warn "$relative-font-sizing is false but a relative font size was passed to rhythm-borders";
168
+ }
169
+ border: {
170
+ style: $border-style;
171
+ width: $font-unit * $width / $font-size; };
172
+ padding: $font-unit / $font-size * ($lines * $base-line-height - $width);
173
+ }
174
+
175
+ // Apply a leading rhythm border
176
+ @mixin leading-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
177
+ @include apply-side-rhythm-border(top, $width, $lines, $font-size, $border-style);
178
+ }
179
+
180
+ // Apply a trailing rhythm border
181
+ @mixin trailing-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
182
+ @include apply-side-rhythm-border(bottom, $width, $lines, $font-size, $border-style);
183
+ }
184
+
185
+ // Apply both leading and trailing rhythm borders
186
+ @mixin horizontal-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
187
+ @include leading-border($width, $lines, $font-size, $border-style);
188
+ @include trailing-border($width, $lines, $font-size, $border-style);
189
+ }
190
+
191
+ @mixin h-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
192
+ @include horizontal-borders($width, $lines, $font-size, $border-style);
193
+ }
@@ -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 : 0px;
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
+ }
@@ -0,0 +1,61 @@
1
+ // Horizontal list layout module.
2
+ //
3
+ // Easy mode using simple descendant li selectors:
4
+ //
5
+ // ul.nav
6
+ // +horizontal-list
7
+ //
8
+ // Advanced mode:
9
+ // If you need to target the list items using a different selector then use
10
+ // +horizontal-list-container on your ul/ol and +horizontal-list-item on your li.
11
+ // This may help when working on layouts involving nested lists. For example:
12
+ //
13
+ // ul.nav
14
+ // +horizontal-list-container
15
+ // > li
16
+ // +horizontal-list-item
17
+
18
+ @import "bullets";
19
+ @import "compass/utilities/general/clearfix";
20
+ @import "compass/utilities/general/reset";
21
+ @import "compass/utilities/general/float";
22
+
23
+ // Can be mixed into any selector that target a ul or ol that is meant
24
+ // to have a horizontal layout. Used to implement +horizontal-list.
25
+ @mixin horizontal-list-container {
26
+ @include reset-box-model;
27
+ @include clearfix; }
28
+
29
+ // Can be mixed into any li selector that is meant to participate in a horizontal layout.
30
+ // Used to implement +horizontal-list.
31
+ //
32
+ // :last-child is not fully supported
33
+ // see http://www.quirksmode.org/css/contents.html#t29 for the support matrix
34
+ //
35
+ // IE8 ignores rules that are included on the same line as :last-child
36
+ // see http://www.richardscarrott.co.uk/posts/view/ie8-last-child-bug for details
37
+ //
38
+ // Setting `$padding` to `false` disables the padding between list elements
39
+ @mixin horizontal-list-item($padding: 4px, $direction: left) {
40
+ @include no-bullet;
41
+ white-space: nowrap;
42
+ @include float($direction);
43
+ @if $padding {
44
+ padding: {
45
+ left: $padding;
46
+ right: $padding;
47
+ }
48
+ &:first-child, &.first { padding-#{$direction}: 0; }
49
+ &:last-child { padding-#{opposite-position($direction)}: 0; }
50
+ &.last { padding-#{opposite-position($direction)}: 0; }
51
+ }
52
+ }
53
+
54
+ // A list(ol,ul) that is layed out such that the elements are floated left and won't wrap.
55
+ // This is not an inline list.
56
+ //
57
+ // Setting `$padding` to `false` disables the padding between list elements
58
+ @mixin horizontal-list($padding: 4px, $direction: left) {
59
+ @include horizontal-list-container;
60
+ li {
61
+ @include horizontal-list-item($padding, $direction); } }