cafepress_wrapper 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +33 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +33 -0
- data/app/controllers/content_controller.rb +26 -0
- data/app/controllers/products_controller.rb +30 -0
- data/app/controllers/sitemap_controller.rb +26 -0
- data/app/controllers/stores_controller.rb +37 -0
- data/app/models/image_url.rb +3 -0
- data/app/models/product.rb +89 -0
- data/app/models/size.rb +3 -0
- data/app/models/store.rb +91 -0
- data/app/models/user_token.rb +36 -0
- data/app/views/content/about.html.erb +71 -0
- data/app/views/content/contact.html.erb +30 -0
- data/app/views/layouts/cafepress_wrapper.html.erb +75 -0
- data/app/views/products/show.rjs +14 -0
- data/app/views/sitemap/index.xml.erb +39 -0
- data/app/views/stores/_front_back_image.html.erb +15 -0
- data/app/views/stores/_product_details.html.erb +71 -0
- data/app/views/stores/feed.rss.builder +43 -0
- data/app/views/stores/index.html.erb +45 -0
- data/app/views/stores/show.html.erb +83 -0
- data/config/initializers/cafepress.rb +23 -0
- data/config/routes.rb +13 -0
- data/lib/cafepress_wrapper.rb +21 -0
- data/lib/db/migrate/20101103152700_create_user_tokens.rb +13 -0
- data/lib/db/migrate/20101104032051_create_stores.rb +13 -0
- data/lib/db/migrate/20101104032412_create_products.rb +16 -0
- data/lib/db/migrate/20101111004355_add_description_to_store.rb +9 -0
- data/lib/db/migrate/20101111025931_add_cafepress_design_id_to_products.rb +9 -0
- data/lib/db/migrate/20101119163852_add_cafepress_design_url_to_stores.rb +9 -0
- data/lib/db/migrate/20101119171328_add_design_background_color_to_stores.rb +9 -0
- data/lib/db/migrate/20101120003908_add_cafepress_back_design_id_to_products.rb +9 -0
- data/lib/db/migrate/20101123021036_add_cafepress_back_design_url_to_stores.rb +9 -0
- data/lib/db/migrate/20110301072358_add_gender_to_products.rb +9 -0
- data/lib/db/migrate/20110302191748_create_thumbnail_urls.rb +14 -0
- data/lib/db/migrate/20110302195801_add_view_to_thumbnail_urls.rb +9 -0
- data/lib/db/migrate/20110305004142_rename_thumbnail_urls_to_image_urls.rb +9 -0
- data/lib/db/migrate/20110305004402_add_image_size_to_image_urls.rb +9 -0
- data/lib/db/migrate/20110307005237_add_cafepress_merchandise_id_to_products.rb +9 -0
- data/lib/db/migrate/20110307014703_add_default_color_id_to_products.rb +9 -0
- data/lib/db/migrate/20110307063709_create_sizes.rb +16 -0
- data/lib/db/migrate/20110307064131_add_default_cafepress_size_id_to_products.rb +9 -0
- data/lib/db/migrate/20110308010304_add_title_to_stores.rb +9 -0
- data/lib/db/migrate/20110308050955_add_price_to_products.rb +9 -0
- data/lib/tasks/cafepress_wrapper.rake +48 -0
- data/public/images/ajax-loader.gif +0 -0
- data/public/images/back_bg.png +0 -0
- data/public/images/cart.png +0 -0
- data/public/images/fabric_bg.png +0 -0
- data/public/images/footer_bg.png +0 -0
- data/public/images/front_bg.png +0 -0
- data/public/images/header_bg.png +0 -0
- data/public/javascripts/cafepress_wrapper.js +118 -0
- data/public/stylesheets/cafepress_wrapper.css +473 -0
- metadata +137 -0
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,118 @@
|
|
1
|
+
/*
|
2
|
+
# Copyright 2010 Benjamin Lee Smith <benjamin.lee.smith@gmail.com>
|
3
|
+
#
|
4
|
+
# This file is part of CafePress Wrapper.
|
5
|
+
# CafePress Wrapper is free software: you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
7
|
+
# the Free Software Foundation, either version 3 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# CafePress Wrapper is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with CafePress Wrapper. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
*/
|
18
|
+
|
19
|
+
if(!CPW) var CPW = {};
|
20
|
+
CPW.cycle_speed = 3000;
|
21
|
+
CPW.front_images_shown = true;
|
22
|
+
|
23
|
+
CPW.cycle_images = function() {
|
24
|
+
if(CPW.front_images_shown) {
|
25
|
+
CPW.fade_fronts();
|
26
|
+
setTimeout('CPW.appear_backs();', 1000);
|
27
|
+
CPW.front_images_shown = false;
|
28
|
+
} else {
|
29
|
+
CPW.fade_backs();
|
30
|
+
setTimeout('CPW.appear_fronts();', 1000);
|
31
|
+
CPW.front_images_shown = true;
|
32
|
+
}
|
33
|
+
setTimeout('CPW.cycle_images();', CPW.cycle_speed);
|
34
|
+
};
|
35
|
+
|
36
|
+
CPW.appear_backs = function() {
|
37
|
+
$$('.back-image').forEach(function(element) {
|
38
|
+
element.appear();
|
39
|
+
});
|
40
|
+
};
|
41
|
+
|
42
|
+
CPW.appear_fronts = function() {
|
43
|
+
$$('.front-image').forEach(function(element) {
|
44
|
+
element.appear();
|
45
|
+
});
|
46
|
+
};
|
47
|
+
|
48
|
+
CPW.fade_backs = function() {
|
49
|
+
$$('.back-image').forEach(function(element) {
|
50
|
+
element.fade();
|
51
|
+
});
|
52
|
+
};
|
53
|
+
|
54
|
+
CPW.fade_fronts = function() {
|
55
|
+
$$('.front-image').forEach(function(element) {
|
56
|
+
element.fade();
|
57
|
+
});
|
58
|
+
};
|
59
|
+
|
60
|
+
CPW.update_moving_div = function() {
|
61
|
+
top_padding = 20;
|
62
|
+
|
63
|
+
//little confusing... y values go up as the user scrolls down...
|
64
|
+
min_y = $('active_product').cumulativeOffset().top - top_padding;
|
65
|
+
max_y = $('content').cumulativeOffset().top + $('content').getHeight() - $('moving_div').getHeight();
|
66
|
+
|
67
|
+
//if the user's browser is big enough to show the entire moving div at once
|
68
|
+
//if (document.viewport.getHeight() > $('moving_div').getHeight()) {
|
69
|
+
if(document.viewport.getScrollOffsets().top > min_y && document.viewport.getScrollOffsets().top < max_y) {
|
70
|
+
$('moving_div').setStyle({ top: 4 + (document.viewport.getScrollOffsets().top - min_y) + 'px' });
|
71
|
+
//new Effect.Move('moving_div', { x: 20, y: 4 + (document.viewport.getScrollOffsets().top - min_y), mode: 'absolute' });
|
72
|
+
} else if (document.viewport.getScrollOffsets().top < min_y) {
|
73
|
+
$('moving_div').setStyle({ top: '4px' });
|
74
|
+
} else if (document.viewport.getScrollOffsets().top > max_y) {
|
75
|
+
$('moving_div').setStyle({ top: (max_y-min_y)+'px'});
|
76
|
+
}
|
77
|
+
//} else {
|
78
|
+
//
|
79
|
+
//}
|
80
|
+
};
|
81
|
+
|
82
|
+
CPW.auto_update_moving_div = function() {
|
83
|
+
update_moving_div();
|
84
|
+
setTimeout('auto_update_moving_div()',1000);
|
85
|
+
};
|
86
|
+
|
87
|
+
CPW.bind_color_name_events = function() {
|
88
|
+
$$('div#colors div.multiple_colors a').each(function(element) {
|
89
|
+
element.observe('mouseover', function(event) {
|
90
|
+
$('color_'+element.readAttribute('data-color_id')+'_description').show();
|
91
|
+
});
|
92
|
+
element.observe('mouseout', function(event) {
|
93
|
+
$('color_'+element.readAttribute('data-color_id')+'_description').hide();
|
94
|
+
});
|
95
|
+
});
|
96
|
+
};
|
97
|
+
|
98
|
+
CPW.update_selected_color = function(color_id) {
|
99
|
+
$('selected_color_id').value = color_id;
|
100
|
+
};
|
101
|
+
|
102
|
+
CPW.force_numeric_quantity = function(input_field) {
|
103
|
+
var regExpr = new RegExp(/^\d*$/);
|
104
|
+
if (!regExpr.test(input_field.value)) {
|
105
|
+
// Case of error
|
106
|
+
input_field.value = "";
|
107
|
+
}
|
108
|
+
};
|
109
|
+
|
110
|
+
CPW.validate_quantity = function() {
|
111
|
+
var regex = new RegExp(/^\d*$/);
|
112
|
+
if(!regex.test($$('div#quantity input')[0].value)) {
|
113
|
+
alert('Please enter a valid number for the quantity of shirts you want.')
|
114
|
+
return false;
|
115
|
+
}
|
116
|
+
return true;
|
117
|
+
};
|
118
|
+
|
@@ -0,0 +1,473 @@
|
|
1
|
+
/*
|
2
|
+
# Copyright 2010 Benjamin Lee Smith <benjamin.lee.smith@gmail.com>
|
3
|
+
#
|
4
|
+
# This file is part of CafePress Wrapper.
|
5
|
+
# CafePress Wrapper is free software: you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
7
|
+
# the Free Software Foundation, either version 3 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# CafePress Wrapper is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with CafePress Wrapper. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
*/
|
18
|
+
|
19
|
+
/*
|
20
|
+
#f0f0f0
|
21
|
+
#4D5453
|
22
|
+
#DBAE5E
|
23
|
+
#BD8741
|
24
|
+
#96602D
|
25
|
+
#66371B
|
26
|
+
*/
|
27
|
+
|
28
|
+
body { background-color: #fff; color: #333; }
|
29
|
+
|
30
|
+
body, p, ol, ul, td {
|
31
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
32
|
+
font-size: 13px;
|
33
|
+
line-height: 18px;
|
34
|
+
}
|
35
|
+
|
36
|
+
pre {
|
37
|
+
background-color: #eee;
|
38
|
+
padding: 10px;
|
39
|
+
font-size: 11px;
|
40
|
+
}
|
41
|
+
|
42
|
+
a { color: #000; }
|
43
|
+
a:visited { color: #666; }
|
44
|
+
a:hover { color: #fff; background-color:#000; }
|
45
|
+
|
46
|
+
div.field, div.actions {
|
47
|
+
margin-bottom: 10px;
|
48
|
+
}
|
49
|
+
|
50
|
+
#notice {
|
51
|
+
color: green;
|
52
|
+
}
|
53
|
+
|
54
|
+
.field_with_errors {
|
55
|
+
padding: 2px;
|
56
|
+
background-color: red;
|
57
|
+
display: table;
|
58
|
+
}
|
59
|
+
|
60
|
+
#error_explanation {
|
61
|
+
width: 450px;
|
62
|
+
border: 2px solid red;
|
63
|
+
padding: 7px;
|
64
|
+
padding-bottom: 0;
|
65
|
+
margin-bottom: 20px;
|
66
|
+
background-color: #f0f0f0;
|
67
|
+
}
|
68
|
+
|
69
|
+
#error_explanation h2 {
|
70
|
+
text-align: left;
|
71
|
+
font-weight: bold;
|
72
|
+
padding: 5px 5px 5px 15px;
|
73
|
+
font-size: 12px;
|
74
|
+
margin: -7px;
|
75
|
+
margin-bottom: 0px;
|
76
|
+
background-color: #c00;
|
77
|
+
color: #fff;
|
78
|
+
}
|
79
|
+
|
80
|
+
#error_explanation ul li {
|
81
|
+
font-size: 12px;
|
82
|
+
list-style: square;
|
83
|
+
}
|
84
|
+
|
85
|
+
|
86
|
+
body {
|
87
|
+
height: 100%;
|
88
|
+
margin: 0px;
|
89
|
+
padding: 0px;
|
90
|
+
/*background-color: #DBAE5E !important;*/
|
91
|
+
background-image: url(/images/fabric_bg.png);
|
92
|
+
text-align: center;
|
93
|
+
}
|
94
|
+
|
95
|
+
div#header {
|
96
|
+
width: 900px;
|
97
|
+
text-align: center;
|
98
|
+
margin: 0pt auto;
|
99
|
+
background-image: url(/images/header_bg.png);
|
100
|
+
height: 150px;
|
101
|
+
border-bottom: 2px solid #96602D;
|
102
|
+
border-left: 2px solid #96602D;
|
103
|
+
border-right: 2px solid #96602D;
|
104
|
+
margin-bottom: 10px;
|
105
|
+
position: relative;
|
106
|
+
}
|
107
|
+
|
108
|
+
div#header div.menu {
|
109
|
+
position: absolute;
|
110
|
+
top: 100px;
|
111
|
+
left: 0px;
|
112
|
+
}
|
113
|
+
|
114
|
+
div#header div.menu a {
|
115
|
+
color: #000000;
|
116
|
+
text-decoration: none;
|
117
|
+
font-size: 18px;
|
118
|
+
}
|
119
|
+
|
120
|
+
div#header div.menu a:hover {
|
121
|
+
background-color: #f0f0f0;
|
122
|
+
}
|
123
|
+
|
124
|
+
div#header div.menu ul {
|
125
|
+
list-style: none;
|
126
|
+
}
|
127
|
+
|
128
|
+
div#header div.menu ul li {
|
129
|
+
list-style: none;
|
130
|
+
display: inline;
|
131
|
+
padding-left: 10px;
|
132
|
+
padding-right: 10px;
|
133
|
+
border-left: 2px solid #4D5453;
|
134
|
+
}
|
135
|
+
|
136
|
+
div#header div.menu ul li.first {
|
137
|
+
padding-left: 0px;
|
138
|
+
border-left: none;
|
139
|
+
}
|
140
|
+
|
141
|
+
div#content {
|
142
|
+
background-color: #4D5453;
|
143
|
+
width: 900px;
|
144
|
+
text-align: center;
|
145
|
+
margin: 0pt auto;
|
146
|
+
border: 2px solid #96602D;
|
147
|
+
padding-bottom: 20px;
|
148
|
+
margin-bottom: 20px;
|
149
|
+
}
|
150
|
+
|
151
|
+
div#content div#cart {
|
152
|
+
background-color: #96602D;
|
153
|
+
margin-bottom: 20px;
|
154
|
+
padding: 4px;
|
155
|
+
position: relative;
|
156
|
+
}
|
157
|
+
|
158
|
+
div#content div#cart a, div#content div#cart a:visited {
|
159
|
+
color: #000000;
|
160
|
+
text-decoration: none;
|
161
|
+
font-size: 16px;
|
162
|
+
display: block;
|
163
|
+
margin: 0pt auto;
|
164
|
+
width: 192px;
|
165
|
+
position: relative;
|
166
|
+
height: 33px;
|
167
|
+
}
|
168
|
+
|
169
|
+
div#content div#cart a:hover {
|
170
|
+
background-color: #96602D;
|
171
|
+
}
|
172
|
+
|
173
|
+
div#content div#cart a div.text {
|
174
|
+
position: absolute;
|
175
|
+
top: 8px;
|
176
|
+
left: 0px;
|
177
|
+
}
|
178
|
+
|
179
|
+
div#content div#cart a div.image {
|
180
|
+
position: absolute;
|
181
|
+
top: 0px;
|
182
|
+
right: 0px;
|
183
|
+
}
|
184
|
+
|
185
|
+
div#content div#cart a div.image img {
|
186
|
+
border: 0px;
|
187
|
+
width: 32px;
|
188
|
+
height: 32px;
|
189
|
+
}
|
190
|
+
|
191
|
+
div#footer {
|
192
|
+
background-image: url(/images/footer_bg.png);
|
193
|
+
background-repeat: no-repeat;
|
194
|
+
height: 150px;
|
195
|
+
margin: 0pt auto;
|
196
|
+
text-align: center;
|
197
|
+
width: 904px;
|
198
|
+
position: relative;
|
199
|
+
}
|
200
|
+
|
201
|
+
div#footer div.menu {
|
202
|
+
position: absolute;
|
203
|
+
top: 80px;
|
204
|
+
left: 455px;
|
205
|
+
}
|
206
|
+
|
207
|
+
div#footer div.menu a {
|
208
|
+
color: #f0f0f0;
|
209
|
+
text-decoration: none;
|
210
|
+
font-size: 18px;
|
211
|
+
}
|
212
|
+
|
213
|
+
div#footer div.menu ul {
|
214
|
+
list-style: none;
|
215
|
+
}
|
216
|
+
|
217
|
+
div#footer div.menu ul li {
|
218
|
+
list-style: none;
|
219
|
+
display: inline;
|
220
|
+
padding-left: 20px;
|
221
|
+
}
|
222
|
+
|
223
|
+
#stores, #about, #contact {
|
224
|
+
width: 850px;
|
225
|
+
margin: 0pt auto;
|
226
|
+
height: 100%;
|
227
|
+
}
|
228
|
+
|
229
|
+
#about, #contact {
|
230
|
+
background-color: #f0f0f0;
|
231
|
+
padding: 20px;
|
232
|
+
width: 810px;
|
233
|
+
}
|
234
|
+
|
235
|
+
#stores a:hover {
|
236
|
+
border: 0px;
|
237
|
+
color: inherit;
|
238
|
+
}
|
239
|
+
|
240
|
+
#stores .store {
|
241
|
+
margin: 5px;
|
242
|
+
float: left;
|
243
|
+
width: 414px;
|
244
|
+
height: 412px;
|
245
|
+
}
|
246
|
+
|
247
|
+
#stores .store .image, #stores .store .back-image, #stores .store .front-image {
|
248
|
+
height: 412px;
|
249
|
+
width: 412px;
|
250
|
+
border: 1px solid #000000;
|
251
|
+
margin: 5px;
|
252
|
+
text-align: center;
|
253
|
+
display: table-cell;
|
254
|
+
vertical-align: middle;
|
255
|
+
color: transparent;
|
256
|
+
}
|
257
|
+
|
258
|
+
#stores .store .front-image {
|
259
|
+
background-image: url(/images/front_bg.png);
|
260
|
+
background-repeat: no-repeat;
|
261
|
+
}
|
262
|
+
|
263
|
+
#stores .store .back-image {
|
264
|
+
background-image: url(/images/back_bg.png);
|
265
|
+
background-repeat: no-repeat;
|
266
|
+
}
|
267
|
+
|
268
|
+
div.clear {
|
269
|
+
clear:both;
|
270
|
+
}
|
271
|
+
|
272
|
+
#products {
|
273
|
+
width:460px;
|
274
|
+
float:left;
|
275
|
+
}
|
276
|
+
|
277
|
+
#products a {
|
278
|
+
display: inline-block;
|
279
|
+
border: 2px solid #fff;
|
280
|
+
line-height: 0px;
|
281
|
+
margin: 1px;
|
282
|
+
}
|
283
|
+
|
284
|
+
#products a > img {
|
285
|
+
border: none;
|
286
|
+
}
|
287
|
+
|
288
|
+
#products a:hover {
|
289
|
+
border: 2px solid #DBAE5E;
|
290
|
+
background-color: inherit;
|
291
|
+
}
|
292
|
+
|
293
|
+
#products #mens_and_womens td {
|
294
|
+
vertical-align: top;
|
295
|
+
width: 50%;
|
296
|
+
padding: 0px;
|
297
|
+
}
|
298
|
+
|
299
|
+
#products #mens_and_womens h2 {
|
300
|
+
margin: 0px;
|
301
|
+
padding: 8px;
|
302
|
+
}
|
303
|
+
|
304
|
+
#products #mens_and_womens div.thumbnails {
|
305
|
+
padding-top: 8px;
|
306
|
+
}
|
307
|
+
|
308
|
+
#products #mens_and_womens #mens {
|
309
|
+
border: 2px solid #7ABACC;
|
310
|
+
}
|
311
|
+
|
312
|
+
#products #mens_and_womens #mens h2 {
|
313
|
+
background-color: #7ABACC;
|
314
|
+
}
|
315
|
+
|
316
|
+
#products #mens_and_womens #womens {
|
317
|
+
border: 2px solid #FFB2CB;
|
318
|
+
}
|
319
|
+
|
320
|
+
#products #mens_and_womens #womens h2 {
|
321
|
+
background-color: #FFB2CB;
|
322
|
+
}
|
323
|
+
|
324
|
+
#products #unisex {
|
325
|
+
border: 2px solid #FFFBCB;
|
326
|
+
margin: 4px;
|
327
|
+
}
|
328
|
+
|
329
|
+
#products #unisex h2 {
|
330
|
+
background-color: #FFFBCB;
|
331
|
+
margin: 0px;
|
332
|
+
padding: 8px;
|
333
|
+
}
|
334
|
+
|
335
|
+
#products #unisex div.thumbnails {
|
336
|
+
padding-top: 8px;
|
337
|
+
}
|
338
|
+
|
339
|
+
div#active_product {
|
340
|
+
float:left;
|
341
|
+
width:440px;
|
342
|
+
position:relative;
|
343
|
+
height: 462px;
|
344
|
+
}
|
345
|
+
|
346
|
+
div#moving_div {
|
347
|
+
width:400px;
|
348
|
+
height: 462px;
|
349
|
+
position:absolute;
|
350
|
+
left:20px;
|
351
|
+
background-color:#ffffff;
|
352
|
+
top:4px;
|
353
|
+
}
|
354
|
+
|
355
|
+
div#moving_div div#image {
|
356
|
+
width: 400px;
|
357
|
+
height: 350px;
|
358
|
+
position: relative;
|
359
|
+
z-index: 2;
|
360
|
+
}
|
361
|
+
|
362
|
+
div#moving_div div#loading_image_icon {
|
363
|
+
position:absolute;
|
364
|
+
left: 184px;
|
365
|
+
top: 100px;
|
366
|
+
z-index: 1;
|
367
|
+
}
|
368
|
+
|
369
|
+
div#moving_div div#info {
|
370
|
+
text-align: left;
|
371
|
+
}
|
372
|
+
|
373
|
+
div#info div#name {
|
374
|
+
text-align: center;
|
375
|
+
font-size: 15px;
|
376
|
+
font-weight: bold;
|
377
|
+
}
|
378
|
+
|
379
|
+
div#info div#name span#price {
|
380
|
+
color: #DD602D;
|
381
|
+
}
|
382
|
+
|
383
|
+
div#colors {
|
384
|
+
width:400px;
|
385
|
+
}
|
386
|
+
|
387
|
+
div#colors div.label, div#sizes div.label, div#quantity div.label {
|
388
|
+
float:left;
|
389
|
+
padding: 1px 5px;
|
390
|
+
width: 66px;
|
391
|
+
text-align: right;
|
392
|
+
}
|
393
|
+
|
394
|
+
div#colors a {
|
395
|
+
display: inline-block;
|
396
|
+
line-height: 0px;
|
397
|
+
border: 2px solid #ffffff;
|
398
|
+
}
|
399
|
+
|
400
|
+
div#colors a:hover {
|
401
|
+
border: 2px solid #DBAE5E;
|
402
|
+
background-color: inherit;
|
403
|
+
}
|
404
|
+
|
405
|
+
div#colors a > img {
|
406
|
+
border: none;
|
407
|
+
}
|
408
|
+
|
409
|
+
div#colors img.swatch {
|
410
|
+
width:20px;
|
411
|
+
height:20px;
|
412
|
+
}
|
413
|
+
|
414
|
+
div#colors div.one_color {
|
415
|
+
font-style: italic;
|
416
|
+
color: #4D5453;
|
417
|
+
font-weight: bold;
|
418
|
+
font-size: 10px;
|
419
|
+
float:left;
|
420
|
+
padding-top: 2px;
|
421
|
+
}
|
422
|
+
|
423
|
+
div#colors div.multiple_colors {
|
424
|
+
float:left;
|
425
|
+
padding-top:1px;
|
426
|
+
}
|
427
|
+
|
428
|
+
div#sizes {
|
429
|
+
padding: 2px 0px;
|
430
|
+
}
|
431
|
+
|
432
|
+
div#sizes div.size_select {
|
433
|
+
float: left;
|
434
|
+
}
|
435
|
+
|
436
|
+
div#quantity {
|
437
|
+
width: 400px;
|
438
|
+
padding-top: 2px;
|
439
|
+
}
|
440
|
+
|
441
|
+
div#color_names {
|
442
|
+
padding:2px 0px 0px 5px;
|
443
|
+
}
|
444
|
+
|
445
|
+
div#color_names div.color_description {
|
446
|
+
padding-left: 10px;
|
447
|
+
}
|
448
|
+
|
449
|
+
div#moving_div div#info div#more_info {
|
450
|
+
text-align: center;
|
451
|
+
font-size: 10px;
|
452
|
+
padding-top: 2px;
|
453
|
+
}
|
454
|
+
|
455
|
+
div#moving_div div#info div#more_info a {
|
456
|
+
color: #666666;
|
457
|
+
}
|
458
|
+
|
459
|
+
div#moving_div div#info div#add_to_cart {
|
460
|
+
bottom: 35px;
|
461
|
+
position: absolute;
|
462
|
+
right: 12px;
|
463
|
+
}
|
464
|
+
|
465
|
+
div#moving_div div#info div#add_to_cart input {
|
466
|
+
border: 1px solid #000000;
|
467
|
+
cursor: pointer;
|
468
|
+
font-size: 12px;
|
469
|
+
font-weight: bold;
|
470
|
+
height: 30px;
|
471
|
+
width: 90px;
|
472
|
+
background-color: #99ff00;
|
473
|
+
}
|
metadata
ADDED
@@ -0,0 +1,137 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cafepress_wrapper
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors: []
|
13
|
+
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-05-13 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 23
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 3
|
31
|
+
- 2
|
32
|
+
version: 0.3.2
|
33
|
+
requirement: *id001
|
34
|
+
type: :runtime
|
35
|
+
name: cafepress_api
|
36
|
+
prerelease: false
|
37
|
+
description: Insert CafepressWrapper description.
|
38
|
+
email:
|
39
|
+
executables: []
|
40
|
+
|
41
|
+
extensions: []
|
42
|
+
|
43
|
+
extra_rdoc_files: []
|
44
|
+
|
45
|
+
files:
|
46
|
+
- app/controllers/content_controller.rb
|
47
|
+
- app/controllers/products_controller.rb
|
48
|
+
- app/controllers/sitemap_controller.rb
|
49
|
+
- app/controllers/stores_controller.rb
|
50
|
+
- app/models/image_url.rb
|
51
|
+
- app/models/product.rb
|
52
|
+
- app/models/size.rb
|
53
|
+
- app/models/store.rb
|
54
|
+
- app/models/user_token.rb
|
55
|
+
- app/views/content/about.html.erb
|
56
|
+
- app/views/content/contact.html.erb
|
57
|
+
- app/views/layouts/cafepress_wrapper.html.erb
|
58
|
+
- app/views/products/show.rjs
|
59
|
+
- app/views/sitemap/index.xml.erb
|
60
|
+
- app/views/stores/_front_back_image.html.erb
|
61
|
+
- app/views/stores/_product_details.html.erb
|
62
|
+
- app/views/stores/feed.rss.builder
|
63
|
+
- app/views/stores/index.html.erb
|
64
|
+
- app/views/stores/show.html.erb
|
65
|
+
- lib/cafepress_wrapper.rb
|
66
|
+
- lib/db/migrate/20101103152700_create_user_tokens.rb
|
67
|
+
- lib/db/migrate/20101104032051_create_stores.rb
|
68
|
+
- lib/db/migrate/20101104032412_create_products.rb
|
69
|
+
- lib/db/migrate/20101111004355_add_description_to_store.rb
|
70
|
+
- lib/db/migrate/20101111025931_add_cafepress_design_id_to_products.rb
|
71
|
+
- lib/db/migrate/20101119163852_add_cafepress_design_url_to_stores.rb
|
72
|
+
- lib/db/migrate/20101119171328_add_design_background_color_to_stores.rb
|
73
|
+
- lib/db/migrate/20101120003908_add_cafepress_back_design_id_to_products.rb
|
74
|
+
- lib/db/migrate/20101123021036_add_cafepress_back_design_url_to_stores.rb
|
75
|
+
- lib/db/migrate/20110301072358_add_gender_to_products.rb
|
76
|
+
- lib/db/migrate/20110302191748_create_thumbnail_urls.rb
|
77
|
+
- lib/db/migrate/20110302195801_add_view_to_thumbnail_urls.rb
|
78
|
+
- lib/db/migrate/20110305004142_rename_thumbnail_urls_to_image_urls.rb
|
79
|
+
- lib/db/migrate/20110305004402_add_image_size_to_image_urls.rb
|
80
|
+
- lib/db/migrate/20110307005237_add_cafepress_merchandise_id_to_products.rb
|
81
|
+
- lib/db/migrate/20110307014703_add_default_color_id_to_products.rb
|
82
|
+
- lib/db/migrate/20110307063709_create_sizes.rb
|
83
|
+
- lib/db/migrate/20110307064131_add_default_cafepress_size_id_to_products.rb
|
84
|
+
- lib/db/migrate/20110308010304_add_title_to_stores.rb
|
85
|
+
- lib/db/migrate/20110308050955_add_price_to_products.rb
|
86
|
+
- lib/tasks/cafepress_wrapper.rake
|
87
|
+
- config/initializers/cafepress.rb
|
88
|
+
- config/routes.rb
|
89
|
+
- public/images/ajax-loader.gif
|
90
|
+
- public/images/back_bg.png
|
91
|
+
- public/images/cart.png
|
92
|
+
- public/images/fabric_bg.png
|
93
|
+
- public/images/footer_bg.png
|
94
|
+
- public/images/front_bg.png
|
95
|
+
- public/images/header_bg.png
|
96
|
+
- public/javascripts/cafepress_wrapper.js
|
97
|
+
- public/stylesheets/cafepress_wrapper.css
|
98
|
+
- MIT-LICENSE
|
99
|
+
- Rakefile
|
100
|
+
- Gemfile
|
101
|
+
- README.rdoc
|
102
|
+
has_rdoc: true
|
103
|
+
homepage:
|
104
|
+
licenses: []
|
105
|
+
|
106
|
+
post_install_message:
|
107
|
+
rdoc_options: []
|
108
|
+
|
109
|
+
require_paths:
|
110
|
+
- lib
|
111
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
none: false
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
hash: 3
|
117
|
+
segments:
|
118
|
+
- 0
|
119
|
+
version: "0"
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
hash: 3
|
126
|
+
segments:
|
127
|
+
- 0
|
128
|
+
version: "0"
|
129
|
+
requirements: []
|
130
|
+
|
131
|
+
rubyforge_project:
|
132
|
+
rubygems_version: 1.3.7
|
133
|
+
signing_key:
|
134
|
+
specification_version: 3
|
135
|
+
summary: Insert CafepressWrapper summary.
|
136
|
+
test_files: []
|
137
|
+
|