maglove 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +137 -0
  5. data/README.md +26 -0
  6. data/bin/maglove +21 -0
  7. data/data/maglove/scaffold/base/base.coffee +1 -0
  8. data/data/maglove/scaffold/base/base.less +26 -0
  9. data/data/maglove/scaffold/base/images/base/loading-bars.svg +17 -0
  10. data/data/maglove/scaffold/base/less/base/animations.less +301 -0
  11. data/data/maglove/scaffold/base/less/base/blockquotes.less +23 -0
  12. data/data/maglove/scaffold/base/less/base/buttons.less +76 -0
  13. data/data/maglove/scaffold/base/less/base/code.less +19 -0
  14. data/data/maglove/scaffold/base/less/base/forms.less +115 -0
  15. data/data/maglove/scaffold/base/less/base/global.less +142 -0
  16. data/data/maglove/scaffold/base/less/base/grid-minimal.less +146 -0
  17. data/data/maglove/scaffold/base/less/base/grid-non-responsive.less +63 -0
  18. data/data/maglove/scaffold/base/less/base/grid.less +267 -0
  19. data/data/maglove/scaffold/base/less/base/helpers.less +146 -0
  20. data/data/maglove/scaffold/base/less/base/images.less +8 -0
  21. data/data/maglove/scaffold/base/less/base/lists.less +23 -0
  22. data/data/maglove/scaffold/base/less/base/mixins.less +107 -0
  23. data/data/maglove/scaffold/base/less/base/print.less +35 -0
  24. data/data/maglove/scaffold/base/less/base/resets.less +27 -0
  25. data/data/maglove/scaffold/base/less/base/tables.less +29 -0
  26. data/data/maglove/scaffold/base/less/core/alignments.less +17 -0
  27. data/data/maglove/scaffold/base/less/core/cleanup.less +8 -0
  28. data/data/maglove/scaffold/base/less/core/editor.less +23 -0
  29. data/data/maglove/scaffold/base/less/core/typography.less +74 -0
  30. data/data/maglove/scaffold/base/less/vendor/flex-video.less +22 -0
  31. data/data/maglove/scaffold/base/less/vendor/font-awesome/animated.less +34 -0
  32. data/data/maglove/scaffold/base/less/vendor/font-awesome/bordered-pulled.less +16 -0
  33. data/data/maglove/scaffold/base/less/vendor/font-awesome/core.less +13 -0
  34. data/data/maglove/scaffold/base/less/vendor/font-awesome/fixed-width.less +6 -0
  35. data/data/maglove/scaffold/base/less/vendor/font-awesome/font-awesome.less +17 -0
  36. data/data/maglove/scaffold/base/less/vendor/font-awesome/icons.less +596 -0
  37. data/data/maglove/scaffold/base/less/vendor/font-awesome/larger.less +13 -0
  38. data/data/maglove/scaffold/base/less/vendor/font-awesome/list.less +19 -0
  39. data/data/maglove/scaffold/base/less/vendor/font-awesome/mixins.less +27 -0
  40. data/data/maglove/scaffold/base/less/vendor/font-awesome/rotated-flipped.less +20 -0
  41. data/data/maglove/scaffold/base/less/vendor/font-awesome/stacked.less +20 -0
  42. data/data/maglove/scaffold/base/less/vendor/font-awesome/variables.less +606 -0
  43. data/data/maglove/scaffold/base/less/vendor/font-awesome.less +16 -0
  44. data/data/maglove/scaffold/base/less/vendor/image-loader.less +15 -0
  45. data/data/maglove/scaffold/base/less/vendor/magnific-popup.less +363 -0
  46. data/data/maglove/scaffold/base/less/widgets/banner.less +3 -0
  47. data/data/maglove/scaffold/base/less/widgets/button.less +26 -0
  48. data/data/maglove/scaffold/base/less/widgets/callout.less +3 -0
  49. data/data/maglove/scaffold/base/less/widgets/columns.less +25 -0
  50. data/data/maglove/scaffold/base/less/widgets/container.less +114 -0
  51. data/data/maglove/scaffold/base/less/widgets/feedback.less +11 -0
  52. data/data/maglove/scaffold/base/less/widgets/heading.less +8 -0
  53. data/data/maglove/scaffold/base/less/widgets/horizontal_rule.less +113 -0
  54. data/data/maglove/scaffold/base/less/widgets/image.less +85 -0
  55. data/data/maglove/scaffold/base/less/widgets/paragraph.less +3 -0
  56. data/data/maglove/scaffold/base/variables.less +75 -0
  57. data/data/maglove/scaffold/base/vendor/jquery.js +4 -0
  58. data/data/maglove/scaffold/theme/images/logo.png +0 -0
  59. data/data/maglove/scaffold/theme/images/pattern/symphony.png +0 -0
  60. data/data/maglove/scaffold/theme/less/base/variables.less +25 -0
  61. data/data/maglove/scaffold/theme/templates/article-01.haml +41 -0
  62. data/data/maglove/scaffold/theme/templates/cover.haml +27 -0
  63. data/data/maglove/scaffold/theme/templates/toc.haml +34 -0
  64. data/data/maglove/scaffold/theme/templates/toc.yml +12 -0
  65. data/data/maglove/scaffold/theme/theme.coffee +1 -0
  66. data/data/maglove/scaffold/theme/theme.less +4 -0
  67. data/data/maglove/sdk.coffee +22 -0
  68. data/data/maglove/sdk.haml +18 -0
  69. data/data/maglove/sdk.less +60 -0
  70. data/data/maglove/thumbnail.haml +11 -0
  71. data/data/maglove/thumbnail.js +160 -0
  72. data/data/maglove/vendor.js +4 -0
  73. data/lib/ext/commander/command.rb +32 -0
  74. data/lib/ext/commander/methods.rb +8 -0
  75. data/lib/maglove/application.rb +46 -0
  76. data/lib/maglove/asset/base_theme.rb +17 -0
  77. data/lib/maglove/asset/theme.rb +83 -0
  78. data/lib/maglove/command/compile.rb +40 -0
  79. data/lib/maglove/command/compress.rb +36 -0
  80. data/lib/maglove/command/copy.rb +35 -0
  81. data/lib/maglove/command/core.rb +23 -0
  82. data/lib/maglove/command/font.rb +80 -0
  83. data/lib/maglove/command/server.rb +16 -0
  84. data/lib/maglove/command/sync.rb +17 -0
  85. data/lib/maglove/command/theme.rb +132 -0
  86. data/lib/maglove/command/util.rb +45 -0
  87. data/lib/maglove/helper/asset_helper.rb +24 -0
  88. data/lib/maglove/helper/command_helper.rb +67 -0
  89. data/lib/maglove/helper/log_helper.rb +42 -0
  90. data/lib/maglove/helper/theme_helper.rb +101 -0
  91. data/lib/maglove/phantom_script.rb +45 -0
  92. data/lib/maglove/server.rb +80 -0
  93. data/lib/maglove/template/tumblr.rb +81 -0
  94. data/lib/maglove/tilt/coffee_template.rb +47 -0
  95. data/lib/maglove/tilt/haml_template.rb +20 -0
  96. data/lib/maglove/tilt/js_template.rb +38 -0
  97. data/lib/maglove/tilt/less_template.rb +18 -0
  98. data/lib/maglove/tilt/twig_template.rb +49 -0
  99. data/lib/maglove/tilt/yaml_template.rb +19 -0
  100. data/lib/maglove/version.rb +3 -0
  101. data/lib/maglove.rb +46 -0
  102. data/maglove.gemspec +39 -0
  103. metadata +427 -0
@@ -0,0 +1,267 @@
1
+ // ==========================================================================
2
+ // Base – Mobile-First Grid
3
+ // ==========================================================================
4
+
5
+ // Micro Clearfix - http://nicolasgallagher.com/micro-clearfix-hack/
6
+ .clear:before, .clear:after { content: " "; display: table; } .clear:after { clear: both; }
7
+ .row:before, .row:after { content: ""; display: table; } .row:after { clear: both; }
8
+
9
+ .row {
10
+ position: relative;
11
+ margin-left: -10px;
12
+ margin-right: -10px;
13
+ }
14
+
15
+ // Mobile Container
16
+ .container {
17
+ padding-left: 10px;
18
+ padding-right: 10px;
19
+ margin-left: auto;
20
+ margin-right: auto;
21
+ }
22
+ .container-full {
23
+ padding-left: 0;
24
+ padding-right: 0;
25
+ margin-left: auto;
26
+ margin-right: auto;
27
+ }
28
+ // Tablet Container
29
+ @media only screen and (min-width: @tablet-breakpoint) {
30
+ .container, .container-full {
31
+ width: @tablet-container;
32
+ }
33
+ .tablet-container {
34
+ width: @tablet-container;
35
+ padding-left: 10px;
36
+ padding-right: 10px;
37
+ margin-left: auto;
38
+ margin-right: auto;
39
+ }
40
+ .tablet-container-full {
41
+ width: @tablet-container;
42
+ margin-left: auto;
43
+ margin-right: auto;
44
+ padding-left: 0;
45
+ padding-right: 0;
46
+ }
47
+ }
48
+ // Desktop Container
49
+ @media only screen and (min-width: @desktop-breakpoint) {
50
+ .container, .container-full {
51
+ width: @desktop-container;
52
+ }
53
+ .desktop-container {
54
+ width: @desktop-container;
55
+ padding-left: 10px;
56
+ padding-right: 10px;
57
+ margin-left: auto;
58
+ margin-right: auto;
59
+ }
60
+ .desktop-container-full {
61
+ width: @desktop-container;
62
+ margin-left: auto;
63
+ margin-right: auto;
64
+ padding-left: 0;
65
+ padding-right: 0;
66
+ }
67
+ }
68
+ // HD Container
69
+ @media only screen and (min-width: @hd-breakpoint) {
70
+ .container, .container-full {
71
+ width: @hd-container;
72
+ }
73
+ .hd-container {
74
+ width: @hd-container;
75
+ padding-left: 10px;
76
+ padding-right: 10px;
77
+ margin-left: auto;
78
+ margin-right: auto;
79
+ }
80
+ .hd-container-full {
81
+ width: @hd-container;
82
+ margin-left: auto;
83
+ margin-right: auto;
84
+ padding-left: 0;
85
+ padding-right: 0;
86
+ }
87
+ }
88
+
89
+ // Mobile-first Grid Columns - Global Rules
90
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
91
+ padding-left: 10px;
92
+ padding-right: 10px;
93
+ position: relative;
94
+ float: left;
95
+ }
96
+
97
+ // Mobile-first Grid
98
+ .generate-grid (12);
99
+ .generate-grid (@index) when (@index > 0) {
100
+ .generate-grid (@index - 1);
101
+ .col-@{index} {
102
+ width: @index / 12 * 100%;
103
+ }
104
+ }
105
+
106
+ // Mobile Push Offsets
107
+ .generate-push-offsets (11);
108
+ .generate-push-offsets (@index) when (@index > 0) {
109
+ .generate-push-offsets (@index - 1);
110
+ .push-@{index} {
111
+ left: @index / 12 * 100%;
112
+ }
113
+ }
114
+
115
+ // Mobile Pull Offsets
116
+ .generate-pull-offsets (11);
117
+ .generate-pull-offsets (@index) when (@index > 0) {
118
+ .generate-pull-offsets (@index - 1);
119
+ .pull-@{index} {
120
+ left: -@index / 12 * 100%;
121
+ }
122
+ }
123
+
124
+ // Mobile Helpers
125
+ .hide-mobile { display: none; }
126
+ .show-mobile { display: block; }
127
+ .show-mobile-inline-block { display: inline-block; }
128
+ .show-mobile-inline { display: inline; }
129
+
130
+ // Tablet Grid
131
+ @media only screen and (min-width: @tablet-breakpoint) {
132
+
133
+ // Tablet Grid Columns - Global Rules
134
+ .col-tablet-1, .col-tablet-2, .col-tablet-3, .col-tablet-4, .col-tablet-5, .col-tablet-6, .col-tablet-7, .col-tablet-8, .col-tablet-9, .col-tablet-10, .col-tablet-11, .col-tablet-12 {
135
+ padding-left: 10px;
136
+ padding-right: 10px;
137
+ position: relative;
138
+ float: left;
139
+ }
140
+
141
+ // Tablet Grid
142
+ .generate-tablet-grid (12);
143
+ .generate-tablet-grid (@index) when (@index > 0) {
144
+ .generate-tablet-grid (@index - 1);
145
+ .col-tablet-@{index} {
146
+ width: @index / 12 * 100%;
147
+ }
148
+ }
149
+
150
+ // Tablet Push Offsets
151
+ .generate-tablet-push-offsets (11);
152
+ .generate-tablet-push-offsets (@index) when (@index > 0) {
153
+ .generate-tablet-push-offsets (@index - 1);
154
+ .push-tablet-@{index} {
155
+ left: @index / 12 * 100%;
156
+ }
157
+ }
158
+
159
+ // Tablet Pull Offsets
160
+ .generate-tablet-pull-offsets (11);
161
+ .generate-tablet-pull-offsets (@index) when (@index > 0) {
162
+ .generate-tablet-pull-offsets (@index - 1);
163
+ .pull-tablet-@{index} {
164
+ left: -@index / 12 * 100%;
165
+ }
166
+ }
167
+
168
+ // Tablet Helpers
169
+ .hide-tablet { display: none; }
170
+ .show-tablet { display: block; }
171
+ .show-tablet-inline-block { display: inline-block; }
172
+ .show-tablet-inline { display: inline; }
173
+ .tablet-no-padding { padding: 0; }
174
+ .tablet-no-push, .tablet-no-pull { left: 0; }
175
+ }
176
+
177
+ // Desktop Grid
178
+ @media only screen and (min-width: @desktop-breakpoint) {
179
+
180
+ // Desktop Grid Columns - Global Rules
181
+ .col-desktop-1, .col-desktop-2, .col-desktop-3, .col-desktop-4, .col-desktop-5, .col-desktop-6, .col-desktop-7, .col-desktop-8, .col-desktop-9, .col-desktop-10, .col-desktop-11, .col-desktop-12 { padding-left: 10px;
182
+ padding-right: 10px;
183
+ position: relative;
184
+ float: left;
185
+ }
186
+
187
+ // Desktop Grid
188
+ .generate-desktop-grid (12);
189
+ .generate-desktop-grid (@index) when (@index > 0) {
190
+ .generate-desktop-grid (@index - 1);
191
+ .col-desktop-@{index} {
192
+ width: @index / 12 * 100%;
193
+ }
194
+ }
195
+
196
+ // Desktop Push Offsets
197
+ .generate-desktop-push-offsets (11);
198
+ .generate-desktop-push-offsets (@index) when (@index > 0) {
199
+ .generate-desktop-push-offsets (@index - 1);
200
+ .push-desktop-@{index} {
201
+ left: @index / 12 * 100%;
202
+ }
203
+ }
204
+
205
+ // Desktop Pull Offsets
206
+ .generate-desktop-pull-offsets (11);
207
+ .generate-desktop-pull-offsets (@index) when (@index > 0) {
208
+ .generate-desktop-pull-offsets (@index - 1);
209
+ .pull-desktop-@{index} {
210
+ left: -@index / 12 * 100%;
211
+ }
212
+ }
213
+
214
+ // Desktop Helpers
215
+ .hide-desktop { display: none; }
216
+ .show-desktop { display: block; }
217
+ .show-desktop-inline-block { display: inline-block; }
218
+ .show-desktop-inline { display: inline; }
219
+ .desktop-no-padding { padding: 0; }
220
+ .desktop-no-push, .desktop-no-pull { left: 0; }
221
+ }
222
+
223
+ // HD Grid
224
+ @media only screen and (min-width: @hd-breakpoint) {
225
+
226
+ // HD Grid Columns - Global Rules
227
+ .col-hd-1, .col-hd-2, .col-hd-3, .col-hd-4, .col-hd-5, .col-hd-6, .col-hd-7, .col-hd-8, .col-hd-9, .col-hd-10, .col-hd-11, .col-hd-12 { padding-left: 10px;
228
+ padding-right: 10px;
229
+ position: relative;
230
+ float: left;
231
+ }
232
+
233
+ // HD Grid
234
+ .generate-hd-grid (12);
235
+ .generate-hd-grid (@index) when (@index > 0) {
236
+ .generate-hd-grid (@index - 1);
237
+ .col-hd-@{index} {
238
+ width: @index / 12 * 100%;
239
+ }
240
+ }
241
+
242
+ // HD Push Offsets
243
+ .generate-hd-push-offsets (11);
244
+ .generate-hd-push-offsets (@index) when (@index > 0) {
245
+ .generate-hd-push-offsets (@index - 1);
246
+ .push-hd-@{index} {
247
+ left: @index / 12 * 100%;
248
+ }
249
+ }
250
+
251
+ // HD Pull Offsets
252
+ .generate-hd-pull-offsets (11);
253
+ .generate-hd-pull-offsets (@index) when (@index > 0) {
254
+ .generate-hd-pull-offsets (@index - 1);
255
+ .pull-hd-@{index} {
256
+ left: -@index / 12 * 100%;
257
+ }
258
+ }
259
+
260
+ // HD Helpers
261
+ .hide-hd { display: none; }
262
+ .show-hd { display: block; }
263
+ .show-hd-inline-block { display: inline-block; }
264
+ .show-hd-inline { display: inline; }
265
+ .hd-no-padding { padding: 0; }
266
+ .hd-no-push, .hd-no-pull { left: 0; }
267
+ }
@@ -0,0 +1,146 @@
1
+ // ==========================================================================
2
+ // Base – Helpers
3
+ // ==========================================================================
4
+
5
+ // General Resets
6
+ .no-margin { margin: 0; }
7
+ .no-padding { padding: 0; }
8
+ .no-float { float: none; }
9
+ .no-background { background: transparent; }
10
+ .no-border { border: 0; }
11
+
12
+ // Font Weights
13
+ .font-thin { font-weight: @font-thin; }
14
+ .font-light { font-weight: @font-light; }
15
+ .font-regular { font-weight: @font-regular; }
16
+ .font-medium { font-weight: @font-medium; }
17
+ .font-semi-bold { font-weight: @font-semi-bold; }
18
+ .font-bold { font-weight: @font-bold; }
19
+ .font-extra-bold { font-weight: @font-extra-bold; }
20
+ .font-ultra-bold { font-weight: @font-ultra-bold; }
21
+
22
+ // Font Styles
23
+ .font-normal { font-style: normal; }
24
+ .font-italic { font-style: italic; }
25
+
26
+ // Text Modifications
27
+ .uppercase { text-transform: uppercase; }
28
+ .lowercase { text-transform: lowercase; }
29
+ .capitalize { text-transform: capitalize; }
30
+
31
+ // Text Alignments
32
+ .text-left { text-align: left; }
33
+ .text-right { text-align: right; }
34
+ .text-center { text-align: center; }
35
+ .text-justify { text-align: justify; }
36
+
37
+ // Positions
38
+ .relative { position: relative; }
39
+ .absolute { position: absolute; }
40
+ .static { position: static; }
41
+
42
+ // Display Types
43
+ .block { display: block; }
44
+ .inline-block { display: inline-block; }
45
+ .inline { display: inline; }
46
+ .none { display: none; }
47
+
48
+ // Floats
49
+ .left { float: left; }
50
+ .right { float: right; }
51
+
52
+ // Alignments
53
+ .center-element {
54
+ float: none;
55
+ margin-left: auto;
56
+ margin-right: auto;
57
+ }
58
+
59
+ // Hide only visually, but have it available for screenreaders: : h5bp.com/v
60
+ .sr {
61
+ border: 0;
62
+ clip: rect(0 0 0 0);
63
+ height: 1px;
64
+ margin: -1px;
65
+ overflow: hidden;
66
+ padding: 0;
67
+ position: absolute;
68
+ width: 1px;
69
+ }
70
+
71
+ // Lists
72
+ .list-unstyled {
73
+ list-style: none;
74
+ margin: 0;
75
+ padding: 0;
76
+ li {
77
+ margin: 0;
78
+ padding: 0;
79
+ }
80
+ }
81
+ .list-inline {
82
+ list-style: none;
83
+ margin: 0;
84
+ padding: 0;
85
+ li {
86
+ margin: 0;
87
+ padding: 0;
88
+ display: inline-block;
89
+ }
90
+ }
91
+
92
+ // Image Positions
93
+ .img-left {
94
+ float: left;
95
+ margin-right: 20px;
96
+ }
97
+ .img-right {
98
+ float: right;
99
+ margin-left: 20px;
100
+ }
101
+
102
+ // Grouped Fields
103
+ .field-group {
104
+ padding-top: .5em;
105
+ padding-bottom: .5em;
106
+ overflow: hidden;
107
+ label {
108
+ padding-top: 8px;
109
+ }
110
+ }
111
+ .field { width: 100%; }
112
+
113
+ // Disable Element
114
+ .disabled {
115
+ pointer-events: none;
116
+ opacity: .5;
117
+ }
118
+
119
+ // Checkbox and Radio
120
+ .checkbox,
121
+ .radio {
122
+ display: inline-block;
123
+ position: relative;
124
+ margin-top: .5em;
125
+ margin-bottom: .5em;
126
+ label {
127
+ padding-left: 20px;
128
+ padding-top: 0;
129
+ display: inline-block;
130
+ }
131
+ input[type="checkbox"],
132
+ input[type="radio"] {
133
+ position: absolute;
134
+ top: 4px;
135
+ left: 0;
136
+ }
137
+ }
138
+
139
+ // Animations
140
+ .animate {
141
+ .animate(1s);
142
+ }
143
+ .animate-infinite {
144
+ -webkit-animation-iteration-count: infinite;
145
+ animation-iteration-count: infinite;
146
+ }
@@ -0,0 +1,8 @@
1
+ // ==========================================================================
2
+ // Base – Images
3
+ // ==========================================================================
4
+
5
+ // Custom Buttons
6
+ img.img-responsive {
7
+ width: 100%;
8
+ }
@@ -0,0 +1,23 @@
1
+ // ==========================================================================
2
+ // Base – Lists
3
+ // ==========================================================================
4
+ ul, ol {
5
+ margin: 1em 0 2em 0;
6
+ padding: 0 0 0 40px;
7
+ li {
8
+ margin-bottom: 5px;
9
+ }
10
+ }
11
+ dl {
12
+ &:before, &:after { content: " "; display: table; } &:after { clear: both; }
13
+ dt {
14
+ float: left;
15
+ width: 25%;
16
+ display: block;
17
+ font-weight: @font-regular;
18
+ }
19
+ dd {
20
+ overflow: hidden;
21
+ display: block;
22
+ }
23
+ }
@@ -0,0 +1,107 @@
1
+ // ==========================================================================
2
+ // Base – Mixins
3
+ // ==========================================================================
4
+ // Font sizes (primary sizing in `rem` units with a fallback of `px`)
5
+ // Example usage .font-size(18);
6
+ .font-size (@size) {
7
+ @remValue: @size / 16;
8
+ @pxValue: (@size);
9
+ font-size: ~"@{pxValue}px";
10
+ font-size: ~"@{remValue}rem";
11
+ }
12
+
13
+ // Line height sizes (primary sizing in `rem` units with a fallback of `px`)
14
+ // Example usage .line-height(22);
15
+ .line-height (@size) {
16
+ @remValue: @size / 16;
17
+ @pxValue: (@size);
18
+ line-height: ~"@{pxValue}px";
19
+ line-height: ~"@{remValue}rem";
20
+ }
21
+
22
+ // Border Radius
23
+ // Example usage .border-radius(2px) || .border-radius(100%);
24
+ .border-radius(@radius) {
25
+ -webkit-border-radius: @radius;
26
+ -moz-border-radius: @radius;
27
+ border-radius: @radius;
28
+ }
29
+
30
+ // Rotate (Transformation)
31
+ // Example usage .rotate(180) || .rotate(-45);
32
+ .rotate(@rotate) {
33
+ -ms-transform: rotate(~"@{rotate}deg");
34
+ -webkit-transform: rotate(~"@{rotate}deg");
35
+ transform: rotate(~"@{rotate}deg");
36
+ }
37
+
38
+ // SVG background with PNG fallback
39
+ // Example Usage .svg-bg("img/banner.svg", "img/banner.png", 50%, 50%, no-repeat);
40
+ .bg-svg(@svg, @png, @x: 0, @y: 0, @repeat: no-repeat) {
41
+ background: url(@svg) @x @y @repeat;
42
+ .no-svg & {
43
+ background: url(@png) @x @y @repeat;
44
+ }
45
+ }
46
+
47
+ // Background Color with Opacity
48
+ // Example Usage: .bg-rgba(#111, 50%);
49
+ .bg-rgba(@color,@alpha) {
50
+ @rgba: rgba(red(@color), green(@color), blue(@color), @alpha);
51
+ @argb: argb(@rgba);
52
+ background-color: @color;
53
+ background-color: @rgba;
54
+ filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr=@{argb}, endColorstr=@{argb})";
55
+ -ms-filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr=@{argb}, endColorstr=@{argb})";
56
+ }
57
+
58
+ // Opacity
59
+ // Example Usage: .opacity(50%);
60
+ .opacity (@percentOpacity: 50%) {
61
+ @opacity: unit(@percentOpacity) / 100;
62
+ -webkit-opacity: @opacity;
63
+ -moz-opacity: @opacity;
64
+ opacity: @opacity;
65
+ }
66
+
67
+ // Animations
68
+ // Example Usage .animation(1s);
69
+ .animate(@duration: 1s) {
70
+ -webkit-animation-duration: @duration;
71
+ animation-duration: @duration;
72
+ -webkit-animation-fill-mode: both;
73
+ animation-fill-mode: both;
74
+ }
75
+
76
+ // Animation Delay
77
+ // Example Usage .animation-delay(1s)
78
+ .animate-delay(@delay: 1s) {
79
+ -webkit-animation-delay: @delay;
80
+ animation-delay: @delay;
81
+ }
82
+
83
+ // CSS Transitions
84
+ // Example Usage .transition(0.3s)
85
+ .transition(@speed: 0.3s) {
86
+ -webkit-transition: all @speed;
87
+ -moz-transition: all @speed;
88
+ transition: all @speed;
89
+ }
90
+
91
+ // Transition Delay
92
+ // Example usage .transition-delay(.3s)
93
+ .transition-delay(@speed: 0.3s) {
94
+ -webkit-transition-delay: @speed;
95
+ -moz-transition-delay: @speed;
96
+ transition-delay: @speed;
97
+ }
98
+
99
+ // SVG Fill - http://zslabs.com/articles/svg-background-fill/#update-2
100
+ // Example usage: .svg-fill("img/icon.svg", "#555");
101
+ .svg-fill(@src, @fill) {
102
+ @data-uri: data-uri('image/svg+xml;charset=UTF-8', "@{src}");
103
+ @replace-src: replace("@{data-uri}", "fill\%3D\%22\%23[\w]{3,6}\%22", escape('fill="@{fill}"'), "g");
104
+ background-image:e(@replace-src);
105
+ }
106
+
107
+ // Not enough mixins? – Please make some suggestions or contribute more! :)
@@ -0,0 +1,35 @@
1
+ // All Elements
2
+ *,
3
+ *:before,
4
+ *:after {
5
+ background: transparent;
6
+ color: #000;
7
+ box-shadow: none;
8
+ text-shadow: none;
9
+ }
10
+
11
+ // Links
12
+ a, a:visited { text-decoration: underline; }
13
+ a[href]:after { content: " (" attr(href) ")"; }
14
+ a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; }
15
+
16
+ // Code and Blockquotes
17
+ pre, blockquote { page-break-inside: avoid; }
18
+
19
+ // Tables
20
+ thead { display: table-header-group; }
21
+ tr { page-break-inside: avoid; }
22
+
23
+ // Images
24
+ img { page-break-inside: avoid; max-width: 100%;}
25
+
26
+ // Typography
27
+ p, div.paragraph, h2, h3 { orphans: 3; widows: 3; }
28
+ h2, h3 { page-break-after: avoid; }
29
+ abbr[title]:after { content: " (" attr(title) ")"; }
30
+
31
+ // Display Types
32
+ .hide-print { display: none; }
33
+ .show-print { display: block; }
34
+ .show-print-inline-block { display: inline-block; }
35
+ .show-print-inline { display: inline; }
@@ -0,0 +1,27 @@
1
+ // ==========================================================================
2
+ // Base – Global Resets
3
+ // ==========================================================================
4
+
5
+ // Border Box
6
+ *, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
7
+
8
+ // HTML Font / Text Size Resets
9
+ html { font-size: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
10
+ html, button, input, select, textarea { font-family: sans-serif; }
11
+
12
+ // HTML5 Elements
13
+ article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
14
+
15
+ // Remove Default Margins
16
+ body, form, fieldset, legend, input, select, textarea, button { margin: 0; }
17
+
18
+ // Audio and Video Elements
19
+ audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
20
+ audio:not([controls]) { display: none; height: 0; }
21
+
22
+ // Hidden Elements
23
+ [hidden], template { display: none; }
24
+
25
+ // Images
26
+ img { border: 0; }
27
+ svg:not(:root) { overflow: hidden; }
@@ -0,0 +1,29 @@
1
+ // ==========================================================================
2
+ // Base – Tables
3
+ // ==========================================================================
4
+ caption {
5
+ .font-size(@base-font-size + 2);
6
+ line-height: normal;
7
+ font-weight: @font-bold;
8
+ text-align: left;
9
+ padding: .5em 0;
10
+ border-bottom: 1px solid #d7d7d7;
11
+ }
12
+ table {
13
+ .font-size(@base-font-size - 2);
14
+ border-collapse: collapse;
15
+ border-spacing: 0;
16
+ width: 100%;
17
+ margin: 1em 0;
18
+ text-align: left;
19
+ thead,
20
+ tbody,
21
+ tfoot {
22
+ td,
23
+ th {
24
+ color: #585858;
25
+ padding: .8em .5em;
26
+ border-bottom: 1px solid #e9e9e9;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,17 @@
1
+ // Core Alignments
2
+
3
+ .align-left {
4
+ text-align: left;
5
+ }
6
+
7
+ .align-right {
8
+ text-align: right;
9
+ }
10
+
11
+ .align-center {
12
+ text-align: center;
13
+ }
14
+
15
+ .align-justify {
16
+ text-align: justify;
17
+ }
@@ -0,0 +1,8 @@
1
+ #DAPPlugin {
2
+ display:none;
3
+ }
4
+
5
+ iframe {
6
+ width: 100%;
7
+ border: none;
8
+ }
@@ -0,0 +1,23 @@
1
+ ._typeloft_widget {
2
+ position: relative;
3
+ }
4
+
5
+ .__color {
6
+ border-bottom: 1px solid #000;
7
+
8
+ &::selection {
9
+ background: transparent;
10
+ }
11
+ }
12
+
13
+ .__bold {
14
+ font-weight: bold;
15
+ }
16
+
17
+ .__italic {
18
+ font-style: italic;
19
+ }
20
+
21
+ .__underline {
22
+ text-decoration: underline;
23
+ }