Commit 1a274491caa516522760d1d8888240cf7565e379
1 parent
63e06640
first commit
Showing
71 changed files
with
4751 additions
and
0 deletions
Too many changes to show.
To preserve performance only 71 of 3809 files are displayed.
css/common.css
0 → 100644
1 | +* { | |
2 | + -moz-tap-highlight-color: rgba(0, 0, 0, 0); | |
3 | + -o-tap-highlight-color: rgba(0, 0, 0, 0); | |
4 | + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); | |
5 | +} | |
6 | +html { | |
7 | + height: 100%; | |
8 | +} | |
9 | +html, | |
10 | +body, | |
11 | +div, | |
12 | +span, | |
13 | +object, | |
14 | +iframe, | |
15 | +h1, | |
16 | +h2, | |
17 | +h3, | |
18 | +h4, | |
19 | +h5, | |
20 | +h6, | |
21 | +p, | |
22 | +blockquote, | |
23 | +pre, | |
24 | +abbr, | |
25 | +address, | |
26 | +cite, | |
27 | +code, | |
28 | +del, | |
29 | +dfn, | |
30 | +em, | |
31 | +img, | |
32 | +ins, | |
33 | +kbd, | |
34 | +q, | |
35 | +samp, | |
36 | +small, | |
37 | +strong, | |
38 | +sub, | |
39 | +sup, | |
40 | +var, | |
41 | +b, | |
42 | +i, | |
43 | +dl, | |
44 | +dt, | |
45 | +dd, | |
46 | +ol, | |
47 | +ul, | |
48 | +li, | |
49 | +fieldset, | |
50 | +form, | |
51 | +label, | |
52 | +legend, | |
53 | +table, | |
54 | +caption, | |
55 | +tbody, | |
56 | +tfoot, | |
57 | +thead, | |
58 | +tr, | |
59 | +th, | |
60 | +td, | |
61 | +article, | |
62 | +aside, | |
63 | +canvas, | |
64 | +details, | |
65 | +figcaption, | |
66 | +figure, | |
67 | +footer, | |
68 | +header, | |
69 | +menu, | |
70 | +nav, | |
71 | +section, | |
72 | +summary, | |
73 | +time, | |
74 | +mark, | |
75 | +audio, | |
76 | +video { | |
77 | + margin: 0; | |
78 | + padding: 0; | |
79 | + border: 0; | |
80 | + outline: 0; | |
81 | + vertical-align: baseline; | |
82 | + background: transparent; | |
83 | +} | |
84 | +body { | |
85 | + font: 12px/1.5 sans-serif; | |
86 | + background-color: #F5F5F5; | |
87 | + position: relative; | |
88 | + color: #333; | |
89 | + min-height: 100%; | |
90 | + overflow-x: hidden; | |
91 | +} | |
92 | +article, | |
93 | +aside, | |
94 | +details, | |
95 | +figcaption, | |
96 | +figure, | |
97 | +footer, | |
98 | +header, | |
99 | +menu, | |
100 | +nav, | |
101 | +section { | |
102 | + display: block; | |
103 | +} | |
104 | +nav ul { | |
105 | + list-style: none; | |
106 | +} | |
107 | +li { | |
108 | + list-style: none; | |
109 | +} | |
110 | +em { | |
111 | + font-style: normal; | |
112 | +} | |
113 | +ins { | |
114 | + background-color: #ff9; | |
115 | + color: #000; | |
116 | + text-decoration: none; | |
117 | +} | |
118 | +mark { | |
119 | + background-color: #ff9; | |
120 | + color: #000; | |
121 | + font-style: italic; | |
122 | + font-weight: bold; | |
123 | +} | |
124 | +table { | |
125 | + border-collapse: collapse; | |
126 | + border-spacing: 0; | |
127 | +} | |
128 | +hr { | |
129 | + display: block; | |
130 | + height: 1px; | |
131 | + border: 0; | |
132 | + border-top: 1px solid #cccccc; | |
133 | + margin: 0; | |
134 | + padding: 0; | |
135 | +} | |
136 | +input, | |
137 | +select { | |
138 | + vertical-align: middle; | |
139 | +} | |
140 | +input:focus, | |
141 | +button:focus { | |
142 | + outline: none; | |
143 | +} | |
144 | +a { | |
145 | + color: #333; | |
146 | + text-decoration: none; | |
147 | + margin: 0; | |
148 | + padding: 0; | |
149 | + vertical-align: baseline; | |
150 | + background: transparent; | |
151 | +} | |
152 | +a:active, | |
153 | +a:visited { | |
154 | + color: #333; | |
155 | +} | |
156 | +input, | |
157 | +img { | |
158 | + border: 0; | |
159 | + vertical-align: middle; | |
160 | +} | |
161 | +textarea, | |
162 | +input, | |
163 | +a { | |
164 | + -webkit-tap-highlight-color: transparent; | |
165 | +} | |
166 | +/* 清除浮动 */ | |
167 | +.clearfix, | |
168 | +.clear { | |
169 | + display: inline-table; | |
170 | + zoom: 1; | |
171 | +} | |
172 | +* html .clearfix, | |
173 | +* html .clear { | |
174 | + height: 1%; | |
175 | +} | |
176 | +* html .clearfix, | |
177 | +* html .clear { | |
178 | + zoom: 1; | |
179 | +} | |
180 | +.clearfix, | |
181 | +.clear { | |
182 | + display: block; | |
183 | +} | |
184 | +.clear { | |
185 | + clear: both; | |
186 | +} | |
187 | +.clearfix:after, | |
188 | +.clear:after { | |
189 | + content: " "; | |
190 | + display: block; | |
191 | + height: 0; | |
192 | + clear: both; | |
193 | + visibility: hidden; | |
194 | + line-height: 0px; | |
195 | +} | |
196 | +.border-1px { | |
197 | + position: relative; | |
198 | +} | |
199 | +.border-1px:before, | |
200 | +.border-1px:after { | |
201 | + border-top: 1px solid #e2e2e2; | |
202 | + content: ''; | |
203 | + display: block; | |
204 | + width: 100%; | |
205 | + position: absolute; | |
206 | + left: 0; | |
207 | + z-index: 1; | |
208 | +} | |
209 | +.border-1px:before { | |
210 | + top: 0; | |
211 | +} | |
212 | +.border-1px:after { | |
213 | + bottom: 0; | |
214 | +} | |
215 | +.border-1px.border-top:after { | |
216 | + display: none; | |
217 | +} | |
218 | +.border-1px.border-bottom:before { | |
219 | + display: none; | |
220 | +} | |
221 | +.border-1px-full { | |
222 | + position: relative; | |
223 | +} | |
224 | +.border-1px-full:after { | |
225 | + content: ''; | |
226 | + position: absolute; | |
227 | + top: 0; | |
228 | + left: 0; | |
229 | + z-index: 1; | |
230 | + border: 1px solid #e2e2e2; | |
231 | + -webkit-box-sizing: border-box; | |
232 | + box-sizing: border-box; | |
233 | + width: 200%; | |
234 | + height: 200%; | |
235 | + -webkit-transform: scale(0.5); | |
236 | + transform: scale(0.5); | |
237 | + -webkit-transform-origin: left top; | |
238 | + transform-origin: left top; | |
239 | +} | |
240 | +@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5) { | |
241 | + .border-1px::after, | |
242 | + .border-1px::before { | |
243 | + -webkit-transform: scaleY(0.7); | |
244 | + -webkit-transform-origin: 0 0; | |
245 | + transform: scaleY(0.7); | |
246 | + } | |
247 | + .border-1px::after { | |
248 | + -webkit-transform-origin: left bottom; | |
249 | + } | |
250 | +} | |
251 | +@media (-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2) { | |
252 | + .border-1px::after, | |
253 | + .border-1px::before { | |
254 | + -webkit-transform: scaleY(0.5); | |
255 | + transform: scaleY(0.5); | |
256 | + } | |
257 | +} | |
258 | +/*************************************************** | |
259 | +* feature : 全局头部,提供默认 深色(绿底白字) & 浅色(白底黑字)主题; | |
260 | +* update : 2015/02/03; | |
261 | +* use : .m-header; | |
262 | +* extend : .header-*; | |
263 | +* example : <header class="m-header header-light"></header>; | |
264 | +* desc : 默认为深色主题, 通过 .header-light 来引用浅色主题; | |
265 | +* feedback : 此处填入 issue, 并请附带以下信息[os_version, browser_version, page_path, issue_description] | |
266 | +* - demo => [windows 7, IE 8, http://diligrp.com/icon.html, 在不定height下未能垂直居中]; | |
267 | +****************************************************/ | |
268 | +.m-header { | |
269 | + z-index: 5; | |
270 | + color: #FFF; | |
271 | + color: #ffffff; | |
272 | + background-color: #23AC38; | |
273 | + position: relative; | |
274 | +} | |
275 | +.m-header .head { | |
276 | + padding: 0 50px; | |
277 | + box-sizing: border-box; | |
278 | + height: 44px; | |
279 | + text-align: center; | |
280 | +} | |
281 | +.m-header .head h1 { | |
282 | + display: inline-block; | |
283 | + vertical-align: middle; | |
284 | + line-height: 44px; | |
285 | + font-weight: normal; | |
286 | + font-size: 18px; | |
287 | + white-space: nowrap; | |
288 | + text-overflow: ellipsis; | |
289 | + overflow: hidden; | |
290 | +} | |
291 | +.m-header .lt-bar, | |
292 | +.m-header .rt-bar { | |
293 | + position: absolute; | |
294 | + left: 0; | |
295 | + top: 0; | |
296 | + bottom: 0; | |
297 | + min-width: 44px; | |
298 | + line-height: 44px; | |
299 | + height: 100%; | |
300 | + text-align: center; | |
301 | + cursor: pointer; | |
302 | + z-index: 1; | |
303 | +} | |
304 | +.m-header .lt-bar { | |
305 | + float: left; | |
306 | +} | |
307 | +.m-header .lt-bar.text { | |
308 | + padding-left: 10px; | |
309 | + text-align: left; | |
310 | +} | |
311 | +.m-header .rt-bar { | |
312 | + float: right; | |
313 | + left: auto; | |
314 | + right: 0; | |
315 | +} | |
316 | +.m-header .rt-bar.text { | |
317 | + padding-right: 10px; | |
318 | + text-align: right; | |
319 | +} | |
320 | +.m-header .text { | |
321 | + text-align: center; | |
322 | + line-height: 44px; | |
323 | + font-size: 15px; | |
324 | + color: #FFF; | |
325 | +} | |
326 | +.m-header.header-light { | |
327 | + background-color: #FFF; | |
328 | + color: #666; | |
329 | +} | |
330 | +.m-header.header-light .text { | |
331 | + color: #666; | |
332 | +} | |
333 | +.m-header.header-light .m-input { | |
334 | + color: #333; | |
335 | +} | |
336 | +.m-header.header-light .m-input::-webkit-input-placeholder { | |
337 | + color: #999; | |
338 | +} | |
339 | +/* | |
340 | + * Swiper 2.7.0 | |
341 | + * Mobile touch slider and framework with hardware accelerated transitions | |
342 | + * | |
343 | + * http://www.idangero.us/sliders/swiper/ | |
344 | + * | |
345 | + * Copyright 2010-2014, Vladimir Kharlampidi | |
346 | + * The iDangero.us | |
347 | + * http://www.idangero.us/ | |
348 | + * | |
349 | + * Licensed under GPL & MIT | |
350 | + * | |
351 | + * Released on: August 30, 2014 | |
352 | +*/ | |
353 | +/* =============================================================== | |
354 | +Basic Swiper Styles | |
355 | +================================================================*/ | |
356 | +.swiper-container { | |
357 | + margin: 0 auto; | |
358 | + position: relative; | |
359 | + overflow: hidden; | |
360 | + -webkit-backface-visibility: hidden; | |
361 | + -moz-backface-visibility: hidden; | |
362 | + -ms-backface-visibility: hidden; | |
363 | + -o-backface-visibility: hidden; | |
364 | + backface-visibility: hidden; | |
365 | + /* Fix of Webkit flickering */ | |
366 | + z-index: 1; | |
367 | +} | |
368 | +.swiper-wrapper { | |
369 | + position: relative; | |
370 | + width: 100%; | |
371 | + -webkit-transition-property: -webkit-transform, left, top; | |
372 | + -webkit-transition-duration: 0s; | |
373 | + -webkit-transform: translate3d(0px, 0, 0); | |
374 | + -webkit-transition-timing-function: ease; | |
375 | + -moz-transition-property: -moz-transform, left, top; | |
376 | + -moz-transition-duration: 0s; | |
377 | + -moz-transform: translate3d(0px, 0, 0); | |
378 | + -moz-transition-timing-function: ease; | |
379 | + -o-transition-property: -o-transform, left, top; | |
380 | + -o-transition-duration: 0s; | |
381 | + -o-transform: translate3d(0px, 0, 0); | |
382 | + -o-transition-timing-function: ease; | |
383 | + -o-transform: translate(0px, 0px); | |
384 | + -ms-transition-property: -ms-transform, left, top; | |
385 | + -ms-transition-duration: 0s; | |
386 | + -ms-transform: translate3d(0px, 0, 0); | |
387 | + -ms-transition-timing-function: ease; | |
388 | + transition-property: transform, left, top; | |
389 | + transition-duration: 0s; | |
390 | + transform: translate3d(0px, 0, 0); | |
391 | + transition-timing-function: ease; | |
392 | + -webkit-box-sizing: content-box; | |
393 | + -moz-box-sizing: content-box; | |
394 | + box-sizing: content-box; | |
395 | +} | |
396 | +.swiper-free-mode > .swiper-wrapper { | |
397 | + -webkit-transition-timing-function: ease-out; | |
398 | + -moz-transition-timing-function: ease-out; | |
399 | + -ms-transition-timing-function: ease-out; | |
400 | + -o-transition-timing-function: ease-out; | |
401 | + transition-timing-function: ease-out; | |
402 | + margin: 0 auto; | |
403 | +} | |
404 | +.swiper-slide { | |
405 | + float: left; | |
406 | + -webkit-box-sizing: content-box; | |
407 | + -moz-box-sizing: content-box; | |
408 | + box-sizing: content-box; | |
409 | +} | |
410 | +/* IE10 Windows Phone 8 Fixes */ | |
411 | +.swiper-wp8-horizontal { | |
412 | + -ms-touch-action: pan-y; | |
413 | +} | |
414 | +.swiper-wp8-vertical { | |
415 | + -ms-touch-action: pan-x; | |
416 | +} | |
417 | +/* =============================================================== | |
418 | +Your custom styles, here you need to specify container's and slide's | |
419 | +sizes, pagination, etc. | |
420 | +================================================================*/ | |
421 | +.swiper-container { | |
422 | + /* Specify Swiper's Size: */ | |
423 | + /*width:200px; | |
424 | + height: 100px;*/ | |
425 | +} | |
426 | +.swiper-slide { | |
427 | + /* Specify Slides's Size: */ | |
428 | + /*width: 100%; | |
429 | + height: 100%;*/ | |
430 | +} | |
431 | +.swiper-slide-active { | |
432 | + /* Specific active slide styling: */ | |
433 | +} | |
434 | +.swiper-slide-visible { | |
435 | + /* Specific visible slide styling: */ | |
436 | +} | |
437 | +/* =============================================================== | |
438 | +Pagination Styles | |
439 | +================================================================*/ | |
440 | +.swiper-pagination-switch { | |
441 | + /* Stylize pagination button: */ | |
442 | +} | |
443 | +.swiper-active-switch { | |
444 | + /* Specific active button style: */ | |
445 | +} | |
446 | +.swiper-visible-switch { | |
447 | + /* Specific visible button style: */ | |
448 | +} | |
449 | +.swiper-pagination { | |
450 | + position: absolute; | |
451 | + text-align: center; | |
452 | + -webkit-transition: 300ms; | |
453 | + -moz-transition: 300ms; | |
454 | + -o-transition: 300ms; | |
455 | + transition: 300ms; | |
456 | + -webkit-transform: translate3d(0, 0, 0); | |
457 | + -ms-transform: translate3d(0, 0, 0); | |
458 | + -o-transform: translate3d(0, 0, 0); | |
459 | + transform: translate3d(0, 0, 0); | |
460 | + z-index: 10; | |
461 | +} | |
462 | +.swiper-pagination { | |
463 | + bottom: 10px; | |
464 | + left: 0; | |
465 | + width: 100%; | |
466 | +} | |
467 | +.swiper-pagination .swiper-pagination-switch { | |
468 | + margin: 0 5px; | |
469 | +} | |
470 | +.swiper-pagination-switch { | |
471 | + width: 8px; | |
472 | + height: 8px; | |
473 | + display: inline-block; | |
474 | + /*background: #FFF;*/ | |
475 | + background: none; | |
476 | + -webkit-box-shadow: inset 0 0 0 2px #ddd; | |
477 | + box-shadow: inset 0 0 0 2px #ddd; | |
478 | + -webkit-box-shadow: inset hoff voff blur color; | |
479 | + box-shadow: inset hoff voff blur color; | |
480 | + border-radius: 100%; | |
481 | + /* -webkit-transition: all ease-in-out .15s; | |
482 | + -o-transition: all ease-in-out .15s; | |
483 | + transition: all ease-in-out .15s;*/ | |
484 | +} | |
485 | +.swiper-active-switch { | |
486 | + opacity: 1; | |
487 | + -webkit-box-shadow: inset 0 0 0 4px #23AC38; | |
488 | + box-shadow: inset 0 0 0 4px #23AC38; | |
489 | + /*background: #23AC38;*/ | |
490 | + /*-webkit-box-shadow: none;*/ | |
491 | + /*box-shadow: none;*/ | |
492 | +} | |
493 | +.m-slider { | |
494 | + height: 120px; | |
495 | + position: relative; | |
496 | + overflow: hidden; | |
497 | + font-size: 0; | |
498 | +} | |
499 | +.m-slider a { | |
500 | + display: block; | |
501 | + width: 100%; | |
502 | + height: 100%; | |
503 | +} | |
504 | +.m-slider img { | |
505 | + display: inline-block; | |
506 | + width: 100%; | |
507 | + height: 100%; | |
508 | + float: left; | |
509 | +} | |
510 | +.m-slider .swiper-container { | |
511 | + height: 100%; | |
512 | +} | |
513 | +.m-slider .swiper-wrapper { | |
514 | + height: 100%; | |
515 | +} | |
516 | +.m-section .section-head { | |
517 | + line-height: 45px; | |
518 | + padding: 0 10px; | |
519 | + background-color: #fff; | |
520 | + font-size: 14px; | |
521 | + color: #666; | |
522 | + text-align: left; | |
523 | + font-weight: bold; | |
524 | + margin-bottom: 10px; | |
525 | +} | |
526 | +.m-section .section-head:first-letter { | |
527 | + font-size: 18px; | |
528 | + color: #23ac38; | |
529 | +} | |
530 | +.section-items { | |
531 | + margin-bottom: 10px; | |
532 | +} | |
533 | +.section-items .section-item { | |
534 | + display: block; | |
535 | + margin-bottom: 5px; | |
536 | + width: 100%; | |
537 | +} | |
538 | +.section-items .section-item img { | |
539 | + width: 100%; | |
540 | + max-width: 100%; | |
541 | +} | |
542 | +.product-items { | |
543 | + background-color: #FFF; | |
544 | + margin-bottom: 10px; | |
545 | +} | |
546 | +.product-items .items .item { | |
547 | + width: 33.33%; | |
548 | + float: left; | |
549 | + font-size: 13px; | |
550 | + text-align: center; | |
551 | + padding: 8px 0; | |
552 | +} | |
553 | +.product-items .items .item a { | |
554 | + display: block; | |
555 | + position: relative; | |
556 | + z-index: 2; | |
557 | +} | |
558 | +.product-items .items .item h3 { | |
559 | + font-size: 13px; | |
560 | + padding: 0 5px; | |
561 | + font-weight: 700; | |
562 | + color: #333; | |
563 | + line-height: 16px; | |
564 | + padding: 0 10px; | |
565 | + text-align: left; | |
566 | + text-overflow: ellipsis; | |
567 | + overflow: hidden; | |
568 | + white-space: nowrap; | |
569 | +} | |
570 | +.product-items .items .item p { | |
571 | + padding: 0 10px; | |
572 | + text-align: left; | |
573 | +} | |
574 | +.product-items .items .item em { | |
575 | + text-align: left; | |
576 | + display: block; | |
577 | + font-size: 13px; | |
578 | + font-weight: 700; | |
579 | + font-style: normal; | |
580 | + color: #FA4535; | |
581 | + text-overflow: ellipsis; | |
582 | + overflow: hidden; | |
583 | + white-space: nowrap; | |
584 | +} | |
585 | +.product-items .items .item span { | |
586 | + display: block; | |
587 | + text-align: center; | |
588 | + overflow: hidden; | |
589 | + white-space: nowrap; | |
590 | + text-overflow: ellipsis; | |
591 | +} | |
592 | +.product-items .items .item .pic { | |
593 | + max-width: 100%; | |
594 | + height: 60px; | |
595 | + display: inline-block; | |
596 | + vertical-align: middle; | |
597 | +} | |
598 | +.product-items .items .item:after { | |
599 | + border-left: none; | |
600 | + border-top: none; | |
601 | +} | |
602 | +.m-list-view { | |
603 | + margin-bottom: 10px; | |
604 | +} | |
605 | +.m-list-view .cell { | |
606 | + font-size: 14px; | |
607 | + padding: 0 0 0 15px; | |
608 | + background-color: #FFF; | |
609 | + overflow: hidden; | |
610 | + position: relative; | |
611 | + text-align: left; | |
612 | +} | |
613 | +.m-list-view .cell-header { | |
614 | + background-color: #f8f8f8; | |
615 | + padding: 0 10px; | |
616 | +} | |
617 | +.m-list-view .cell-header .title { | |
618 | + font-size: 13px; | |
619 | + color: #333; | |
620 | + line-height: 35px; | |
621 | + width: auto; | |
622 | +} | |
623 | +.m-list-view .cell-header .text { | |
624 | + font-size: 13px; | |
625 | + line-height: 35px; | |
626 | + float: right; | |
627 | + color: #9e9e9e; | |
628 | + text-align: right; | |
629 | + margin: 0; | |
630 | +} | |
631 | +.m-list-view .cell-basic { | |
632 | + padding: 11px 10px; | |
633 | +} | |
634 | +.m-list-view .cell-basic .title, | |
635 | +.m-list-view .cell-basic .text { | |
636 | + float: none; | |
637 | + display: inline-block; | |
638 | + vertical-align: middle; | |
639 | + margin: 0 10px 0 0; | |
640 | + line-height: 1.5; | |
641 | +} | |
642 | +.m-list-view .cell-basic .sub-title { | |
643 | + padding-top: 10px; | |
644 | + font-size: 13px; | |
645 | + color: #999; | |
646 | +} | |
647 | +.m-list-view .cell-radio { | |
648 | + text-align: right; | |
649 | + padding: 0 10px; | |
650 | + margin-bottom: 10px; | |
651 | + background-color: #eee; | |
652 | +} | |
653 | +.m-list-view .cell-radio .title { | |
654 | + color: #333; | |
655 | + width: auto; | |
656 | + text-align: left; | |
657 | +} | |
658 | +.m-list-view .cell-radio .text { | |
659 | + float: none; | |
660 | + text-align: right; | |
661 | +} | |
662 | +.m-list-view .cell-radio .m-radio { | |
663 | + margin-left: 8px; | |
664 | +} | |
665 | +.m-list-view .cell-radio .m-table-view { | |
666 | + margin: 0 -10px; | |
667 | +} | |
668 | +.m-list-view .cell-radio .m-table-view .cell-radio { | |
669 | + margin: 0; | |
670 | + background-color: #FFF; | |
671 | +} | |
672 | +.m-list-view .cell-block { | |
673 | + padding: 8px 10px; | |
674 | +} | |
675 | +.m-list-view .cell-block h3 { | |
676 | + font-size: 16px; | |
677 | + font-weight: normal; | |
678 | + padding-right: 60px; | |
679 | + white-space: nowrap; | |
680 | + text-overflow: ellipsis; | |
681 | + overflow: hidden; | |
682 | +} | |
683 | +.m-list-view .cell-block p { | |
684 | + font-size: 14px; | |
685 | + color: #666; | |
686 | +} | |
687 | +.m-list-view .cell-block .bottom { | |
688 | + margin-top: 10px; | |
689 | + padding-top: 8px; | |
690 | + line-height: 30px; | |
691 | +} | |
692 | +.m-list-view .cell-extend .m-table-view { | |
693 | + margin: 0 0 0 45px; | |
694 | +} | |
695 | +.m-list-view .cell-extend .m-table-view .cell { | |
696 | + padding: 0; | |
697 | +} | |
698 | +.m-list-view .cell-extend .m-table-view .text { | |
699 | + margin-left: 0; | |
700 | +} | |
701 | +.m-list-view .cell-pic { | |
702 | + padding: 15px; | |
703 | +} | |
704 | +.m-list-view .cell-pic .pic { | |
705 | + float: left; | |
706 | +} | |
707 | +.m-list-view .cell-pic .cont { | |
708 | + margin-left: 90px; | |
709 | +} | |
710 | +.m-list-view .cell-pic h3 { | |
711 | + font-size: 14px; | |
712 | + font-weight: normal; | |
713 | +} | |
714 | +.m-list-view .cell-pic em { | |
715 | + font-size: 16px; | |
716 | + font-weight: normal; | |
717 | +} | |
718 | +.m-list-view .cell-pic p { | |
719 | + color: #9b9b9b; | |
720 | + font-size: 12px; | |
721 | +} | |
722 | +.m-list-view .acc-icon { | |
723 | + position: relative; | |
724 | + padding-right: 30px; | |
725 | +} | |
726 | +.m-list-view .acc-icon .acc { | |
727 | + position: absolute; | |
728 | + right: 0; | |
729 | + top: 0; | |
730 | + min-width: 30px; | |
731 | + height: 100%; | |
732 | + line-height: 44px; | |
733 | + text-align: left; | |
734 | + color: #999; | |
735 | + text-align: right; | |
736 | +} | |
737 | +.m-list-view .acc-icon .acc .m-icon { | |
738 | + margin-right: 4px; | |
739 | +} | |
740 | +.m-list-view .title { | |
741 | + font-size: 15px; | |
742 | + color: #999; | |
743 | + float: left; | |
744 | + font-weight: 400; | |
745 | + line-height: 44px; | |
746 | +} | |
747 | +.m-list-view .text { | |
748 | + display: block; | |
749 | + font-size: 15px; | |
750 | + color: #333; | |
751 | + line-height: 44px; | |
752 | + position: relative; | |
753 | + white-space: nowrap; | |
754 | + word-break: break-all; | |
755 | + text-overflow: ellipsis; | |
756 | + overflow: hidden; | |
757 | +} | |
758 | +.m-list-view .text .m-input { | |
759 | + font-size: 15px; | |
760 | +} | |
761 | +.m-goods-items { | |
762 | + padding: 0 5px 5px; | |
763 | + overflow-x: scroll; | |
764 | + overflow-y: hidden; | |
765 | + -webkit-overflow-scrolling: touch; | |
766 | +} | |
767 | +.m-goods-items li { | |
768 | + float: left; | |
769 | + width: 110px; | |
770 | + padding: 0 5px 10px; | |
771 | + box-sizing: border-box; | |
772 | +} | |
773 | +.m-goods-items a { | |
774 | + display: block; | |
775 | + background-color: #fff; | |
776 | + padding-bottom: 5px; | |
777 | + position: relative; | |
778 | +} | |
779 | +.m-goods-items .hot { | |
780 | + position: absolute; | |
781 | + top: -1px; | |
782 | + right: 10px; | |
783 | + width: 20px; | |
784 | + height: 56px; | |
785 | + background: url(../images/icon_mark.png) 0 0 no-repeat; | |
786 | + background-size: 100%; | |
787 | + font-size: 0; | |
788 | + overflow: hidden; | |
789 | +} | |
790 | +.m-goods-items .pic { | |
791 | + display: block; | |
792 | + width: 100%; | |
793 | + height: 110px; | |
794 | + margin: 0 auto 5px; | |
795 | + background-position: center center; | |
796 | + background-repeat: no-repeat; | |
797 | + background-size: cover; | |
798 | +} | |
799 | +.m-goods-items h3 { | |
800 | + font-size: 13px; | |
801 | + padding: 0 5px; | |
802 | + font-weight: 700; | |
803 | + color: #333; | |
804 | + text-align: left; | |
805 | + line-height: 16px; | |
806 | + height: 32px; | |
807 | + overflow: hidden; | |
808 | +} | |
809 | +.m-goods-items em { | |
810 | + text-align: left; | |
811 | + display: block; | |
812 | + padding: 0 5px; | |
813 | + font-size: 13px; | |
814 | + font-weight: 700; | |
815 | + font-style: normal; | |
816 | + color: #FA4535; | |
817 | +} | |
818 | +.m-goods-items .origin-price { | |
819 | + font-size: 12px; | |
820 | + color: #bbb; | |
821 | + text-decoration: line-through; | |
822 | +} | |
823 | +.photo-wall { | |
824 | + width: 100%; | |
825 | + padding-left: 5px; | |
826 | + box-sizing: border-box; | |
827 | +} | |
828 | +.photo-wall .photo-item { | |
829 | + float: left; | |
830 | + box-sizing: border-box; | |
831 | + padding: 0 5px 5px 0; | |
832 | + height: 105px; | |
833 | +} | |
834 | +.photo-wall .photo-item img { | |
835 | + width: 100%; | |
836 | + height: 100%; | |
837 | + max-width: 100%; | |
838 | + max-height: 100%; | |
839 | +} | |
840 | +.photo-wall .photo-1p { | |
841 | + width: 33.33%; | |
842 | +} | |
843 | +.photo-wall .photo-2p { | |
844 | + width: 66.66%; | |
845 | +} | |
846 | +.m-nav { | |
847 | + width: 100%; | |
848 | + background-color: #444; | |
849 | + font-size: 14px; | |
850 | + color: #999; | |
851 | + overflow: hidden; | |
852 | + box-sizing: border-box; | |
853 | +} | |
854 | +.m-nav a { | |
855 | + color: #999; | |
856 | + padding: 0 10px; | |
857 | + min-width: 70px; | |
858 | +} | |
859 | +.m-nav li { | |
860 | + float: left; | |
861 | + line-height: 40px; | |
862 | + text-align: center; | |
863 | + position: relative; | |
864 | +} | |
865 | +.m-nav li:last-child { | |
866 | + padding-right: 0; | |
867 | +} | |
868 | +.m-nav .on a { | |
869 | + color: #FFF; | |
870 | + background-color: #23ac38; | |
871 | + display: block; | |
872 | + position: relative; | |
873 | +} | |
874 | +.m-tab { | |
875 | + width: 100%; | |
876 | + background-color: #FFF; | |
877 | + font-size: 14px; | |
878 | + color: #999; | |
879 | + border-width: 1px 0; | |
880 | + overflow: hidden; | |
881 | + box-sizing: border-box; | |
882 | + margin-bottom: 10px; | |
883 | +} | |
884 | +.m-tab a { | |
885 | + color: #999; | |
886 | +} | |
887 | +.m-tab li { | |
888 | + float: left; | |
889 | + min-width: 32px; | |
890 | + padding-right: 18px; | |
891 | + line-height: 40px; | |
892 | + text-align: center; | |
893 | + position: relative; | |
894 | +} | |
895 | +.m-tab li:last-child { | |
896 | + padding-right: 0; | |
897 | +} | |
898 | +.m-tab .on a { | |
899 | + color: #23ac38; | |
900 | + display: block; | |
901 | + position: relative; | |
902 | +} | |
903 | +.m-tab .on a:after { | |
904 | + content: ''; | |
905 | + position: absolute; | |
906 | + bottom: 0; | |
907 | + left: 0; | |
908 | + right: 0; | |
909 | + height: 2px; | |
910 | + background-color: #23ac38; | |
911 | +} | |
912 | +.m-tab.tab-col-2 li { | |
913 | + width: 50% !important; | |
914 | +} | |
915 | +.m-tab.tab-col-3 li { | |
916 | + width: 33.33% !important; | |
917 | + padding-right: 0 ; | |
918 | +} | |
919 | +.m-tab.tab-col-4 li { | |
920 | + padding-right: 0; | |
921 | + width: 25% !important; | |
922 | +} | |
923 | +.m-tab.tab-col-5 li { | |
924 | + padding-right: 0; | |
925 | + width: 20% !important; | |
926 | +} | |
927 | +/*************************************************** | |
928 | +* feature : 工具类class,提供浮动清除、文本对齐、显示隐藏等; | |
929 | +* update : 2015/02/03; | |
930 | +* use : 按需使用对应class即可; | |
931 | +* desc : ; | |
932 | +* feedback : 此处填入 issue, 并请附带以下信息[os_version, browser_version, page_path, issue_description] | |
933 | +* - demo => [windows 7, IE 8, http://diligrp.com/icon.html, 在不定height下未能垂直居中]; | |
934 | +****************************************************/ | |
935 | +.text-left { | |
936 | + text-align: left !important; | |
937 | +} | |
938 | +.text-center { | |
939 | + text-align: center !important; | |
940 | +} | |
941 | +.text-right { | |
942 | + text-align: right !important; | |
943 | +} | |
944 | +.text-nowrap { | |
945 | + white-space: nowrap !important; | |
946 | +} | |
947 | +.text-overflow { | |
948 | + overflow: hidden; | |
949 | + text-overflow: ellipsis; | |
950 | +} | |
951 | +.text-lowercase { | |
952 | + text-transform: lowercase; | |
953 | +} | |
954 | +.text-uppercase { | |
955 | + text-transform: uppercase; | |
956 | +} | |
957 | +.text-capitalize { | |
958 | + text-transform: capitalize; | |
959 | +} | |
960 | +.text-indent { | |
961 | + text-indent: -999em; | |
962 | +} | |
963 | +.float-left { | |
964 | + float: left !important; | |
965 | +} | |
966 | +.float-right { | |
967 | + float: right !important; | |
968 | +} | |
969 | +.float-none { | |
970 | + float: none !important; | |
971 | +} | |
972 | +.display-block { | |
973 | + display: block !important; | |
974 | +} | |
975 | +.clearfix:after { | |
976 | + content: ''; | |
977 | + display: block; | |
978 | + height: 0; | |
979 | + overflow: hidden; | |
980 | + font-size: 0; | |
981 | + clear: both; | |
982 | +} | |
983 | +.m-hide { | |
984 | + display: none !important; | |
985 | + visibility: hidden; | |
986 | + opacity: 0; | |
987 | + z-index: -1; | |
988 | +} | |
989 | +.m-hidden { | |
990 | + visibility: hidden; | |
991 | + opacity: 0; | |
992 | + z-index: -1; | |
993 | +} | |
994 | +.m-show { | |
995 | + display: block !important; | |
996 | + visibility: visible; | |
997 | +} | |
998 | +.m-separate { | |
999 | + position: relative; | |
1000 | + width: 100%; | |
1001 | + line-height: 50px; | |
1002 | + text-align: center; | |
1003 | + font-size: 12px; | |
1004 | + color: #666; | |
1005 | + overflow: visible; | |
1006 | +} | |
1007 | +.m-more, | |
1008 | +a.m-more { | |
1009 | + display: block; | |
1010 | + font-size: 12px; | |
1011 | + text-align: center; | |
1012 | + color: #999; | |
1013 | + line-height: 45px; | |
1014 | + background-color: #FFF; | |
1015 | +} | |
1016 | +.m-animate-hide { | |
1017 | + -webkit-transform: translate(0, 100%) translateZ(0) !important; | |
1018 | + -ms-transform: translate(0, 100%) translateZ(0) !important; | |
1019 | + -o-transform: translate(0, 100%) translateZ(0) !important; | |
1020 | + transform: translate(0, 100%) translateZ(0) !important; | |
1021 | +} | |
1022 | +.m-animate-show { | |
1023 | + -webkit-transform: translate(0, 0) translateZ(0) !important; | |
1024 | + -ms-transform: translate(0, 0) translateZ(0) !important; | |
1025 | + -o-transform: translate(0, 0) translateZ(0) !important; | |
1026 | + transform: translate(0, 0) translateZ(0) !important; | |
1027 | +} | |
1028 | +.hidden { | |
1029 | + opacity: 0; | |
1030 | + z-index: -1; | |
1031 | +} | |
1032 | +.mask-hidden { | |
1033 | + opacity: 0; | |
1034 | +} | |
1035 | +.font-white { | |
1036 | + color: #FFF !important; | |
1037 | +} | |
1038 | +.font-white-opacity { | |
1039 | + color: rgba(255, 255, 255, 0.8) !important; | |
1040 | +} | |
1041 | +.font-deep { | |
1042 | + color: #333 !important; | |
1043 | +} | |
1044 | +.font-gray { | |
1045 | + color: #666 !important; | |
1046 | +} | |
1047 | +.font-light { | |
1048 | + color: #999 !important; | |
1049 | +} | |
1050 | +.font-yellow { | |
1051 | + color: #FF9D2C !important; | |
1052 | +} | |
1053 | +.font-orange { | |
1054 | + color: #FF6B00 !important; | |
1055 | +} | |
1056 | +.font-red { | |
1057 | + color: #fa4535 !important; | |
1058 | +} | |
1059 | +.font-green { | |
1060 | + color: #23ac38 !important; | |
1061 | +} | |
1062 | +.background-gray { | |
1063 | + background-color: #666 !important; | |
1064 | +} | |
1065 | +.background-yellow { | |
1066 | + background-color: #FF9D2C !important; | |
1067 | +} | |
1068 | +.background-orange { | |
1069 | + background-color: #FF6B00 !important; | |
1070 | +} | |
1071 | +.background-red { | |
1072 | + background-color: #fa4535 !important; | |
1073 | +} | |
1074 | +.background-green { | |
1075 | + background-color: #23ac38 !important; | |
1076 | +} | |
1077 | +.position-relative { | |
1078 | + position: relative; | |
1079 | +} | |
1080 | +.z-index2 { | |
1081 | + z-index: 2; | |
1082 | +} | |
1083 | +.width-auto { | |
1084 | + width: auto !important; | |
1085 | +} | |
1086 | +.width-200p { | |
1087 | + width: 200%; | |
1088 | +} | |
1089 | +.m-col-1 { | |
1090 | + width: 100% !important; | |
1091 | +} | |
1092 | +.m-col-2 { | |
1093 | + width: 50% !important; | |
1094 | +} | |
1095 | +.m-col-3 { | |
1096 | + width: 33.33% !important; | |
1097 | +} | |
1098 | +.m-col-4 { | |
1099 | + width: 25% !important; | |
1100 | +} | |
1101 | +/* | |
1102 | +LESS variables are information about icon's compiled state, stored under its original file name | |
1103 | + | |
1104 | +.icon-home { | |
1105 | + width: @icon-home-width; | |
1106 | +} | |
1107 | + | |
1108 | +The large array-like variables contain all information about a single icon | |
1109 | +@icon-home: x y offset_x offset_y width height total_width total_height image_path name; | |
1110 | + | |
1111 | +At the bottom of this section, we provide information about the spritesheet itself | |
1112 | +@spritesheet: width height image @spritesheet-sprites; | |
1113 | +*/ | |
1114 | +/* | |
1115 | +The provided classes are intended to be used with the array-like variables | |
1116 | + | |
1117 | +.icon-home { | |
1118 | + .sprite-width(@icon-home); | |
1119 | +} | |
1120 | +.icon-email { | |
1121 | + .sprite(@icon-email); | |
1122 | +} | |
1123 | +*/ | |
1124 | +/* | |
1125 | +The `.sprites` mixin generates identical output to the CSS template | |
1126 | + but can be overridden inside of LESS | |
1127 | + | |
1128 | +This must be run when you have at least 2 sprites. | |
1129 | + If run with a single sprite, then there will be reference errors. | |
1130 | + | |
1131 | +.sprites(@spritesheet-sprites); | |
1132 | +*/ | |
1133 | +.m-icon { | |
1134 | + display: inline-block; | |
1135 | + vertical-align: middle; | |
1136 | +} | |
1137 | +.icon-back-to { | |
1138 | + background-image: url(../images/dist/sprite.png); | |
1139 | + background-position: 0px 0px; | |
1140 | + width: 22px; | |
1141 | + width: 11px; | |
1142 | + height: 38px; | |
1143 | + height: 19px; | |
1144 | + background-size: 25px; | |
1145 | +} | |
1146 | +.icon-back { | |
1147 | + background-image: url(../images/dist/sprite.png); | |
1148 | + background-position: -28px 0px; | |
1149 | + background-position: -14px 0px; | |
1150 | + width: 22px; | |
1151 | + width: 11px; | |
1152 | + height: 38px; | |
1153 | + height: 19px; | |
1154 | + background-size: 25px; | |
1155 | +} | ... | ... |
css/common.less
0 → 100644
css/goods-items.css
0 → 100644
1 | +.m-goods-items { | |
2 | + padding: 0 5px 10px; | |
3 | +} | |
4 | +.m-goods-items li { | |
5 | + float: left; | |
6 | + width: 50%; | |
7 | + padding: 0 5px 10px; | |
8 | + box-sizing: border-box; | |
9 | +} | |
10 | +.m-goods-items a { | |
11 | + display: block; | |
12 | + background-color: #fff; | |
13 | + padding-bottom: 5px; | |
14 | + position: relative; | |
15 | +} | |
16 | +.m-goods-items .hot { | |
17 | + position: absolute; | |
18 | + top: -1px; | |
19 | + right: 10px; | |
20 | + width: 20px; | |
21 | + height: 56px; | |
22 | + background: url(../images/icon_mark.png) 0 0 no-repeat; | |
23 | + background-size: 100%; | |
24 | + font-size: 0; | |
25 | + overflow: hidden; | |
26 | +} | |
27 | +.m-goods-items img { | |
28 | + display: block; | |
29 | + width: 100%; | |
30 | + height: 90px; | |
31 | + margin: 0 auto 5px; | |
32 | +} | |
33 | +.m-goods-items .pic { | |
34 | + display: block; | |
35 | + width: 100%; | |
36 | + height: 90px; | |
37 | + margin: 0 auto 5px; | |
38 | + background: url(../images/upload/p_1.jpg) center center no-repeat; | |
39 | + background-size: cover; | |
40 | +} | |
41 | +.m-goods-items h3 { | |
42 | + font-size: 12px; | |
43 | + padding: 0 5px; | |
44 | + font-weight: 700; | |
45 | + color: #5d6065; | |
46 | + text-align: left; | |
47 | + line-height: 16px; | |
48 | + height: 32px; | |
49 | + overflow: hidden; | |
50 | +} | |
51 | +.m-goods-items em { | |
52 | + text-align: left; | |
53 | + display: block; | |
54 | + padding: 0 5px; | |
55 | + font-size: 14px; | |
56 | + font-weight: 700; | |
57 | + font-style: normal; | |
58 | + color: #fe4442; | |
59 | +} | |
60 | +.m-goods-items .origin-price { | |
61 | + font-size: 12px; | |
62 | + text-align: center; | |
63 | + color: #9c9c9c; | |
64 | + text-decoration: line-through; | |
65 | +} | ... | ... |
css/goods-items.less
0 → 100644
1 | +.m-goods-items { | |
2 | + padding: 0 5px 5px; | |
3 | + overflow-x: scroll; | |
4 | + overflow-y: hidden; | |
5 | + -webkit-overflow-scrolling: touch; | |
6 | + li { | |
7 | + float: left; | |
8 | + width: 110px; | |
9 | + padding: 0 5px 10px; | |
10 | + box-sizing: border-box; | |
11 | + } | |
12 | + a { | |
13 | + display: block; | |
14 | + background-color: #fff; | |
15 | + padding-bottom: 5px; | |
16 | + position: relative; | |
17 | + } | |
18 | + .hot { | |
19 | + position: absolute; | |
20 | + top: -1px; | |
21 | + right: 10px; | |
22 | + width: 20px; | |
23 | + height: 56px; | |
24 | + background: url(../images/icon_mark.png) 0 0 no-repeat; | |
25 | + background-size: 100%; | |
26 | + font-size: 0; | |
27 | + overflow: hidden; | |
28 | + } | |
29 | + .pic { | |
30 | + display: block; | |
31 | + width: 100%; | |
32 | + height: 110px; | |
33 | + margin: 0 auto 5px; | |
34 | + background-position: center center; | |
35 | + background-repeat: no-repeat; | |
36 | + background-size: cover; | |
37 | + } | |
38 | + h3 { | |
39 | + font-size: 13px; | |
40 | + padding: 0 5px; | |
41 | + font-weight: 700; | |
42 | + color: #333; | |
43 | + text-align: left; | |
44 | + line-height: 16px; | |
45 | + height: 32px; | |
46 | + overflow: hidden; | |
47 | + } | |
48 | + em { | |
49 | + text-align: left; | |
50 | + display: block; | |
51 | + padding: 0 5px; | |
52 | + font-size: 13px; | |
53 | + font-weight: 700; | |
54 | + font-style: normal; | |
55 | + color: #FA4535; | |
56 | + } | |
57 | + .origin-price { | |
58 | + font-size: 12px; | |
59 | + color: #bbb; | |
60 | + text-decoration: line-through; | |
61 | + } | |
62 | +} | ... | ... |
css/header.css
0 → 100644
1 | +.m-header{z-index:5;color:#FFF;color:#fff;background-color:#23AC38;position:relative}.m-header .head{padding:0 50px;box-sizing:border-box;height:44px;text-align:center}.m-header .head h1{display:inline-block;vertical-align:middle;line-height:44px;font-weight:400;font-size:18px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-header .lt-bar,.m-header .rt-bar{position:absolute;left:0;top:0;bottom:0;min-width:44px;line-height:44px;height:100%;text-align:center;cursor:pointer;z-index:1}.m-header .lt-bar{float:left}.m-header .lt-bar.text{padding-left:10px;text-align:left}.m-header .rt-bar{float:right;left:auto;right:0}.m-header .rt-bar.text{padding-right:10px;text-align:right}.m-header .text{text-align:center;line-height:44px;font-size:15px;color:#FFF}.m-header.header-light{background-color:#FFF;color:#666}.m-header.header-light .text{color:#666}.m-header.header-light .m-input{color:#333}.m-header.header-light .m-input::-webkit-input-placeholder{color:#999} | |
0 | 2 | \ No newline at end of file | ... | ... |
css/header.less
0 → 100644
1 | +/*************************************************** | |
2 | +* feature : 全局头部,提供默认 深色(绿底白字) & 浅色(白底黑字)主题; | |
3 | +* update : 2015/02/03; | |
4 | +* use : .m-header; | |
5 | +* extend : .header-*; | |
6 | +* example : <header class="m-header header-light"></header>; | |
7 | +* desc : 默认为深色主题, 通过 .header-light 来引用浅色主题; | |
8 | +* feedback : 此处填入 issue, 并请附带以下信息[os_version, browser_version, page_path, issue_description] | |
9 | +* - demo => [windows 7, IE 8, http://diligrp.com/icon.html, 在不定height下未能垂直居中]; | |
10 | +****************************************************/ | |
11 | +.m-header { | |
12 | + // position: absolute; | |
13 | + // position: fixed; //fixed header 到顶部 | |
14 | + z-index: 5; | |
15 | + color: #FFF; | |
16 | + color: rgba(255, 255, 255, 80); | |
17 | + background-color: #23AC38; //默认是绿底白字 | |
18 | + position: relative; | |
19 | + .head { | |
20 | + padding: 0 50px; | |
21 | + box-sizing: border-box; | |
22 | + height: 44px; | |
23 | + text-align: center; | |
24 | + h1 { | |
25 | + display: inline-block; | |
26 | + vertical-align: middle; | |
27 | + line-height: 44px; | |
28 | + font-weight: normal; | |
29 | + font-size: 18px; | |
30 | + white-space: nowrap; | |
31 | + text-overflow: ellipsis; | |
32 | + overflow: hidden; | |
33 | + } | |
34 | + } | |
35 | + .lt-bar, | |
36 | + .rt-bar { | |
37 | + //左右两端区域,用于放置 icon | text | |
38 | + position: absolute; | |
39 | + left: 0; | |
40 | + top: 0; | |
41 | + bottom: 0; | |
42 | + min-width: 44px; | |
43 | + line-height: 44px; | |
44 | + height: 100%; | |
45 | + text-align: center; | |
46 | + cursor: pointer; | |
47 | + z-index: 1; | |
48 | + } | |
49 | + .lt-bar { | |
50 | + float: left; | |
51 | + &.text { | |
52 | + padding-left: 10px; | |
53 | + text-align: left; | |
54 | + } | |
55 | + } | |
56 | + .rt-bar { | |
57 | + float: right; | |
58 | + left: auto; | |
59 | + right: 0; | |
60 | + &.text { | |
61 | + padding-right: 10px; | |
62 | + text-align: right; | |
63 | + } | |
64 | + } | |
65 | + .text { | |
66 | + text-align: center; | |
67 | + line-height: 44px; | |
68 | + font-size: 15px; | |
69 | + color: #FFF; | |
70 | + } | |
71 | + &.header-light { | |
72 | + //浅色模式 | |
73 | + background-color: #FFF; | |
74 | + color: #666; | |
75 | + .text { | |
76 | + color: #666; | |
77 | + } | |
78 | + .m-input { | |
79 | + color: #333; | |
80 | + &::-webkit-input-placeholder { | |
81 | + color: #999; | |
82 | + } | |
83 | + } | |
84 | + } | |
85 | +} | ... | ... |
css/icon.css
0 → 100644
1 | +/* | |
2 | +LESS variables are information about icon's compiled state, stored under its original file name | |
3 | + | |
4 | +.icon-home { | |
5 | + width: @icon-home-width; | |
6 | +} | |
7 | + | |
8 | +The large array-like variables contain all information about a single icon | |
9 | +@icon-home: x y offset_x offset_y width height total_width total_height image_path name; | |
10 | + | |
11 | +At the bottom of this section, we provide information about the spritesheet itself | |
12 | +@spritesheet: width height image @spritesheet-sprites; | |
13 | +*/ | |
14 | +/* | |
15 | +The provided classes are intended to be used with the array-like variables | |
16 | + | |
17 | +.icon-home { | |
18 | + .sprite-width(@icon-home); | |
19 | +} | |
20 | +.icon-email { | |
21 | + .sprite(@icon-email); | |
22 | +} | |
23 | +*/ | |
24 | +/* | |
25 | +The `.sprites` mixin generates identical output to the CSS template | |
26 | + but can be overridden inside of LESS | |
27 | + | |
28 | +This must be run when you have at least 2 sprites. | |
29 | + If run with a single sprite, then there will be reference errors. | |
30 | + | |
31 | +.sprites(@spritesheet-sprites); | |
32 | +*/ | |
33 | +.m-icon { | |
34 | + display: inline-block; | |
35 | + vertical-align: middle; | |
36 | +} | |
37 | +.icon-back-to { | |
38 | + background-image: url(../images/dist/sprite.png); | |
39 | + background-position: 0px 0px; | |
40 | + width: 22px; | |
41 | + width: 11px; | |
42 | + height: 38px; | |
43 | + height: 19px; | |
44 | + background-size: 25px; | |
45 | +} | |
46 | +.icon-back { | |
47 | + background-image: url(../images/dist/sprite.png); | |
48 | + background-position: -28px 0px; | |
49 | + background-position: -14px 0px; | |
50 | + width: 22px; | |
51 | + width: 11px; | |
52 | + height: 38px; | |
53 | + height: 19px; | |
54 | + background-size: 25px; | |
55 | +} | ... | ... |
css/icon.less
0 → 100644
1 | +@import "sprite"; | |
2 | +//retina @2x | |
3 | +.sprite-width(@sprite) { | |
4 | + width: extract(@sprite, 5)/2; | |
5 | +} | |
6 | + | |
7 | +.sprite-height(@sprite) { | |
8 | + height: extract(@sprite, 6)/2; | |
9 | +} | |
10 | + | |
11 | +.sprite-position(@sprite) { | |
12 | + @sprite-offset-x: extract(@sprite, 3)/2; | |
13 | + @sprite-offset-y: extract(@sprite, 4)/2; | |
14 | + background-position: @sprite-offset-x @sprite-offset-y; | |
15 | +} | |
16 | + | |
17 | +.sprite-background-size(@spritesheet-width) { | |
18 | + background-size: @spritesheet-width/2; | |
19 | +} | |
20 | + | |
21 | +.sprite-image(@sprite) { | |
22 | + @sprite-image: extract(@sprite, 9); | |
23 | + @sprite-image-bare: ~`"@{sprite-image}".slice(1, -1)`; | |
24 | + background-image: url(@sprite-image-bare); | |
25 | +} | |
26 | + | |
27 | +.sprite(@sprite) { | |
28 | + .sprite-image(@sprite); | |
29 | + .sprite-position(@sprite); | |
30 | + .sprite-width(@sprite); | |
31 | + .sprite-height(@sprite); | |
32 | + .sprite-background-size(@spritesheet-width); | |
33 | +} | |
34 | + | |
35 | +//合并图 | |
36 | +.m-icon { | |
37 | + display: inline-block; | |
38 | + vertical-align: middle; | |
39 | +} | |
40 | + | |
41 | +.sprites(@spritesheet-sprites); | |
42 | +//自定义 非合并图 | ... | ... |
css/list-view.less
0 → 100644
1 | +.m-list-view{ | |
2 | + margin-bottom: 10px; | |
3 | + .cell{ | |
4 | + font-size: 14px; | |
5 | + padding: 0 0 0 15px; | |
6 | + // border-bottom: 1px solid #ddd; | |
7 | + background-color: #FFF; | |
8 | + overflow: hidden; | |
9 | + position: relative; | |
10 | + text-align: left; | |
11 | + } | |
12 | + .cell-header{ | |
13 | + background-color: #f8f8f8; | |
14 | + padding: 0 10px; | |
15 | + .title{ | |
16 | + font-size: 13px; | |
17 | + color: #333; | |
18 | + line-height: 35px; | |
19 | + width: auto; | |
20 | + } | |
21 | + .text{ | |
22 | + font-size: 13px; | |
23 | + line-height: 35px; | |
24 | + float: right; | |
25 | + color: #9e9e9e; | |
26 | + text-align: right; | |
27 | + margin: 0; | |
28 | + } | |
29 | + } | |
30 | + .cell-basic{ | |
31 | + padding: 11px 10px; | |
32 | + .title, .text{ | |
33 | + float: none; | |
34 | + display: inline-block; | |
35 | + vertical-align: middle; | |
36 | + margin: 0 10px 0 0; | |
37 | + line-height: 1.5; | |
38 | + } | |
39 | + .sub-title{ | |
40 | + padding-top: 10px; | |
41 | + font-size: 13px; | |
42 | + color: #999; | |
43 | + } | |
44 | + } | |
45 | + .cell-radio{ | |
46 | + text-align: right; | |
47 | + padding: 0 10px; | |
48 | + margin-bottom: 10px; | |
49 | + background-color: #eee; | |
50 | + .title{ | |
51 | + color: #333; | |
52 | + width: auto; | |
53 | + text-align: left; | |
54 | + } | |
55 | + .text{ | |
56 | + float: none; | |
57 | + text-align: right; | |
58 | + } | |
59 | + .m-radio{ | |
60 | + margin-left: 8px; | |
61 | + } | |
62 | + .m-table-view{ | |
63 | + margin: 0 -10px; | |
64 | + .cell-radio{ | |
65 | + margin: 0; | |
66 | + background-color: #FFF; | |
67 | + } | |
68 | + } | |
69 | + } | |
70 | + | |
71 | + .cell-block{ | |
72 | + padding: 8px 10px; | |
73 | + h3{ | |
74 | + font-size: 16px; | |
75 | + font-weight: normal; | |
76 | + padding-right: 60px; | |
77 | + white-space: nowrap; | |
78 | + text-overflow: ellipsis; | |
79 | + overflow: hidden; | |
80 | + } | |
81 | + p{ | |
82 | + font-size: 14px; | |
83 | + color: #666; | |
84 | + } | |
85 | + .bottom{ | |
86 | + margin-top: 10px; | |
87 | + padding-top: 8px; | |
88 | + line-height: 30px; | |
89 | + } | |
90 | + } | |
91 | + | |
92 | + .cell-extend{ | |
93 | + .m-table-view{ | |
94 | + margin:0 0 0 45px; | |
95 | + .cell{ | |
96 | + padding: 0; | |
97 | + } | |
98 | + .text{ | |
99 | + margin-left: 0; | |
100 | + } | |
101 | + } | |
102 | + } | |
103 | + | |
104 | + .cell-pic{ | |
105 | + padding: 15px; | |
106 | + .pic{ | |
107 | + float: left; | |
108 | + } | |
109 | + .cont{ | |
110 | + margin-left: 90px; | |
111 | + } | |
112 | + h3{ | |
113 | + font-size: 14px; | |
114 | + font-weight: normal; | |
115 | + } | |
116 | + em{ | |
117 | + font-size: 16px; | |
118 | + font-weight: normal; | |
119 | + } | |
120 | + p{ | |
121 | + color: #9b9b9b; | |
122 | + font-size: 12px; | |
123 | + } | |
124 | + } | |
125 | + | |
126 | + .acc-icon{ | |
127 | + position: relative; | |
128 | + padding-right: 30px; | |
129 | + .acc{ | |
130 | + text-align: right; | |
131 | + position: absolute; | |
132 | + right: 0; | |
133 | + top: 0; | |
134 | + min-width: 30px; | |
135 | + height: 100%; | |
136 | + line-height: 44px; | |
137 | + text-align: left; | |
138 | + color: #999; | |
139 | + text-align: right; | |
140 | + .m-icon{ | |
141 | + margin-right: 4px; | |
142 | + } | |
143 | + } | |
144 | + } | |
145 | + .title{ | |
146 | + font-size: 15px; | |
147 | + color: #999; | |
148 | + float: left; | |
149 | + font-weight: 400; | |
150 | + line-height: 44px; | |
151 | + // width: 75px; | |
152 | + } | |
153 | + .text{ | |
154 | + // margin-left: 75px; | |
155 | + display: block; | |
156 | + font-size: 15px; | |
157 | + color: #333; | |
158 | + line-height: 44px; | |
159 | + position: relative; | |
160 | + white-space: nowrap; | |
161 | + word-break:break-all; | |
162 | + text-overflow: ellipsis; | |
163 | + overflow: hidden; | |
164 | + .m-input{ | |
165 | + font-size: 15px; | |
166 | + } | |
167 | + } | |
168 | +} | ... | ... |
css/one-border.less
0 → 100644
1 | +.border-1px{ | |
2 | + position: relative; | |
3 | + &:before, &:after{ | |
4 | + border-top: 1px solid #e2e2e2; | |
5 | + content: ''; | |
6 | + display: block; | |
7 | + width: 100%; | |
8 | + position: absolute; | |
9 | + left: 0; | |
10 | + z-index: 1; | |
11 | + } | |
12 | + &:before{ | |
13 | + top: 0; | |
14 | + } | |
15 | + &:after{ | |
16 | + bottom: 0; | |
17 | + } | |
18 | + &.border-top{ | |
19 | + &:after{ | |
20 | + display: none; | |
21 | + } | |
22 | + } | |
23 | + &.border-bottom{ | |
24 | + &:before{ | |
25 | + display: none; | |
26 | + } | |
27 | + } | |
28 | + | |
29 | + // &.border-right{ | |
30 | + // &:before{ | |
31 | + // display: block; | |
32 | + // border-right: 1px solid #e2e2e2; | |
33 | + // height: 100%; | |
34 | + // top: 0; | |
35 | + // left: auto; | |
36 | + // width: 0; | |
37 | + // right: 0; | |
38 | + // } | |
39 | + // } | |
40 | +} | |
41 | + | |
42 | +.border-1px-full{ | |
43 | + position: relative; | |
44 | + &:after { | |
45 | + content: ''; | |
46 | + position: absolute; | |
47 | + top: 0; | |
48 | + left: 0; | |
49 | + z-index: 1; | |
50 | + border: 1px solid #e2e2e2; | |
51 | + -webkit-box-sizing: border-box; | |
52 | + box-sizing: border-box; | |
53 | + width: 200%; | |
54 | + height: 200%; | |
55 | + -webkit-transform: scale(0.5); | |
56 | + transform: scale(0.5); | |
57 | + -webkit-transform-origin: left top; | |
58 | + transform-origin: left top; | |
59 | + // border-radius: 3px; | |
60 | + // -webkit-border-radius: 3px; | |
61 | + // -moz-border-radius: 3px; | |
62 | + } | |
63 | +} | |
64 | +// .border-1px-x{ | |
65 | +// position: relative; | |
66 | +// &:before, &:after{ | |
67 | +// border-left: 1px solid #aaa; | |
68 | +// content: ' '; | |
69 | +// display: block; | |
70 | +// height: 100%; | |
71 | +// position: absolute; | |
72 | +// top: 0; | |
73 | +// z-index: 1; | |
74 | +// } | |
75 | +// &:before{ | |
76 | +// left: 0; | |
77 | +// } | |
78 | +// &:after{ | |
79 | +// right: -1px; | |
80 | +// } | |
81 | +// &.border-left{ | |
82 | +// &:after{ | |
83 | +// display: none; | |
84 | +// } | |
85 | +// } | |
86 | +// &.border-right{ | |
87 | +// &:before{ | |
88 | +// display: none; | |
89 | +// } | |
90 | +// } | |
91 | +// } | |
92 | + | |
93 | +@media (-webkit-min-device-pixel-ratio:1.5), (min-device-pixel-ratio: 1.5){ | |
94 | + .border-1px{ | |
95 | + &::after, &::before{ | |
96 | + -webkit-transform: scaleY(.7); | |
97 | + -webkit-transform-origin: 0 0; | |
98 | + transform: scaleY(.7); | |
99 | + } | |
100 | + &::after{ | |
101 | + -webkit-transform-origin: left bottom; | |
102 | + } | |
103 | + } | |
104 | + | |
105 | + // .border-1px-x{ | |
106 | + // &::after, &::before{ | |
107 | + // -webkit-transform: scaleX(.7); | |
108 | + // -webkit-transform-origin: 0 0; | |
109 | + // transform: scaleX(.7); | |
110 | + // } | |
111 | + // &::after{ | |
112 | + // -webkit-transform-origin: left bottom; | |
113 | + // } | |
114 | + // } | |
115 | +} | |
116 | + | |
117 | +@media (-webkit-min-device-pixel-ratio:2), (min-device-pixel-ratio: 2){ | |
118 | + .border-1px{ | |
119 | + &::after, &::before{ | |
120 | + -webkit-transform: scaleY(.5); | |
121 | + transform: scaleY(.5); | |
122 | + } | |
123 | + } | |
124 | + | |
125 | + // .border-1px-x{ | |
126 | + // &::after, &::before{ | |
127 | + // -webkit-transform: scaleX(.5); | |
128 | + // transform: scaleX(.5); | |
129 | + // } | |
130 | + // } | |
131 | +} | ... | ... |
css/photo-wall.css
0 → 100644
1 | +.photo-wall { | |
2 | + width: 100%; | |
3 | +} | |
4 | +.photo-wall .photo-item { | |
5 | + float: left; | |
6 | + box-sizing: border-box; | |
7 | + padding: 0 5px 5px; | |
8 | + height: 105px; | |
9 | +} | |
10 | +.photo-wall .photo-item img { | |
11 | + width: 100%; | |
12 | + max-width: 100%; | |
13 | +} | |
14 | +.photo-wall .photo-1p { | |
15 | + width: 33.33%; | |
16 | +} | |
17 | +.photo-wall .photo-2p { | |
18 | + width: 66.66%; | |
19 | +} | ... | ... |
css/photo-wall.less
0 → 100644
1 | +.photo-wall{ | |
2 | + width: 100%; | |
3 | + padding-left: 5px; | |
4 | + box-sizing: border-box; | |
5 | + .photo-item{ | |
6 | + float: left; | |
7 | + box-sizing: border-box; | |
8 | + padding: 0 5px 5px 0; | |
9 | + height: 105px; | |
10 | + img{ | |
11 | + width: 100%; | |
12 | + height: 100%; | |
13 | + max-width: 100%; | |
14 | + max-height: 100%; | |
15 | + } | |
16 | + } | |
17 | + .photo-1p{ | |
18 | + width: 33.33%; | |
19 | + } | |
20 | + .photo-2p{ | |
21 | + width: 66.66%; | |
22 | + } | |
23 | +} | ... | ... |
css/reset.css
0 → 100644
1 | +*{-moz-tap-highlight-color:transparent;-o-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}html{height:100%}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:0 0}body{font:12px/1.5 sans-serif;background-color:#F5F5F5;position:relative;color:#333;min-height:100%;overflow-x:hidden}article,aside,details,figcaption,figure,footer,header,menu,nav,section{display:block}nav ul{list-style:none}li{list-style:none}em{font-style:normal}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:0;padding:0}input,select{vertical-align:middle}button:focus,input:focus{outline:0}a{color:#333;text-decoration:none;margin:0;padding:0;vertical-align:baseline;background:0 0}a:active,a:visited{color:#333}img,input{border:0;vertical-align:middle}a,input,textarea{-webkit-tap-highlight-color:transparent}.clear,.clearfix{display:inline-table;zoom:1}* html .clear,* html .clearfix{height:1%}* html .clear,* html .clearfix{zoom:1}.clear,.clearfix{display:block}.clear{clear:both}.clear:after,.clearfix:after{content:" ";display:block;height:0;clear:both;visibility:hidden;line-height:0} | |
0 | 2 | \ No newline at end of file | ... | ... |
css/reset.less
0 → 100644
1 | +*{ | |
2 | + -moz-tap-highlight-color: rgba(0,0,0,0); | |
3 | + -o-tap-highlight-color: rgba(0,0,0,0); | |
4 | + -webkit-tap-highlight-color: rgba(0,0,0,0); | |
5 | +} | |
6 | +html{ | |
7 | + height: 100%; | |
8 | +} | |
9 | +html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video { | |
10 | + margin: 0; | |
11 | + padding: 0; | |
12 | + border: 0; | |
13 | + outline: 0; | |
14 | + vertical-align: baseline; | |
15 | + background: transparent; | |
16 | +} | |
17 | +body { | |
18 | + // font: 13px/18px "SimHei", "Microsoft YaHei", "Simson"; | |
19 | + font: 12px/1.5 sans-serif; | |
20 | + background-color: #F5F5F5; | |
21 | + position: relative; | |
22 | + color: #333; | |
23 | + min-height: 100%; | |
24 | + overflow-x: hidden; | |
25 | +} | |
26 | +article, aside, details, figcaption, figure, footer, header, menu, nav, section { | |
27 | + display: block; | |
28 | +} | |
29 | +nav ul { | |
30 | + list-style: none; | |
31 | +} | |
32 | +li { | |
33 | + list-style: none; | |
34 | +} | |
35 | +em{ | |
36 | + font-style: normal; | |
37 | +} | |
38 | +ins { | |
39 | + background-color: #ff9; | |
40 | + color: #000; | |
41 | + text-decoration: none; | |
42 | +} | |
43 | +mark { | |
44 | + background-color: #ff9; | |
45 | + color: #000; | |
46 | + font-style: italic; | |
47 | + font-weight: bold; | |
48 | +} | |
49 | +table { | |
50 | + border-collapse: collapse; | |
51 | + border-spacing: 0; | |
52 | +} | |
53 | +hr { | |
54 | + display: block; | |
55 | + height: 1px; | |
56 | + border: 0; | |
57 | + border-top: 1px solid #cccccc; | |
58 | + margin: 0; | |
59 | + padding: 0; | |
60 | +} | |
61 | +input, select { | |
62 | + vertical-align: middle; | |
63 | +} | |
64 | +input:focus, button:focus { | |
65 | + outline: none; | |
66 | +} | |
67 | +a { | |
68 | + color: #333; | |
69 | + text-decoration: none; | |
70 | + margin: 0; | |
71 | + padding: 0; | |
72 | + vertical-align: baseline; | |
73 | + background: transparent; | |
74 | +} | |
75 | +a:active, a:visited { | |
76 | + color: #333; | |
77 | +} | |
78 | +input, img { | |
79 | + border: 0; | |
80 | + vertical-align: middle; | |
81 | +} | |
82 | + | |
83 | +textarea, input, a{ | |
84 | + -webkit-tap-highlight-color: transparent; | |
85 | +} | |
86 | +/* 清除浮动 */ | |
87 | + | |
88 | +.clearfix, .clear { | |
89 | + display: inline-table; | |
90 | + zoom: 1; | |
91 | +} | |
92 | +* html .clearfix, * html .clear { | |
93 | + height: 1%; | |
94 | +} | |
95 | +* html .clearfix, * html .clear { | |
96 | + zoom: 1; | |
97 | +} | |
98 | +.clearfix, .clear { | |
99 | + display: block; | |
100 | +} | |
101 | +.clear { | |
102 | + clear: both; | |
103 | +} | |
104 | +.clearfix:after, .clear:after { | |
105 | + content: " "; | |
106 | + display: block; | |
107 | + height: 0; | |
108 | + clear: both; | |
109 | + visibility: hidden; | |
110 | + line-height: 0px; | |
111 | +} | ... | ... |
css/section.css
0 → 100644
css/section.less
0 → 100644
1 | +.m-section { | |
2 | + .section-head { | |
3 | + line-height: 45px; | |
4 | + padding: 0 10px; | |
5 | + background-color: #fff; | |
6 | + font-size: 14px; | |
7 | + color: #666; | |
8 | + text-align: left; | |
9 | + font-weight: bold; | |
10 | + margin-bottom: 10px; | |
11 | + &:first-letter { | |
12 | + font-size: 18px; | |
13 | + color: #23ac38; | |
14 | + } | |
15 | + } | |
16 | +} | |
17 | +.section-items { | |
18 | + margin-bottom: 10px; | |
19 | + .section-item { | |
20 | + display: block; | |
21 | + margin-bottom: 5px; | |
22 | + width: 100%; | |
23 | + img { | |
24 | + width: 100%; | |
25 | + max-width: 100%; | |
26 | + } | |
27 | + } | |
28 | +} | |
29 | +.product-items { | |
30 | + background-color: #FFF; | |
31 | + margin-bottom: 10px; | |
32 | + .items { | |
33 | + .item { | |
34 | + width: 33.33%; | |
35 | + float: left; | |
36 | + font-size: 13px; | |
37 | + text-align: center; | |
38 | + padding: 8px 0; | |
39 | + a { | |
40 | + display: block; | |
41 | + position: relative; | |
42 | + z-index: 2; | |
43 | + } | |
44 | + h3 { | |
45 | + font-size: 13px; | |
46 | + padding: 0 5px; | |
47 | + font-weight: 700; | |
48 | + color: #333; | |
49 | + text-align: left; | |
50 | + line-height: 16px; | |
51 | + overflow: hidden; | |
52 | + padding: 0 10px; | |
53 | + text-align: left; | |
54 | + text-overflow: ellipsis; | |
55 | + overflow: hidden; | |
56 | + white-space: nowrap; | |
57 | + } | |
58 | + p{ | |
59 | + padding: 0 10px; | |
60 | + text-align: left; | |
61 | + } | |
62 | + em { | |
63 | + text-align: left; | |
64 | + display: block; | |
65 | + font-size: 13px; | |
66 | + font-weight: 700; | |
67 | + font-style: normal; | |
68 | + color: #FA4535; | |
69 | + text-overflow: ellipsis; | |
70 | + overflow: hidden; | |
71 | + white-space: nowrap; | |
72 | + } | |
73 | + span { | |
74 | + display: block; | |
75 | + text-align: center; | |
76 | + overflow: hidden; | |
77 | + white-space: nowrap; | |
78 | + text-overflow: ellipsis; | |
79 | + } | |
80 | + .pic { | |
81 | + max-width: 100%; | |
82 | + height: 60px; | |
83 | + display: inline-block; | |
84 | + vertical-align: middle; | |
85 | + } | |
86 | + &:after { | |
87 | + border-left: none; | |
88 | + border-top: none; | |
89 | + } | |
90 | + } | |
91 | + } | |
92 | +} | ... | ... |
css/slider.css
0 → 100644
css/slider.less
0 → 100644
1 | +/* | |
2 | + * Swiper 2.7.0 | |
3 | + * Mobile touch slider and framework with hardware accelerated transitions | |
4 | + * | |
5 | + * http://www.idangero.us/sliders/swiper/ | |
6 | + * | |
7 | + * Copyright 2010-2014, Vladimir Kharlampidi | |
8 | + * The iDangero.us | |
9 | + * http://www.idangero.us/ | |
10 | + * | |
11 | + * Licensed under GPL & MIT | |
12 | + * | |
13 | + * Released on: August 30, 2014 | |
14 | +*/ | |
15 | +/* =============================================================== | |
16 | +Basic Swiper Styles | |
17 | +================================================================*/ | |
18 | +.swiper-container { | |
19 | + margin: 0 auto; | |
20 | + position: relative; | |
21 | + overflow: hidden; | |
22 | + -webkit-backface-visibility: hidden; | |
23 | + -moz-backface-visibility: hidden; | |
24 | + -ms-backface-visibility: hidden; | |
25 | + -o-backface-visibility: hidden; | |
26 | + backface-visibility: hidden; | |
27 | + /* Fix of Webkit flickering */ | |
28 | + z-index: 1; | |
29 | +} | |
30 | +.swiper-wrapper { | |
31 | + position: relative; | |
32 | + width: 100%; | |
33 | + -webkit-transition-property: -webkit-transform, left, top; | |
34 | + -webkit-transition-duration: 0s; | |
35 | + -webkit-transform: translate3d(0px,0,0); | |
36 | + -webkit-transition-timing-function: ease; | |
37 | + -moz-transition-property: -moz-transform, left, top; | |
38 | + -moz-transition-duration: 0s; | |
39 | + -moz-transform: translate3d(0px,0,0); | |
40 | + -moz-transition-timing-function: ease; | |
41 | + -o-transition-property: -o-transform, left, top; | |
42 | + -o-transition-duration: 0s; | |
43 | + -o-transform: translate3d(0px,0,0); | |
44 | + -o-transition-timing-function: ease; | |
45 | + -o-transform: translate(0px,0px); | |
46 | + -ms-transition-property: -ms-transform, left, top; | |
47 | + -ms-transition-duration: 0s; | |
48 | + -ms-transform: translate3d(0px,0,0); | |
49 | + -ms-transition-timing-function: ease; | |
50 | + transition-property: transform, left, top; | |
51 | + transition-duration: 0s; | |
52 | + transform: translate3d(0px,0,0); | |
53 | + transition-timing-function: ease; | |
54 | + -webkit-box-sizing: content-box; | |
55 | + -moz-box-sizing: content-box; | |
56 | + box-sizing: content-box; | |
57 | +} | |
58 | +.swiper-free-mode > .swiper-wrapper { | |
59 | + -webkit-transition-timing-function: ease-out; | |
60 | + -moz-transition-timing-function: ease-out; | |
61 | + -ms-transition-timing-function: ease-out; | |
62 | + -o-transition-timing-function: ease-out; | |
63 | + transition-timing-function: ease-out; | |
64 | + margin: 0 auto; | |
65 | +} | |
66 | +.swiper-slide { | |
67 | + float: left; | |
68 | + -webkit-box-sizing: content-box; | |
69 | + -moz-box-sizing: content-box; | |
70 | + box-sizing: content-box; | |
71 | +} | |
72 | +/* IE10 Windows Phone 8 Fixes */ | |
73 | +.swiper-wp8-horizontal { | |
74 | + -ms-touch-action: pan-y; | |
75 | +} | |
76 | +.swiper-wp8-vertical { | |
77 | + -ms-touch-action: pan-x; | |
78 | +} | |
79 | +/* =============================================================== | |
80 | +Your custom styles, here you need to specify container's and slide's | |
81 | +sizes, pagination, etc. | |
82 | +================================================================*/ | |
83 | +.swiper-container { | |
84 | + /* Specify Swiper's Size: */ | |
85 | + /*width:200px; | |
86 | + height: 100px;*/ | |
87 | +} | |
88 | +.swiper-slide { | |
89 | + /* Specify Slides's Size: */ | |
90 | + /*width: 100%; | |
91 | + height: 100%;*/ | |
92 | +} | |
93 | +.swiper-slide-active { | |
94 | + /* Specific active slide styling: */ | |
95 | +} | |
96 | +.swiper-slide-visible { | |
97 | + /* Specific visible slide styling: */ | |
98 | +} | |
99 | +/* =============================================================== | |
100 | +Pagination Styles | |
101 | +================================================================*/ | |
102 | +.swiper-pagination-switch { | |
103 | + /* Stylize pagination button: */ | |
104 | +} | |
105 | +.swiper-active-switch { | |
106 | + /* Specific active button style: */ | |
107 | +} | |
108 | +.swiper-visible-switch { | |
109 | + /* Specific visible button style: */ | |
110 | +} | |
111 | +.swiper-pagination { | |
112 | + position: absolute; | |
113 | + text-align: center; | |
114 | + -webkit-transition: 300ms; | |
115 | + -moz-transition: 300ms; | |
116 | + -o-transition: 300ms; | |
117 | + transition: 300ms; | |
118 | + -webkit-transform: translate3d(0, 0, 0); | |
119 | + -ms-transform: translate3d(0, 0, 0); | |
120 | + -o-transform: translate3d(0, 0, 0); | |
121 | + transform: translate3d(0, 0, 0); | |
122 | + z-index: 10; | |
123 | +} | |
124 | +.swiper-pagination { | |
125 | + bottom: 10px; | |
126 | + left: 0; | |
127 | + width: 100%; | |
128 | +} | |
129 | +.swiper-pagination .swiper-pagination-switch { | |
130 | + margin: 0 5px; | |
131 | +} | |
132 | +.swiper-pagination-switch { | |
133 | + width: 8px; | |
134 | + height: 8px; | |
135 | + display: inline-block; | |
136 | + /*background: #FFF;*/ | |
137 | + background: none; | |
138 | + -webkit-box-shadow: inset 0 0 0 2px #ddd; | |
139 | + box-shadow: inset 0 0 0 2px #ddd; | |
140 | + -webkit-box-shadow: inset hoff voff blur color; | |
141 | + box-shadow: inset hoff voff blur color; | |
142 | + border-radius: 100%; | |
143 | + /* -webkit-transition: all ease-in-out .15s; | |
144 | + -o-transition: all ease-in-out .15s; | |
145 | + transition: all ease-in-out .15s;*/ | |
146 | +} | |
147 | +.swiper-active-switch { | |
148 | + opacity: 1; | |
149 | + -webkit-box-shadow: inset 0 0 0 4px #23AC38; | |
150 | + box-shadow: inset 0 0 0 4px #23AC38; | |
151 | + /*background: #23AC38;*/ | |
152 | + /*-webkit-box-shadow: none;*/ | |
153 | + /*box-shadow: none;*/ | |
154 | +} | |
155 | +.m-slider { | |
156 | + height: 120px; | |
157 | + position: relative; | |
158 | + overflow: hidden; | |
159 | + font-size: 0; | |
160 | + a { | |
161 | + display: block; | |
162 | + width: 100%; | |
163 | + height: 100%; | |
164 | + } | |
165 | + img { | |
166 | + display: inline-block; | |
167 | + width: 100%; | |
168 | + height: 100%; | |
169 | + float: left; | |
170 | + } | |
171 | + .swiper-container { | |
172 | + height: 100%; | |
173 | + } | |
174 | + .swiper-wrapper { | |
175 | + height: 100%; | |
176 | + } | |
177 | +} | ... | ... |
css/sprite.css
0 → 100644
1 | +/* | |
2 | +LESS variables are information about icon's compiled state, stored under its original file name | |
3 | + | |
4 | +.icon-home { | |
5 | + width: @icon-home-width; | |
6 | +} | |
7 | + | |
8 | +The large array-like variables contain all information about a single icon | |
9 | +@icon-home: x y offset_x offset_y width height total_width total_height image_path name; | |
10 | + | |
11 | +At the bottom of this section, we provide information about the spritesheet itself | |
12 | +@spritesheet: width height image @spritesheet-sprites; | |
13 | +*/ | |
14 | +/* | |
15 | +The provided classes are intended to be used with the array-like variables | |
16 | + | |
17 | +.icon-home { | |
18 | + .sprite-width(@icon-home); | |
19 | +} | |
20 | +.icon-email { | |
21 | + .sprite(@icon-email); | |
22 | +} | |
23 | +*/ | |
24 | +/* | |
25 | +The `.sprites` mixin generates identical output to the CSS template | |
26 | + but can be overridden inside of LESS | |
27 | + | |
28 | +This must be run when you have at least 2 sprites. | |
29 | + If run with a single sprite, then there will be reference errors. | |
30 | + | |
31 | +.sprites(@spritesheet-sprites); | |
32 | +*/ | ... | ... |
css/sprite.less
0 → 100644
1 | +/* | |
2 | +LESS variables are information about icon's compiled state, stored under its original file name | |
3 | + | |
4 | +.icon-home { | |
5 | + width: @icon-home-width; | |
6 | +} | |
7 | + | |
8 | +The large array-like variables contain all information about a single icon | |
9 | +@icon-home: x y offset_x offset_y width height total_width total_height image_path name; | |
10 | + | |
11 | +At the bottom of this section, we provide information about the spritesheet itself | |
12 | +@spritesheet: width height image @spritesheet-sprites; | |
13 | +*/ | |
14 | +@icon-back-to-name: icon-back-to; | |
15 | +@icon-back-to-x: 0px; | |
16 | +@icon-back-to-y: 0px; | |
17 | +@icon-back-to-offset-x: 0px; | |
18 | +@icon-back-to-offset-y: 0px; | |
19 | +@icon-back-to-width: 22px; | |
20 | +@icon-back-to-height: 38px; | |
21 | +@icon-back-to-total-width: 50px; | |
22 | +@icon-back-to-total-height: 38px; | |
23 | +@icon-back-to-image: '../images/dist/sprite.png'; | |
24 | +@icon-back-to: 0px 0px 0px 0px 22px 38px 50px 38px '../images/dist/sprite.png' icon-back-to; | |
25 | +@icon-back-name: icon-back; | |
26 | +@icon-back-x: 28px; | |
27 | +@icon-back-y: 0px; | |
28 | +@icon-back-offset-x: -28px; | |
29 | +@icon-back-offset-y: 0px; | |
30 | +@icon-back-width: 22px; | |
31 | +@icon-back-height: 38px; | |
32 | +@icon-back-total-width: 50px; | |
33 | +@icon-back-total-height: 38px; | |
34 | +@icon-back-image: '../images/dist/sprite.png'; | |
35 | +@icon-back: 28px 0px -28px 0px 22px 38px 50px 38px '../images/dist/sprite.png' icon-back; | |
36 | +@spritesheet-width: 50px; | |
37 | +@spritesheet-height: 38px; | |
38 | +@spritesheet-image: '../images/dist/sprite.png'; | |
39 | +@spritesheet-sprites: @icon-back-to @icon-back; | |
40 | +@spritesheet: 50px 38px '../images/dist/sprite.png' @spritesheet-sprites; | |
41 | + | |
42 | +/* | |
43 | +The provided classes are intended to be used with the array-like variables | |
44 | + | |
45 | +.icon-home { | |
46 | + .sprite-width(@icon-home); | |
47 | +} | |
48 | +.icon-email { | |
49 | + .sprite(@icon-email); | |
50 | +} | |
51 | +*/ | |
52 | +.sprite-width(@sprite) { | |
53 | + width: extract(@sprite, 5); | |
54 | +} | |
55 | + | |
56 | +.sprite-height(@sprite) { | |
57 | + height: extract(@sprite, 6); | |
58 | +} | |
59 | + | |
60 | +.sprite-position(@sprite) { | |
61 | + @sprite-offset-x: extract(@sprite, 3); | |
62 | + @sprite-offset-y: extract(@sprite, 4); | |
63 | + background-position: @sprite-offset-x @sprite-offset-y; | |
64 | +} | |
65 | + | |
66 | +.sprite-image(@sprite) { | |
67 | + @sprite-image: extract(@sprite, 9); | |
68 | + @sprite-image-bare: ~`"@{sprite-image}".slice(1, -1)`; | |
69 | + background-image: url(@sprite-image-bare); | |
70 | +} | |
71 | + | |
72 | +.sprite(@sprite) { | |
73 | + .sprite-image(@sprite); | |
74 | + .sprite-position(@sprite); | |
75 | + .sprite-width(@sprite); | |
76 | + .sprite-height(@sprite); | |
77 | +} | |
78 | + | |
79 | +/* | |
80 | +The `.sprites` mixin generates identical output to the CSS template | |
81 | + but can be overridden inside of LESS | |
82 | + | |
83 | +This must be run when you have at least 2 sprites. | |
84 | + If run with a single sprite, then there will be reference errors. | |
85 | + | |
86 | +.sprites(@spritesheet-sprites); | |
87 | +*/ | |
88 | +.sprites(@sprites, @i: 1) when (@i <= length(@sprites)) { | |
89 | + @sprite: extract(@sprites, @i); | |
90 | + @sprite-name: extract(@sprite, 10); | |
91 | + .@{sprite-name} { | |
92 | + .sprite(@sprite); | |
93 | + } | |
94 | + .sprites(@sprites, @i + 1); | |
95 | +} | ... | ... |
css/tab.css
0 → 100644
1 | +.m-tab { | |
2 | + width: 100%; | |
3 | + background-color: #FFF; | |
4 | + font-size: 14px; | |
5 | + color: #999; | |
6 | + border-width: 1px 0; | |
7 | + overflow: hidden; | |
8 | + box-sizing: border-box; | |
9 | + padding: 0 15px; | |
10 | +} | |
11 | +.m-tab a { | |
12 | + color: #999; | |
13 | +} | |
14 | +.m-tab li { | |
15 | + float: left; | |
16 | + min-width: 32px; | |
17 | + padding-right: 18px; | |
18 | + line-height: 40px; | |
19 | + text-align: center; | |
20 | + position: relative; | |
21 | +} | |
22 | +.m-tab li:last-child { | |
23 | + padding-right: 0; | |
24 | +} | |
25 | +.m-tab .on a { | |
26 | + color: #2caa3f; | |
27 | + display: block; | |
28 | + position: relative; | |
29 | +} | |
30 | +.m-tab .on a:after { | |
31 | + content: ''; | |
32 | + position: absolute; | |
33 | + bottom: 0; | |
34 | + left: 0; | |
35 | + right: 0; | |
36 | + height: 2px; | |
37 | + background-color: #23AC38; | |
38 | +} | |
39 | +.m-tab.tab-col-2 li { | |
40 | + width: 50% !important; | |
41 | +} | |
42 | +.m-tab.tab-col-3 li { | |
43 | + width: 33.33% !important; | |
44 | + padding-right: 0 ; | |
45 | +} | |
46 | +.m-tab.tab-col-4 li { | |
47 | + padding-right: 0; | |
48 | + width: 25% !important; | |
49 | +} | |
50 | +.m-tab.tab-col-5 li { | |
51 | + padding-right: 0; | |
52 | + width: 20% !important; | |
53 | +} | ... | ... |
css/tab.less
0 → 100644
1 | +.m-nav{ | |
2 | + width: 100%; | |
3 | + background-color: #444; | |
4 | + font-size: 14px; | |
5 | + color: #999; | |
6 | + overflow: hidden; | |
7 | + box-sizing: border-box; | |
8 | + a{ | |
9 | + color: #999; | |
10 | + padding: 0 10px; | |
11 | + min-width: 70px; | |
12 | + } | |
13 | + li{ | |
14 | + float: left; | |
15 | + line-height: 40px; | |
16 | + text-align: center; | |
17 | + position: relative; | |
18 | + &:last-child{ | |
19 | + padding-right: 0; | |
20 | + } | |
21 | + } | |
22 | + .on{ | |
23 | + a{ | |
24 | + color: #FFF; | |
25 | + background-color: #23ac38; | |
26 | + display: block; | |
27 | + position: relative; | |
28 | + } | |
29 | + } | |
30 | +} | |
31 | + | |
32 | + | |
33 | +.m-tab{ | |
34 | + width: 100%; | |
35 | + background-color: #FFF; | |
36 | + font-size: 14px; | |
37 | + color: #999; | |
38 | + // border: 1px solid #ddd; | |
39 | + border-width: 1px 0; | |
40 | + overflow: hidden; | |
41 | + box-sizing: border-box; | |
42 | + margin-bottom: 10px; | |
43 | + a{ | |
44 | + color: #999; | |
45 | + } | |
46 | + li{ | |
47 | + float: left; | |
48 | + min-width: 32px; | |
49 | + padding-right: 18px; | |
50 | + line-height: 40px; | |
51 | + text-align: center; | |
52 | + position: relative; | |
53 | + &:last-child{ | |
54 | + padding-right: 0; | |
55 | + } | |
56 | + } | |
57 | + .on{ | |
58 | + a{ | |
59 | + color: #23ac38; | |
60 | + display: block; | |
61 | + position: relative; | |
62 | + &:after{ | |
63 | + content: ''; | |
64 | + position: absolute; | |
65 | + bottom: 0; | |
66 | + left: 0; | |
67 | + right: 0; | |
68 | + height: 2px; | |
69 | + background-color: #23ac38; | |
70 | + } | |
71 | + } | |
72 | + } | |
73 | + &.tab-col-2{ | |
74 | + li{ | |
75 | + width: 50% !important; | |
76 | + } | |
77 | + } | |
78 | + &.tab-col-3{ | |
79 | + li{ | |
80 | + width: 33.33% !important; | |
81 | + padding-right:0 ; | |
82 | + } | |
83 | + } | |
84 | + &.tab-col-4{ | |
85 | + li{ | |
86 | + padding-right: 0; | |
87 | + width: 25% !important; | |
88 | + } | |
89 | + } | |
90 | + &.tab-col-5{ | |
91 | + li{ | |
92 | + padding-right: 0; | |
93 | + width: 20% !important; | |
94 | + } | |
95 | + } | |
96 | +} | ... | ... |
css/util.css
0 → 100644
1 | +/*************************************************** | |
2 | +* feature : 工具类class,提供浮动清除、文本对齐、显示隐藏等; | |
3 | +* update : 2015/02/03; | |
4 | +* use : 按需使用对应class即可; | |
5 | +* desc : ; | |
6 | +* feedback : 此处填入 issue, 并请附带以下信息[os_version, browser_version, page_path, issue_description] | |
7 | +* - demo => [windows 7, IE 8, http://diligrp.com/icon.html, 在不定height下未能垂直居中]; | |
8 | +****************************************************/ | |
9 | +.text-left { | |
10 | + text-align: left !important; | |
11 | +} | |
12 | +.text-center { | |
13 | + text-align: center !important; | |
14 | +} | |
15 | +.text-right { | |
16 | + text-align: right !important; | |
17 | +} | |
18 | +.text-nowrap { | |
19 | + white-space: nowrap !important; | |
20 | +} | |
21 | +.text-overflow { | |
22 | + overflow: hidden; | |
23 | + text-overflow: ellipsis; | |
24 | +} | |
25 | +.text-lowercase { | |
26 | + text-transform: lowercase; | |
27 | +} | |
28 | +.text-uppercase { | |
29 | + text-transform: uppercase; | |
30 | +} | |
31 | +.text-capitalize { | |
32 | + text-transform: capitalize; | |
33 | +} | |
34 | +.text-indent { | |
35 | + text-indent: -999em; | |
36 | +} | |
37 | +.float-left { | |
38 | + float: left !important; | |
39 | +} | |
40 | +.float-right { | |
41 | + float: right !important; | |
42 | +} | |
43 | +.float-none { | |
44 | + float: none !important; | |
45 | +} | |
46 | +.display-block { | |
47 | + display: block !important; | |
48 | +} | |
49 | +.clearfix:after { | |
50 | + content: ''; | |
51 | + display: block; | |
52 | + height: 0; | |
53 | + overflow: hidden; | |
54 | + font-size: 0; | |
55 | + clear: both; | |
56 | +} | |
57 | +.m-hide { | |
58 | + display: none !important; | |
59 | + visibility: hidden; | |
60 | + opacity: 0; | |
61 | + z-index: -1; | |
62 | +} | |
63 | +.m-hidden { | |
64 | + visibility: hidden; | |
65 | + opacity: 0; | |
66 | + z-index: -1; | |
67 | +} | |
68 | +.m-show { | |
69 | + display: block !important; | |
70 | + visibility: visible; | |
71 | +} | |
72 | +.m-separate { | |
73 | + position: relative; | |
74 | + width: 100%; | |
75 | + line-height: 50px; | |
76 | + text-align: center; | |
77 | + font-size: 12px; | |
78 | + color: #666; | |
79 | + overflow: visible; | |
80 | +} | |
81 | +.m-more, | |
82 | +a.m-more { | |
83 | + display: block; | |
84 | + font-size: 12px; | |
85 | + text-align: center; | |
86 | + color: #999; | |
87 | + line-height: 45px; | |
88 | + background-color: #FFF; | |
89 | +} | |
90 | +.m-animate-hide { | |
91 | + -webkit-transform: translate(0, 100%) translateZ(0) !important; | |
92 | + -ms-transform: translate(0, 100%) translateZ(0) !important; | |
93 | + -o-transform: translate(0, 100%) translateZ(0) !important; | |
94 | + transform: translate(0, 100%) translateZ(0) !important; | |
95 | +} | |
96 | +.m-animate-show { | |
97 | + -webkit-transform: translate(0, 0) translateZ(0) !important; | |
98 | + -ms-transform: translate(0, 0) translateZ(0) !important; | |
99 | + -o-transform: translate(0, 0) translateZ(0) !important; | |
100 | + transform: translate(0, 0) translateZ(0) !important; | |
101 | +} | |
102 | +.hidden { | |
103 | + opacity: 0; | |
104 | + z-index: -1; | |
105 | +} | |
106 | +.mask-hidden { | |
107 | + opacity: 0; | |
108 | +} | |
109 | +.font-white { | |
110 | + color: #FFF !important; | |
111 | +} | |
112 | +.font-white-opacity { | |
113 | + color: rgba(255, 255, 255, 0.8) !important; | |
114 | +} | |
115 | +.font-deep { | |
116 | + color: #333 !important; | |
117 | +} | |
118 | +.font-gray { | |
119 | + color: #666 !important; | |
120 | +} | |
121 | +.font-light { | |
122 | + color: #999 !important; | |
123 | +} | |
124 | +.font-yellow { | |
125 | + color: #FF9D2C !important; | |
126 | +} | |
127 | +.font-orange { | |
128 | + color: #FF6B00 !important; | |
129 | +} | |
130 | +.font-red { | |
131 | + color: #fa4535 !important; | |
132 | +} | |
133 | +.font-green { | |
134 | + color: #23ac38 !important; | |
135 | +} | |
136 | +.background-gray { | |
137 | + background-color: #666 !important; | |
138 | +} | |
139 | +.background-yellow { | |
140 | + background-color: #FF9D2C !important; | |
141 | +} | |
142 | +.background-orange { | |
143 | + background-color: #FF6B00 !important; | |
144 | +} | |
145 | +.background-red { | |
146 | + background-color: #fa4535 !important; | |
147 | +} | |
148 | +.background-green { | |
149 | + background-color: #23ac38 !important; | |
150 | +} | |
151 | +.position-relative { | |
152 | + position: relative; | |
153 | +} | |
154 | +.z-index2 { | |
155 | + z-index: 2; | |
156 | +} | |
157 | +.width-auto { | |
158 | + width: auto !important; | |
159 | +} | |
160 | +.width-200p { | |
161 | + width: 200%; | |
162 | +} | |
163 | +.m-col-1 { | |
164 | + width: 100% !important; | |
165 | +} | |
166 | +.m-col-2 { | |
167 | + width: 50% !important; | |
168 | +} | |
169 | +.m-col-3 { | |
170 | + width: 33.33% !important; | |
171 | +} | |
172 | +.m-col-4 { | |
173 | + width: 25% !important; | |
174 | +} | ... | ... |
css/util.less
0 → 100644
1 | +/*************************************************** | |
2 | +* feature : 工具类class,提供浮动清除、文本对齐、显示隐藏等; | |
3 | +* update : 2015/02/03; | |
4 | +* use : 按需使用对应class即可; | |
5 | +* desc : ; | |
6 | +* feedback : 此处填入 issue, 并请附带以下信息[os_version, browser_version, page_path, issue_description] | |
7 | +* - demo => [windows 7, IE 8, http://diligrp.com/icon.html, 在不定height下未能垂直居中]; | |
8 | +****************************************************/ | |
9 | + | |
10 | +//文本 | |
11 | +.text-left{ | |
12 | + text-align: left !important; | |
13 | +} | |
14 | + | |
15 | +.text-center{ | |
16 | + text-align: center !important; | |
17 | +} | |
18 | + | |
19 | +.text-right{ | |
20 | + text-align: right !important; | |
21 | +} | |
22 | + | |
23 | +.text-nowrap{ | |
24 | + white-space: nowrap !important; | |
25 | +} | |
26 | +.text-overflow{ | |
27 | + overflow: hidden; | |
28 | + text-overflow: ellipsis; | |
29 | +} | |
30 | + | |
31 | +//改变大小写 | |
32 | +.text-lowercase{ | |
33 | + text-transform: lowercase; | |
34 | +} | |
35 | + | |
36 | +.text-uppercase{ | |
37 | + text-transform: uppercase; | |
38 | +} | |
39 | + | |
40 | +.text-capitalize{ | |
41 | + text-transform: capitalize; | |
42 | +} | |
43 | + | |
44 | +//缩进 | |
45 | +.text-indent{ | |
46 | + text-indent: -999em; | |
47 | +} | |
48 | + | |
49 | +//浮动 | |
50 | +.float-left{ | |
51 | + float: left !important; | |
52 | +} | |
53 | + | |
54 | +.float-right{ | |
55 | + float: right !important; | |
56 | +} | |
57 | + | |
58 | +.float-none{ | |
59 | + float: none !important; | |
60 | +} | |
61 | + | |
62 | +.display-block{ | |
63 | + display: block !important; | |
64 | +} | |
65 | + | |
66 | +//浮动清除 | |
67 | +.clearfix:after{ | |
68 | + content: ''; | |
69 | + display: block; | |
70 | + height: 0; | |
71 | + overflow: hidden; | |
72 | + font-size: 0; | |
73 | + clear: both; | |
74 | +} | |
75 | + | |
76 | +//可见性 | |
77 | +.m-hide{ | |
78 | + display: none !important; | |
79 | + visibility: hidden; | |
80 | + opacity: 0; | |
81 | + z-index: -1; | |
82 | +} | |
83 | + | |
84 | +.m-hidden{ | |
85 | + visibility: hidden; | |
86 | + opacity: 0; | |
87 | + z-index: -1; | |
88 | +} | |
89 | + | |
90 | +.m-show{ | |
91 | + display: block !important; | |
92 | + visibility: visible; | |
93 | +} | |
94 | + | |
95 | + | |
96 | +//分割线 | |
97 | +.m-separate{ | |
98 | + position: relative; | |
99 | + width: 100%; | |
100 | + line-height: 50px; | |
101 | + text-align: center; | |
102 | + font-size: 12px; | |
103 | + color: #666; | |
104 | + overflow: visible; | |
105 | +} | |
106 | + | |
107 | +//more text | |
108 | +.m-more, a.m-more{ | |
109 | + display: block; | |
110 | + font-size: 12px; | |
111 | + text-align: center; | |
112 | + color: #999; | |
113 | + line-height: 45px; | |
114 | + background-color: #FFF; | |
115 | +} | |
116 | + | |
117 | +.m-animate-hide { | |
118 | + // -webkit-transform: translate3d(0, 100%, 0); | |
119 | + // -ms-transform: translate3d(0, 100%, 0); | |
120 | + // -o-transform: translate3d(0, 100%, 0); | |
121 | + // transform: translate3d(0, 100%, 0); | |
122 | + -webkit-transform: translate(0, 100%) translateZ(0) !important; | |
123 | + -ms-transform: translate(0, 100%) translateZ(0) !important; | |
124 | + -o-transform: translate(0, 100%) translateZ(0) !important; | |
125 | + transform: translate(0, 100%) translateZ(0) !important; | |
126 | + // visibility: hidden; | |
127 | +} | |
128 | + | |
129 | +.m-animate-show { | |
130 | + -webkit-transform: translate(0, 0) translateZ(0) !important; | |
131 | + -ms-transform: translate(0, 0) translateZ(0) !important; | |
132 | + -o-transform: translate(0, 0) translateZ(0) !important; | |
133 | + transform: translate(0, 0) translateZ(0) !important; | |
134 | + | |
135 | + // visibility: hidden; | |
136 | +} | |
137 | + | |
138 | +.hidden{ | |
139 | + // visibility: hidden; | |
140 | + opacity: 0; | |
141 | + z-index: -1; | |
142 | +} | |
143 | +.mask-hidden{ | |
144 | + opacity: 0; | |
145 | +} | |
146 | + | |
147 | +.font-white{ | |
148 | + color: #FFF !important; | |
149 | +} | |
150 | + | |
151 | +.font-white-opacity{ | |
152 | + color: rgba(255, 255, 255, .8) !important; | |
153 | +} | |
154 | +.font-deep{ | |
155 | + color: #333 !important; | |
156 | +} | |
157 | +.font-gray{ | |
158 | + color: #666 !important; | |
159 | +} | |
160 | +.font-light{ | |
161 | + color: #999 !important; | |
162 | +} | |
163 | +.font-yellow{ | |
164 | + color: #FF9D2C !important; | |
165 | +} | |
166 | +.font-orange{ | |
167 | + color: #FF6B00 !important; | |
168 | +} | |
169 | +.font-red{ | |
170 | + color: #fa4535 !important; | |
171 | +} | |
172 | +.font-green{ | |
173 | + color: #23ac38 !important; | |
174 | +} | |
175 | + | |
176 | +.background-gray{ | |
177 | + background-color: #666 !important; | |
178 | +} | |
179 | +.background-yellow{ | |
180 | + background-color: #FF9D2C !important; | |
181 | +} | |
182 | +.background-orange{ | |
183 | + background-color: #FF6B00 !important; | |
184 | +} | |
185 | +.background-red{ | |
186 | + background-color: #fa4535 !important; | |
187 | +} | |
188 | +.background-green{ | |
189 | + background-color: #23ac38 !important; | |
190 | +} | |
191 | +.position-relative{ | |
192 | + position: relative; | |
193 | +} | |
194 | +.z-index2{ | |
195 | + z-index: 2; | |
196 | +} | |
197 | +.width-auto{ | |
198 | + width: auto !important; | |
199 | +} | |
200 | +.width-200p{ | |
201 | + width: 200%; | |
202 | +} | |
203 | + | |
204 | +.m-col-1{ | |
205 | + width: 100% !important; | |
206 | +} | |
207 | +.m-col-2{ | |
208 | + width: 50% !important; | |
209 | +} | |
210 | +.m-col-3{ | |
211 | + width: 33.33% !important; | |
212 | +} | |
213 | +.m-col-4{ | |
214 | + width: 25% !important; | |
215 | +} | ... | ... |
html/index.html
0 → 100644
1 | +<!DOCTYPE html> | |
2 | +<html lang="en"> | |
3 | + | |
4 | +<head> | |
5 | + <meta name="viewport" content="user-scalable=0, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> | |
6 | + <meta content="telephone=no" name="format-detection" /> | |
7 | + <meta content="black" name="apple-mobile-web-app-status-bar-style" /> | |
8 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
9 | + <title>七巧板</title> | |
10 | + <link rel="stylesheet" href="../css/common.css"> | |
11 | +</head> | |
12 | + | |
13 | +<body> | |
14 | + | |
15 | + <!-- header for wap --> | |
16 | + <header class="m-header header-light"> | |
17 | + <div class="head"> | |
18 | + <a href="#" class="lt-bar"><i class="m-icon icon-back"></i></a> | |
19 | + <h1 class="font-deep">名古屋的美食店</h1> | |
20 | + </div> | |
21 | + </header> | |
22 | + | |
23 | + | |
24 | + <!-- tab --> | |
25 | + <ul class="m-nav border-1px border-bottom"> | |
26 | + <li class="on"><a href="#">秒杀专区</a></li> | |
27 | + <li><a href="#">活动专区</a></li> | |
28 | + <li><a href="#">最低专区</a></li> | |
29 | + <li><a href="#">精品专区</a></li> | |
30 | + </ul> | |
31 | + | |
32 | + | |
33 | + <!-- slider --> | |
34 | + <div class="m-slider"> | |
35 | + <!-- Swiper --> | |
36 | + <div class="swiper-container"> | |
37 | + <div class="swiper-wrapper"> | |
38 | + <a class="swiper-slide" href="#" style="background:url(../temp/pic_320.png) center center no-repeat; background-size:100% 100%;"></a> | |
39 | + </div> | |
40 | + <!-- Add Pagination --> | |
41 | + <div class="swiper-pagination"></div> | |
42 | + </div> | |
43 | + </div> | |
44 | + | |
45 | + <!-- section --> | |
46 | + <div class="m-section"> | |
47 | + <h3 class="section-head">秒杀专区</h3> | |
48 | + </div> | |
49 | + | |
50 | + <!-- goods --> | |
51 | + | |
52 | + <ul class="m-goods-items width-200p clearfix"> | |
53 | + <li> | |
54 | + <a href="#"> | |
55 | + <div class="pic" style="background-image:url(../temp/pic_220.png); background-size:cover;"></div> | |
56 | + <h3> 丝瓜 产地山东潍坊市 产地山东潍坊市</h3> | |
57 | + <p> | |
58 | + <em>0.8-0.9元/斤</em> | |
59 | + </p> | |
60 | + <p> | |
61 | + <em class="origin-price">1.5元/斤</em> | |
62 | + </p> | |
63 | + </a> | |
64 | + </li> | |
65 | + <li> | |
66 | + <a href="#"> | |
67 | + <div class="pic" style="background-image:url(../temp/pic_220.png); background-size:cover;"></div> | |
68 | + <h3> 丝瓜 产地山东潍坊市 产地山东潍坊市</h3> | |
69 | + <p> | |
70 | + <em>0.8-0.9元/斤</em> | |
71 | + </p> | |
72 | + <p> | |
73 | + <em class="origin-price">1.5元/斤</em> | |
74 | + </p> | |
75 | + </a> | |
76 | + </li> | |
77 | + <li> | |
78 | + <a href="#"> | |
79 | + <div class="pic" style="background-image:url(../temp/pic_220.png); background-size:cover;"></div> | |
80 | + <h3> 丝瓜 产地山东潍坊市 产地山东潍坊市</h3> | |
81 | + <p> | |
82 | + <em>0.8-0.9元/斤</em> | |
83 | + </p> | |
84 | + <p> | |
85 | + <em class="origin-price">1.5元/斤</em> | |
86 | + </p> | |
87 | + </a> | |
88 | + </li> | |
89 | + </ul> | |
90 | + | |
91 | + | |
92 | + <!-- section --> | |
93 | + <div class="m-section"> | |
94 | + <h3 class="section-head">活动专区</h3> | |
95 | + </div> | |
96 | + <div class="section-items"> | |
97 | + <a href="#" class="section-item"> | |
98 | + <img src="../temp/p_1.jpg" alt=""> | |
99 | + </a> | |
100 | + <a href="#" class="section-item"> | |
101 | + <img src="../temp/p_2.jpg" alt=""> | |
102 | + </a> | |
103 | + <a href="#" class="section-item"> | |
104 | + <img src="../temp/p_3.jpg" alt=""> | |
105 | + </a> | |
106 | + </div> | |
107 | + | |
108 | + <!-- section --> | |
109 | + <div class="m-section"> | |
110 | + <h3 class="section-head">最低专区</h3> | |
111 | + </div> | |
112 | + <div class="product-items clearfix"> | |
113 | + <ul class="items border-1px border-top"> | |
114 | + <li class="item border-1px-full"> | |
115 | + <a href="#"> | |
116 | + <h3>新鲜花菜</h3> | |
117 | + <p> | |
118 | + <em>0.8-0.9元/斤</em> | |
119 | + </p> | |
120 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
121 | + </a> | |
122 | + </li> | |
123 | + <li class="item border-1px-full"> | |
124 | + <a href="#"> | |
125 | + <h3>新鲜花菜</h3> | |
126 | + <p> | |
127 | + <em>0.8-0.9元/斤</em> | |
128 | + </p> | |
129 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
130 | + </a> | |
131 | + </li> | |
132 | + <li class="item border-1px-full"> | |
133 | + <a href="#"> | |
134 | + <h3>新鲜花菜</h3> | |
135 | + <p> | |
136 | + <em>0.8-0.9元/斤</em> | |
137 | + </p> | |
138 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
139 | + </a> | |
140 | + </li> | |
141 | + <li class="item border-1px-full"> | |
142 | + <a href="#"> | |
143 | + <h3>新鲜花菜</h3> | |
144 | + <p> | |
145 | + <em>0.8-0.9元/斤</em> | |
146 | + </p> | |
147 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
148 | + </a> | |
149 | + </li> | |
150 | + <li class="item border-1px-full"> | |
151 | + <a href="#"> | |
152 | + <h3>新鲜花菜</h3> | |
153 | + <p> | |
154 | + <em>0.8-0.9元/斤</em> | |
155 | + </p> | |
156 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
157 | + </a> | |
158 | + </li> | |
159 | + <li class="item border-1px-full"> | |
160 | + <a href="#"> | |
161 | + <h3>新鲜花菜</h3> | |
162 | + <p> | |
163 | + <em>0.8-0.9元/斤</em> | |
164 | + </p> | |
165 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
166 | + </a> | |
167 | + </li> | |
168 | + <li class="item border-1px-full"> | |
169 | + <a href="#"> | |
170 | + <h3>新鲜花菜</h3> | |
171 | + <p> | |
172 | + <em>0.8-0.9元/斤</em> | |
173 | + </p> | |
174 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
175 | + </a> | |
176 | + </li> | |
177 | + <li class="item border-1px-full"> | |
178 | + <a href="#"> | |
179 | + <h3>新鲜花菜</h3> | |
180 | + <p> | |
181 | + <em>0.8-0.9元/斤</em> | |
182 | + </p> | |
183 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
184 | + </a> | |
185 | + </li> | |
186 | + <li class="item border-1px-full"> | |
187 | + <a href="#"> | |
188 | + <h3>新鲜花菜</h3> | |
189 | + <p> | |
190 | + <em>0.8-0.9元/斤</em> | |
191 | + </p> | |
192 | + <img src="../temp/pic_220.png" class="pic" alt=""> | |
193 | + </a> | |
194 | + </li> | |
195 | + </ul> | |
196 | + </div> | |
197 | + | |
198 | + | |
199 | + <!-- section --> | |
200 | + <div class="m-section"> | |
201 | + <h3 class="section-head">精品专区</h3> | |
202 | + </div> | |
203 | + | |
204 | + <div class="photo-wall clearfix"> | |
205 | + <a href="#" class="photo-item photo-2p"> | |
206 | + <img src="../temp/wall_1.jpg" alt=""> | |
207 | + </a> | |
208 | + <a href="#" class="photo-item photo-1p"> | |
209 | + <img src="../temp/wall_2.jpg" alt=""> | |
210 | + </a> | |
211 | + <a href="#" class="photo-item photo-1p"> | |
212 | + <img src="../temp/wall_3.jpg" alt=""> | |
213 | + </a> | |
214 | + <a href="#" class="photo-item photo-1p"> | |
215 | + <img src="../temp/wall_4.jpg" alt=""> | |
216 | + </a> | |
217 | + <a href="#" class="photo-item photo-1p"> | |
218 | + <img src="../temp/wall_5.jpg" alt=""> | |
219 | + </a> | |
220 | + </div> | |
221 | + | |
222 | + | |
223 | + <!-- section --> | |
224 | + <div class="m-section"> | |
225 | + <h3 class="section-head">推荐专区</h3> | |
226 | + </div> | |
227 | + | |
228 | + | |
229 | + <ul class="m-list-view border-1px border-top"> | |
230 | + <li class="cell cell-pic border-1px border-bottom"> | |
231 | + <a href="#"> | |
232 | + <img src="../temp/pic_80.png" width="80" height="80" alt="" class="pic"> | |
233 | + <div class="cont"> | |
234 | + <h3>白石榴 产地韩国</h3> | |
235 | + | |
236 | + <em class="font-red">0.8~0.9元/斤</em> | |
237 | + | |
238 | + <p class="desc"> | |
239 | + <span class="name font-gray">王大大大大</span> | |
240 | + <span class="float-right category font-gray">主营:根茎类</span> | |
241 | + </p> | |
242 | + <p>广西柳州市城中区第三方斯蒂芬是</p> | |
243 | + </div> | |
244 | + </a> | |
245 | + </li> | |
246 | + | |
247 | + <li class="cell cell-pic border-1px border-bottom"> | |
248 | + <a href="#"> | |
249 | + <img src="../temp/pic_80.png" width="80" height="80" alt="" class="pic"> | |
250 | + <div class="cont"> | |
251 | + <h3>白石榴 产地韩国</h3> | |
252 | + | |
253 | + <em class="font-red">0.8~0.9元/斤</em> | |
254 | + | |
255 | + <p class="desc"> | |
256 | + <span class="name font-gray">王大大大大</span> | |
257 | + <span class="float-right category font-gray">主营:根茎类</span> | |
258 | + </p> | |
259 | + <p>广西柳州市城中区第三方斯蒂芬是</p> | |
260 | + </div> | |
261 | + </a> | |
262 | + </li> | |
263 | + | |
264 | + <li class="cell cell-pic border-1px border-bottom"> | |
265 | + <a href="#"> | |
266 | + <img src="../temp/pic_80.png" width="80" height="80" alt="" class="pic"> | |
267 | + <div class="cont"> | |
268 | + <h3>白石榴 产地韩国</h3> | |
269 | + | |
270 | + <em class="font-red">0.8~0.9元/斤</em> | |
271 | + | |
272 | + <p class="desc"> | |
273 | + <span class="name font-gray">王大大大大</span> | |
274 | + <span class="float-right category font-gray">主营:根茎类</span> | |
275 | + </p> | |
276 | + <p>广西柳州市城中区第三方斯蒂芬是</p> | |
277 | + </div> | |
278 | + </a> | |
279 | + </li> | |
280 | + </ul> | |
281 | + | |
282 | + <!-- tab --> | |
283 | + <ul class="m-tab tab-col-4 border-1px border-bottom"> | |
284 | + <li class="on"><a href="#">今日必抢</a></li> | |
285 | + <li><a href="#">名古屋</a></li> | |
286 | + <li><a href="#">我是吃货</a></li> | |
287 | + <li><a href="#">我是吃货</a></li> | |
288 | + </ul> | |
289 | + | |
290 | + <ul class="m-goods-items clearfix"> | |
291 | + <li class="m-col-2"> | |
292 | + <a href="#"> | |
293 | + <div class="pic" style="background-image:url(../temp/pic_220.png); background-size:cover;"></div> | |
294 | + <h3> 丝瓜 产地山东潍坊市 产地山东潍坊市</h3> | |
295 | + <p> | |
296 | + <em>0.8-0.9元/斤</em> | |
297 | + </p> | |
298 | + </a> | |
299 | + </li> | |
300 | + <li class="m-col-2"> | |
301 | + <a href="#"> | |
302 | + <div class="pic" style="background-image:url(../temp/pic_220.png); background-size:cover;"></div> | |
303 | + <h3> 丝瓜 产地山东潍坊市 产地山东潍坊市</h3> | |
304 | + <p> | |
305 | + <em>0.8-0.9元/斤</em> | |
306 | + </p> | |
307 | + </a> | |
308 | + </li> | |
309 | + <li class="m-col-2"> | |
310 | + <a href="#"> | |
311 | + <div class="pic" style="background-image:url(../temp/pic_220.png); background-size:cover;"></div> | |
312 | + <h3> 丝瓜 产地山东潍坊市 产地山东潍坊市</h3> | |
313 | + <p> | |
314 | + <em>0.8-0.9元/斤</em> | |
315 | + </p> | |
316 | + </a> | |
317 | + </li> | |
318 | + <li class="m-col-2"> | |
319 | + <a href="#"> | |
320 | + <div class="pic" style="background-image:url(../temp/pic_220.png); background-size:cover;"></div> | |
321 | + <h3> 丝瓜 产地山东潍坊市 产地山东潍坊市</h3> | |
322 | + <p> | |
323 | + <em>0.8-0.9元/斤</em> | |
324 | + </p> | |
325 | + </a> | |
326 | + </li> | |
327 | + </ul> | |
328 | + | |
329 | +</body> | |
330 | + | |
331 | +</html> | ... | ... |
images/Gruntfile.js
0 → 100644
1 | +'use strict'; | |
2 | + | |
3 | +module.exports = function(grunt) { | |
4 | + grunt.initConfig({ | |
5 | + pkg: grunt.file.readJSON('package.json'), | |
6 | + sprite: { | |
7 | + all: { | |
8 | + // 待合并的文件 | |
9 | + src: 'src/*.png', | |
10 | + // 合并后输出的文件 | |
11 | + dest: 'dist/sprite.png', | |
12 | + // 输出对应雪碧图的样式 | |
13 | + destCss: '../css/sprite.less', | |
14 | + // 可选: 手动指定样式里引用图片的路径 | |
15 | + imgPath: '../images/dist/sprite.png', | |
16 | + cssVarMap: function(sprite) { | |
17 | + sprite.name = sprite.name.replace(/^\s{1}/, ''); //去除文件名前空白 | |
18 | + //sprite.name = sprite.name.replace('@2x', ''); | |
19 | + sprite.name = 'icon-' + sprite.name; | |
20 | + sprite.name = sprite.name; | |
21 | + }, | |
22 | + padding: 6, | |
23 | + // 可选: 指定算法 (top-down, left-right, diagonal,alt-diagonal, binary-tree )等 | |
24 | + // 默认是top-down,二叉树合并出来的图体积最小 | |
25 | + algorithm: 'binary-tree', | |
26 | + // 可选: 指定CSS格式 (默认根据destCSS中的后缀设置格式) | |
27 | + // (stylus, scss, scss_maps, sass, less, json, json_array, css) | |
28 | + cssFormat: 'less' | |
29 | + } | |
30 | + } | |
31 | + }); | |
32 | + | |
33 | + grunt.loadNpmTasks('grunt-spritesmith'); | |
34 | + grunt.registerTask('default', [ | |
35 | + 'sprite' | |
36 | + ]); | |
37 | +}; | ... | ... |
images/dist/sprite.png
0 → 100644
1.23 KB
images/gulpfile.js
0 → 100644
1 | +var gulp = require('gulp'); | |
2 | +var spritesmith = require('gulp.spritesmith'); | |
3 | + | |
4 | +gulp.task('sprite', function() { | |
5 | + var spriteData = gulp.src('src/*.png').pipe(spritesmith({ | |
6 | + imgName: 'sprite.png', | |
7 | + // cssName: 'sprite.less', | |
8 | + // 输出对应雪碧图的样式 | |
9 | + destCss: '../../2.3.0/sp-sprite.less', | |
10 | + imgPath: '../images/2.3.0/dist/sprite.png', | |
11 | + cssVarMap: function(sprite) { | |
12 | + sprite.name = sprite.name.replace(/^\s{1}/, ''); //去除文件名前空白 | |
13 | + //sprite.name = sprite.name.replace('@2x', ''); | |
14 | + sprite.name = 'icon-' + sprite.name; | |
15 | + sprite.name = sprite.name; | |
16 | + }, | |
17 | + padding: 6, | |
18 | + // 可选: 指定算法 (top-down, left-right, diagonal,alt-diagonal, binary-tree )等 | |
19 | + // 默认是top-down,二叉树合并出来的图体积最小 | |
20 | + algorithm: 'binary-tree', | |
21 | + // 可选: 指定CSS格式 (默认根据destCSS中的后缀设置格式) | |
22 | + // (stylus, scss, scss_maps, sass, less, json, json_array, css) | |
23 | + cssFormat: 'less' | |
24 | + })); | |
25 | + return spriteData.pipe(gulp.dest('dest')); | |
26 | +}); | ... | ... |
images/node_modules/.bin/cake
0 → 120000
images/node_modules/.bin/coffee
0 → 120000
images/node_modules/.bin/esparse
0 → 120000
images/node_modules/.bin/esvalidate
0 → 120000
images/node_modules/.bin/grunt-glue
0 → 120000
images/node_modules/.bin/gulp
0 → 120000
images/node_modules/.bin/js-yaml
0 → 120000
images/node_modules/.bin/mkdirp
0 → 120000
images/node_modules/.bin/nopt
0 → 120000
images/node_modules/.bin/rimraf
0 → 120000
images/node_modules/.bin/semver
0 → 120000
images/node_modules/.bin/strip-indent
0 → 120000
images/node_modules/.bin/user-home
0 → 120000
images/node_modules/.bin/which
0 → 120000
images/node_modules/abbrev/.npmignore
0 → 100644
images/node_modules/abbrev/.travis.yml
0 → 100644
images/node_modules/abbrev/CONTRIBUTING.md
0 → 100644
images/node_modules/abbrev/LICENSE
0 → 100644
1 | +The ISC License | |
2 | + | |
3 | +Copyright (c) Isaac Z. Schlueter and Contributors | |
4 | + | |
5 | +Permission to use, copy, modify, and/or distribute this software for any | |
6 | +purpose with or without fee is hereby granted, provided that the above | |
7 | +copyright notice and this permission notice appear in all copies. | |
8 | + | |
9 | +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
10 | +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
11 | +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
12 | +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
13 | +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
14 | +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR | |
15 | +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ... | ... |
images/node_modules/abbrev/README.md
0 → 100644
1 | +# abbrev-js | |
2 | + | |
3 | +Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). | |
4 | + | |
5 | +Usage: | |
6 | + | |
7 | + var abbrev = require("abbrev"); | |
8 | + abbrev("foo", "fool", "folding", "flop"); | |
9 | + | |
10 | + // returns: | |
11 | + { fl: 'flop' | |
12 | + , flo: 'flop' | |
13 | + , flop: 'flop' | |
14 | + , fol: 'folding' | |
15 | + , fold: 'folding' | |
16 | + , foldi: 'folding' | |
17 | + , foldin: 'folding' | |
18 | + , folding: 'folding' | |
19 | + , foo: 'foo' | |
20 | + , fool: 'fool' | |
21 | + } | |
22 | + | |
23 | +This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. | ... | ... |
images/node_modules/abbrev/abbrev.js
0 → 100644
1 | + | |
2 | +module.exports = exports = abbrev.abbrev = abbrev | |
3 | + | |
4 | +abbrev.monkeyPatch = monkeyPatch | |
5 | + | |
6 | +function monkeyPatch () { | |
7 | + Object.defineProperty(Array.prototype, 'abbrev', { | |
8 | + value: function () { return abbrev(this) }, | |
9 | + enumerable: false, configurable: true, writable: true | |
10 | + }) | |
11 | + | |
12 | + Object.defineProperty(Object.prototype, 'abbrev', { | |
13 | + value: function () { return abbrev(Object.keys(this)) }, | |
14 | + enumerable: false, configurable: true, writable: true | |
15 | + }) | |
16 | +} | |
17 | + | |
18 | +function abbrev (list) { | |
19 | + if (arguments.length !== 1 || !Array.isArray(list)) { | |
20 | + list = Array.prototype.slice.call(arguments, 0) | |
21 | + } | |
22 | + for (var i = 0, l = list.length, args = [] ; i < l ; i ++) { | |
23 | + args[i] = typeof list[i] === "string" ? list[i] : String(list[i]) | |
24 | + } | |
25 | + | |
26 | + // sort them lexicographically, so that they're next to their nearest kin | |
27 | + args = args.sort(lexSort) | |
28 | + | |
29 | + // walk through each, seeing how much it has in common with the next and previous | |
30 | + var abbrevs = {} | |
31 | + , prev = "" | |
32 | + for (var i = 0, l = args.length ; i < l ; i ++) { | |
33 | + var current = args[i] | |
34 | + , next = args[i + 1] || "" | |
35 | + , nextMatches = true | |
36 | + , prevMatches = true | |
37 | + if (current === next) continue | |
38 | + for (var j = 0, cl = current.length ; j < cl ; j ++) { | |
39 | + var curChar = current.charAt(j) | |
40 | + nextMatches = nextMatches && curChar === next.charAt(j) | |
41 | + prevMatches = prevMatches && curChar === prev.charAt(j) | |
42 | + if (!nextMatches && !prevMatches) { | |
43 | + j ++ | |
44 | + break | |
45 | + } | |
46 | + } | |
47 | + prev = current | |
48 | + if (j === cl) { | |
49 | + abbrevs[current] = current | |
50 | + continue | |
51 | + } | |
52 | + for (var a = current.substr(0, j) ; j <= cl ; j ++) { | |
53 | + abbrevs[a] = current | |
54 | + a += current.charAt(j) | |
55 | + } | |
56 | + } | |
57 | + return abbrevs | |
58 | +} | |
59 | + | |
60 | +function lexSort (a, b) { | |
61 | + return a === b ? 0 : a > b ? 1 : -1 | |
62 | +} | ... | ... |
images/node_modules/abbrev/package.json
0 → 100644
1 | +{ | |
2 | + "_args": [ | |
3 | + [ | |
4 | + "abbrev@1", | |
5 | + "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/nopt" | |
6 | + ] | |
7 | + ], | |
8 | + "_from": "abbrev@>=1.0.0 <2.0.0", | |
9 | + "_id": "abbrev@1.0.7", | |
10 | + "_inCache": true, | |
11 | + "_installable": true, | |
12 | + "_location": "/abbrev", | |
13 | + "_nodeVersion": "2.0.1", | |
14 | + "_npmUser": { | |
15 | + "email": "isaacs@npmjs.com", | |
16 | + "name": "isaacs" | |
17 | + }, | |
18 | + "_npmVersion": "2.10.1", | |
19 | + "_phantomChildren": {}, | |
20 | + "_requested": { | |
21 | + "name": "abbrev", | |
22 | + "raw": "abbrev@1", | |
23 | + "rawSpec": "1", | |
24 | + "scope": null, | |
25 | + "spec": ">=1.0.0 <2.0.0", | |
26 | + "type": "range" | |
27 | + }, | |
28 | + "_requiredBy": [ | |
29 | + "/nopt" | |
30 | + ], | |
31 | + "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz", | |
32 | + "_shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843", | |
33 | + "_shrinkwrap": null, | |
34 | + "_spec": "abbrev@1", | |
35 | + "_where": "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/nopt", | |
36 | + "author": { | |
37 | + "email": "i@izs.me", | |
38 | + "name": "Isaac Z. Schlueter" | |
39 | + }, | |
40 | + "bugs": { | |
41 | + "url": "https://github.com/isaacs/abbrev-js/issues" | |
42 | + }, | |
43 | + "dependencies": {}, | |
44 | + "description": "Like ruby's abbrev module, but in js", | |
45 | + "devDependencies": { | |
46 | + "tap": "^1.2.0" | |
47 | + }, | |
48 | + "directories": {}, | |
49 | + "dist": { | |
50 | + "shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843", | |
51 | + "tarball": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz" | |
52 | + }, | |
53 | + "gitHead": "821d09ce7da33627f91bbd8ed631497ed6f760c2", | |
54 | + "homepage": "https://github.com/isaacs/abbrev-js#readme", | |
55 | + "license": "ISC", | |
56 | + "main": "abbrev.js", | |
57 | + "maintainers": [ | |
58 | + { | |
59 | + "name": "isaacs", | |
60 | + "email": "i@izs.me" | |
61 | + } | |
62 | + ], | |
63 | + "name": "abbrev", | |
64 | + "optionalDependencies": {}, | |
65 | + "readme": "ERROR: No README data found!", | |
66 | + "repository": { | |
67 | + "type": "git", | |
68 | + "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" | |
69 | + }, | |
70 | + "scripts": { | |
71 | + "test": "tap test.js --cov" | |
72 | + }, | |
73 | + "version": "1.0.7" | |
74 | +} | ... | ... |
images/node_modules/abbrev/test.js
0 → 100644
1 | +var abbrev = require('./abbrev.js') | |
2 | +var assert = require("assert") | |
3 | +var util = require("util") | |
4 | + | |
5 | +console.log("TAP version 13") | |
6 | +var count = 0 | |
7 | + | |
8 | +function test (list, expect) { | |
9 | + count++ | |
10 | + var actual = abbrev(list) | |
11 | + assert.deepEqual(actual, expect, | |
12 | + "abbrev("+util.inspect(list)+") === " + util.inspect(expect) + "\n"+ | |
13 | + "actual: "+util.inspect(actual)) | |
14 | + actual = abbrev.apply(exports, list) | |
15 | + assert.deepEqual(abbrev.apply(exports, list), expect, | |
16 | + "abbrev("+list.map(JSON.stringify).join(",")+") === " + util.inspect(expect) + "\n"+ | |
17 | + "actual: "+util.inspect(actual)) | |
18 | + console.log('ok - ' + list.join(' ')) | |
19 | +} | |
20 | + | |
21 | +test([ "ruby", "ruby", "rules", "rules", "rules" ], | |
22 | +{ rub: 'ruby' | |
23 | +, ruby: 'ruby' | |
24 | +, rul: 'rules' | |
25 | +, rule: 'rules' | |
26 | +, rules: 'rules' | |
27 | +}) | |
28 | +test(["fool", "foom", "pool", "pope"], | |
29 | +{ fool: 'fool' | |
30 | +, foom: 'foom' | |
31 | +, poo: 'pool' | |
32 | +, pool: 'pool' | |
33 | +, pop: 'pope' | |
34 | +, pope: 'pope' | |
35 | +}) | |
36 | +test(["a", "ab", "abc", "abcd", "abcde", "acde"], | |
37 | +{ a: 'a' | |
38 | +, ab: 'ab' | |
39 | +, abc: 'abc' | |
40 | +, abcd: 'abcd' | |
41 | +, abcde: 'abcde' | |
42 | +, ac: 'acde' | |
43 | +, acd: 'acde' | |
44 | +, acde: 'acde' | |
45 | +}) | |
46 | + | |
47 | +console.log("1..%d", count) | ... | ... |
images/node_modules/ansi-regex/index.js
0 → 100644
images/node_modules/ansi-regex/license
0 → 100644
1 | +The MIT License (MIT) | |
2 | + | |
3 | +Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) | |
4 | + | |
5 | +Permission is hereby granted, free of charge, to any person obtaining a copy | |
6 | +of this software and associated documentation files (the "Software"), to deal | |
7 | +in the Software without restriction, including without limitation the rights | |
8 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
9 | +copies of the Software, and to permit persons to whom the Software is | |
10 | +furnished to do so, subject to the following conditions: | |
11 | + | |
12 | +The above copyright notice and this permission notice shall be included in | |
13 | +all copies or substantial portions of the Software. | |
14 | + | |
15 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
16 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
17 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
18 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
19 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
20 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
21 | +THE SOFTWARE. | ... | ... |
images/node_modules/ansi-regex/package.json
0 → 100644
1 | +{ | |
2 | + "_args": [ | |
3 | + [ | |
4 | + "ansi-regex@^2.0.0", | |
5 | + "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/has-ansi" | |
6 | + ] | |
7 | + ], | |
8 | + "_from": "ansi-regex@>=2.0.0 <3.0.0", | |
9 | + "_id": "ansi-regex@2.0.0", | |
10 | + "_inCache": true, | |
11 | + "_installable": true, | |
12 | + "_location": "/ansi-regex", | |
13 | + "_nodeVersion": "0.12.5", | |
14 | + "_npmUser": { | |
15 | + "email": "sindresorhus@gmail.com", | |
16 | + "name": "sindresorhus" | |
17 | + }, | |
18 | + "_npmVersion": "2.11.2", | |
19 | + "_phantomChildren": {}, | |
20 | + "_requested": { | |
21 | + "name": "ansi-regex", | |
22 | + "raw": "ansi-regex@^2.0.0", | |
23 | + "rawSpec": "^2.0.0", | |
24 | + "scope": null, | |
25 | + "spec": ">=2.0.0 <3.0.0", | |
26 | + "type": "range" | |
27 | + }, | |
28 | + "_requiredBy": [ | |
29 | + "/has-ansi", | |
30 | + "/strip-ansi" | |
31 | + ], | |
32 | + "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", | |
33 | + "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", | |
34 | + "_shrinkwrap": null, | |
35 | + "_spec": "ansi-regex@^2.0.0", | |
36 | + "_where": "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/has-ansi", | |
37 | + "author": { | |
38 | + "email": "sindresorhus@gmail.com", | |
39 | + "name": "Sindre Sorhus", | |
40 | + "url": "sindresorhus.com" | |
41 | + }, | |
42 | + "bugs": { | |
43 | + "url": "https://github.com/sindresorhus/ansi-regex/issues" | |
44 | + }, | |
45 | + "dependencies": {}, | |
46 | + "description": "Regular expression for matching ANSI escape codes", | |
47 | + "devDependencies": { | |
48 | + "mocha": "*" | |
49 | + }, | |
50 | + "directories": {}, | |
51 | + "dist": { | |
52 | + "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", | |
53 | + "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" | |
54 | + }, | |
55 | + "engines": { | |
56 | + "node": ">=0.10.0" | |
57 | + }, | |
58 | + "files": [ | |
59 | + "index.js" | |
60 | + ], | |
61 | + "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f", | |
62 | + "homepage": "https://github.com/sindresorhus/ansi-regex", | |
63 | + "keywords": [ | |
64 | + "256", | |
65 | + "ansi", | |
66 | + "cli", | |
67 | + "color", | |
68 | + "colors", | |
69 | + "colour", | |
70 | + "command-line", | |
71 | + "console", | |
72 | + "escape", | |
73 | + "find", | |
74 | + "formatting", | |
75 | + "match", | |
76 | + "pattern", | |
77 | + "re", | |
78 | + "regex", | |
79 | + "regexp", | |
80 | + "rgb", | |
81 | + "shell", | |
82 | + "string", | |
83 | + "styles", | |
84 | + "terminal", | |
85 | + "test", | |
86 | + "text", | |
87 | + "tty", | |
88 | + "xterm" | |
89 | + ], | |
90 | + "license": "MIT", | |
91 | + "maintainers": [ | |
92 | + { | |
93 | + "name": "sindresorhus", | |
94 | + "email": "sindresorhus@gmail.com" | |
95 | + }, | |
96 | + { | |
97 | + "name": "jbnicolai", | |
98 | + "email": "jappelman@xebia.com" | |
99 | + } | |
100 | + ], | |
101 | + "name": "ansi-regex", | |
102 | + "optionalDependencies": {}, | |
103 | + "readme": "ERROR: No README data found!", | |
104 | + "repository": { | |
105 | + "type": "git", | |
106 | + "url": "git+https://github.com/sindresorhus/ansi-regex.git" | |
107 | + }, | |
108 | + "scripts": { | |
109 | + "test": "mocha test/test.js", | |
110 | + "view-supported": "node test/viewCodes.js" | |
111 | + }, | |
112 | + "version": "2.0.0" | |
113 | +} | ... | ... |
images/node_modules/ansi-regex/readme.md
0 → 100644
1 | +# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex) | |
2 | + | |
3 | +> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) | |
4 | + | |
5 | + | |
6 | +## Install | |
7 | + | |
8 | +``` | |
9 | +$ npm install --save ansi-regex | |
10 | +``` | |
11 | + | |
12 | + | |
13 | +## Usage | |
14 | + | |
15 | +```js | |
16 | +var ansiRegex = require('ansi-regex'); | |
17 | + | |
18 | +ansiRegex().test('\u001b[4mcake\u001b[0m'); | |
19 | +//=> true | |
20 | + | |
21 | +ansiRegex().test('cake'); | |
22 | +//=> false | |
23 | + | |
24 | +'\u001b[4mcake\u001b[0m'.match(ansiRegex()); | |
25 | +//=> ['\u001b[4m', '\u001b[0m'] | |
26 | +``` | |
27 | + | |
28 | + | |
29 | +## License | |
30 | + | |
31 | +MIT © [Sindre Sorhus](http://sindresorhus.com) | ... | ... |
images/node_modules/ansi-styles/index.js
0 → 100644
1 | +'use strict'; | |
2 | + | |
3 | +function assembleStyles () { | |
4 | + var styles = { | |
5 | + modifiers: { | |
6 | + reset: [0, 0], | |
7 | + bold: [1, 22], // 21 isn't widely supported and 22 does the same thing | |
8 | + dim: [2, 22], | |
9 | + italic: [3, 23], | |
10 | + underline: [4, 24], | |
11 | + inverse: [7, 27], | |
12 | + hidden: [8, 28], | |
13 | + strikethrough: [9, 29] | |
14 | + }, | |
15 | + colors: { | |
16 | + black: [30, 39], | |
17 | + red: [31, 39], | |
18 | + green: [32, 39], | |
19 | + yellow: [33, 39], | |
20 | + blue: [34, 39], | |
21 | + magenta: [35, 39], | |
22 | + cyan: [36, 39], | |
23 | + white: [37, 39], | |
24 | + gray: [90, 39] | |
25 | + }, | |
26 | + bgColors: { | |
27 | + bgBlack: [40, 49], | |
28 | + bgRed: [41, 49], | |
29 | + bgGreen: [42, 49], | |
30 | + bgYellow: [43, 49], | |
31 | + bgBlue: [44, 49], | |
32 | + bgMagenta: [45, 49], | |
33 | + bgCyan: [46, 49], | |
34 | + bgWhite: [47, 49] | |
35 | + } | |
36 | + }; | |
37 | + | |
38 | + // fix humans | |
39 | + styles.colors.grey = styles.colors.gray; | |
40 | + | |
41 | + Object.keys(styles).forEach(function (groupName) { | |
42 | + var group = styles[groupName]; | |
43 | + | |
44 | + Object.keys(group).forEach(function (styleName) { | |
45 | + var style = group[styleName]; | |
46 | + | |
47 | + styles[styleName] = group[styleName] = { | |
48 | + open: '\u001b[' + style[0] + 'm', | |
49 | + close: '\u001b[' + style[1] + 'm' | |
50 | + }; | |
51 | + }); | |
52 | + | |
53 | + Object.defineProperty(styles, groupName, { | |
54 | + value: group, | |
55 | + enumerable: false | |
56 | + }); | |
57 | + }); | |
58 | + | |
59 | + return styles; | |
60 | +} | |
61 | + | |
62 | +Object.defineProperty(module, 'exports', { | |
63 | + enumerable: true, | |
64 | + get: assembleStyles | |
65 | +}); | ... | ... |
images/node_modules/ansi-styles/license
0 → 100644
1 | +The MIT License (MIT) | |
2 | + | |
3 | +Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) | |
4 | + | |
5 | +Permission is hereby granted, free of charge, to any person obtaining a copy | |
6 | +of this software and associated documentation files (the "Software"), to deal | |
7 | +in the Software without restriction, including without limitation the rights | |
8 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
9 | +copies of the Software, and to permit persons to whom the Software is | |
10 | +furnished to do so, subject to the following conditions: | |
11 | + | |
12 | +The above copyright notice and this permission notice shall be included in | |
13 | +all copies or substantial portions of the Software. | |
14 | + | |
15 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
16 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
17 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
18 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
19 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
20 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
21 | +THE SOFTWARE. | ... | ... |
images/node_modules/ansi-styles/package.json
0 → 100644
1 | +{ | |
2 | + "_args": [ | |
3 | + [ | |
4 | + "ansi-styles@^2.1.0", | |
5 | + "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/chalk" | |
6 | + ] | |
7 | + ], | |
8 | + "_from": "ansi-styles@>=2.1.0 <3.0.0", | |
9 | + "_id": "ansi-styles@2.1.0", | |
10 | + "_inCache": true, | |
11 | + "_installable": true, | |
12 | + "_location": "/ansi-styles", | |
13 | + "_nodeVersion": "0.12.4", | |
14 | + "_npmUser": { | |
15 | + "email": "jappelman@xebia.com", | |
16 | + "name": "jbnicolai" | |
17 | + }, | |
18 | + "_npmVersion": "2.10.1", | |
19 | + "_phantomChildren": {}, | |
20 | + "_requested": { | |
21 | + "name": "ansi-styles", | |
22 | + "raw": "ansi-styles@^2.1.0", | |
23 | + "rawSpec": "^2.1.0", | |
24 | + "scope": null, | |
25 | + "spec": ">=2.1.0 <3.0.0", | |
26 | + "type": "range" | |
27 | + }, | |
28 | + "_requiredBy": [ | |
29 | + "/chalk" | |
30 | + ], | |
31 | + "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz", | |
32 | + "_shasum": "990f747146927b559a932bf92959163d60c0d0e2", | |
33 | + "_shrinkwrap": null, | |
34 | + "_spec": "ansi-styles@^2.1.0", | |
35 | + "_where": "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/chalk", | |
36 | + "author": { | |
37 | + "email": "sindresorhus@gmail.com", | |
38 | + "name": "Sindre Sorhus", | |
39 | + "url": "sindresorhus.com" | |
40 | + }, | |
41 | + "bugs": { | |
42 | + "url": "https://github.com/chalk/ansi-styles/issues" | |
43 | + }, | |
44 | + "dependencies": {}, | |
45 | + "description": "ANSI escape codes for styling strings in the terminal", | |
46 | + "devDependencies": { | |
47 | + "mocha": "*" | |
48 | + }, | |
49 | + "directories": {}, | |
50 | + "dist": { | |
51 | + "shasum": "990f747146927b559a932bf92959163d60c0d0e2", | |
52 | + "tarball": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz" | |
53 | + }, | |
54 | + "engines": { | |
55 | + "node": ">=0.10.0" | |
56 | + }, | |
57 | + "files": [ | |
58 | + "index.js" | |
59 | + ], | |
60 | + "gitHead": "18421cbe4a2d93359ec2599a894f704be126d066", | |
61 | + "homepage": "https://github.com/chalk/ansi-styles", | |
62 | + "keywords": [ | |
63 | + "256", | |
64 | + "ansi", | |
65 | + "cli", | |
66 | + "color", | |
67 | + "colors", | |
68 | + "colour", | |
69 | + "command-line", | |
70 | + "console", | |
71 | + "escape", | |
72 | + "formatting", | |
73 | + "log", | |
74 | + "logging", | |
75 | + "rgb", | |
76 | + "shell", | |
77 | + "string", | |
78 | + "styles", | |
79 | + "terminal", | |
80 | + "text", | |
81 | + "tty", | |
82 | + "xterm" | |
83 | + ], | |
84 | + "license": "MIT", | |
85 | + "maintainers": [ | |
86 | + { | |
87 | + "name": "sindresorhus", | |
88 | + "email": "sindresorhus@gmail.com" | |
89 | + }, | |
90 | + { | |
91 | + "name": "jbnicolai", | |
92 | + "email": "jappelman@xebia.com" | |
93 | + } | |
94 | + ], | |
95 | + "name": "ansi-styles", | |
96 | + "optionalDependencies": {}, | |
97 | + "readme": "ERROR: No README data found!", | |
98 | + "repository": { | |
99 | + "type": "git", | |
100 | + "url": "git+https://github.com/chalk/ansi-styles.git" | |
101 | + }, | |
102 | + "scripts": { | |
103 | + "test": "mocha" | |
104 | + }, | |
105 | + "version": "2.1.0" | |
106 | +} | ... | ... |
images/node_modules/ansi-styles/readme.md
0 → 100644
1 | +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) | |
2 | + | |
3 | +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal | |
4 | + | |
5 | +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. | |
6 | + | |
7 | +![](screenshot.png) | |
8 | + | |
9 | + | |
10 | +## Install | |
11 | + | |
12 | +``` | |
13 | +$ npm install --save ansi-styles | |
14 | +``` | |
15 | + | |
16 | + | |
17 | +## Usage | |
18 | + | |
19 | +```js | |
20 | +var ansi = require('ansi-styles'); | |
21 | + | |
22 | +console.log(ansi.green.open + 'Hello world!' + ansi.green.close); | |
23 | +``` | |
24 | + | |
25 | + | |
26 | +## API | |
27 | + | |
28 | +Each style has an `open` and `close` property. | |
29 | + | |
30 | + | |
31 | +## Styles | |
32 | + | |
33 | +### Modifiers | |
34 | + | |
35 | +- `reset` | |
36 | +- `bold` | |
37 | +- `dim` | |
38 | +- `italic` *(not widely supported)* | |
39 | +- `underline` | |
40 | +- `inverse` | |
41 | +- `hidden` | |
42 | +- `strikethrough` *(not widely supported)* | |
43 | + | |
44 | +### Colors | |
45 | + | |
46 | +- `black` | |
47 | +- `red` | |
48 | +- `green` | |
49 | +- `yellow` | |
50 | +- `blue` | |
51 | +- `magenta` | |
52 | +- `cyan` | |
53 | +- `white` | |
54 | +- `gray` | |
55 | + | |
56 | +### Background colors | |
57 | + | |
58 | +- `bgBlack` | |
59 | +- `bgRed` | |
60 | +- `bgGreen` | |
61 | +- `bgYellow` | |
62 | +- `bgBlue` | |
63 | +- `bgMagenta` | |
64 | +- `bgCyan` | |
65 | +- `bgWhite` | |
66 | + | |
67 | + | |
68 | +## Advanced usage | |
69 | + | |
70 | +By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. | |
71 | + | |
72 | +- `ansi.modifiers` | |
73 | +- `ansi.colors` | |
74 | +- `ansi.bgColors` | |
75 | + | |
76 | + | |
77 | +###### Example | |
78 | + | |
79 | +```js | |
80 | +console.log(ansi.colors.green.open); | |
81 | +``` | |
82 | + | |
83 | + | |
84 | +## License | |
85 | + | |
86 | +MIT © [Sindre Sorhus](http://sindresorhus.com) | ... | ... |
images/node_modules/archy/.travis.yml
0 → 100644
images/node_modules/archy/LICENSE
0 → 100644
1 | +This software is released under the MIT license: | |
2 | + | |
3 | +Permission is hereby granted, free of charge, to any person obtaining a copy of | |
4 | +this software and associated documentation files (the "Software"), to deal in | |
5 | +the Software without restriction, including without limitation the rights to | |
6 | +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | |
7 | +the Software, and to permit persons to whom the Software is furnished to do so, | |
8 | +subject to the following conditions: | |
9 | + | |
10 | +The above copyright notice and this permission notice shall be included in all | |
11 | +copies or substantial portions of the Software. | |
12 | + | |
13 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
14 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | |
15 | +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | |
16 | +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | |
17 | +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
18 | +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ... | ... |
images/node_modules/archy/examples/beep.js
0 → 100644
1 | +var archy = require('../'); | |
2 | +var s = archy({ | |
3 | + label : 'beep', | |
4 | + nodes : [ | |
5 | + 'ity', | |
6 | + { | |
7 | + label : 'boop', | |
8 | + nodes : [ | |
9 | + { | |
10 | + label : 'o_O', | |
11 | + nodes : [ | |
12 | + { | |
13 | + label : 'oh', | |
14 | + nodes : [ 'hello', 'puny' ] | |
15 | + }, | |
16 | + 'human' | |
17 | + ] | |
18 | + }, | |
19 | + 'party\ntime!' | |
20 | + ] | |
21 | + } | |
22 | + ] | |
23 | +}); | |
24 | +console.log(s); | ... | ... |
images/node_modules/archy/examples/multi_line.js
0 → 100644
1 | +var archy = require('../'); | |
2 | + | |
3 | +var s = archy({ | |
4 | + label : 'beep\none\ntwo', | |
5 | + nodes : [ | |
6 | + 'ity', | |
7 | + { | |
8 | + label : 'boop', | |
9 | + nodes : [ | |
10 | + { | |
11 | + label : 'o_O\nwheee', | |
12 | + nodes : [ | |
13 | + { | |
14 | + label : 'oh', | |
15 | + nodes : [ 'hello', 'puny\nmeat' ] | |
16 | + }, | |
17 | + 'creature' | |
18 | + ] | |
19 | + }, | |
20 | + 'party\ntime!' | |
21 | + ] | |
22 | + } | |
23 | + ] | |
24 | +}); | |
25 | +console.log(s); | ... | ... |
images/node_modules/archy/index.js
0 → 100644
1 | +module.exports = function archy (obj, prefix, opts) { | |
2 | + if (prefix === undefined) prefix = ''; | |
3 | + if (!opts) opts = {}; | |
4 | + var chr = function (s) { | |
5 | + var chars = { | |
6 | + '│' : '|', | |
7 | + '└' : '`', | |
8 | + '├' : '+', | |
9 | + '─' : '-', | |
10 | + '┬' : '-' | |
11 | + }; | |
12 | + return opts.unicode === false ? chars[s] : s; | |
13 | + }; | |
14 | + | |
15 | + if (typeof obj === 'string') obj = { label : obj }; | |
16 | + | |
17 | + var nodes = obj.nodes || []; | |
18 | + var lines = (obj.label || '').split('\n'); | |
19 | + var splitter = '\n' + prefix + (nodes.length ? chr('│') : ' ') + ' '; | |
20 | + | |
21 | + return prefix | |
22 | + + lines.join(splitter) + '\n' | |
23 | + + nodes.map(function (node, ix) { | |
24 | + var last = ix === nodes.length - 1; | |
25 | + var more = node.nodes && node.nodes.length; | |
26 | + var prefix_ = prefix + (last ? ' ' : chr('│')) + ' '; | |
27 | + | |
28 | + return prefix | |
29 | + + (last ? chr('└') : chr('├')) + chr('─') | |
30 | + + (more ? chr('┬') : chr('─')) + ' ' | |
31 | + + archy(node, prefix_, opts).slice(prefix.length + 2) | |
32 | + ; | |
33 | + }).join('') | |
34 | + ; | |
35 | +}; | ... | ... |
images/node_modules/archy/package.json
0 → 100644
1 | +{ | |
2 | + "_args": [ | |
3 | + [ | |
4 | + "archy@^1.0.0", | |
5 | + "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/gulp" | |
6 | + ] | |
7 | + ], | |
8 | + "_from": "archy@>=1.0.0 <2.0.0", | |
9 | + "_id": "archy@1.0.0", | |
10 | + "_inCache": true, | |
11 | + "_installable": true, | |
12 | + "_location": "/archy", | |
13 | + "_npmUser": { | |
14 | + "email": "mail@substack.net", | |
15 | + "name": "substack" | |
16 | + }, | |
17 | + "_npmVersion": "1.4.25", | |
18 | + "_phantomChildren": {}, | |
19 | + "_requested": { | |
20 | + "name": "archy", | |
21 | + "raw": "archy@^1.0.0", | |
22 | + "rawSpec": "^1.0.0", | |
23 | + "scope": null, | |
24 | + "spec": ">=1.0.0 <2.0.0", | |
25 | + "type": "range" | |
26 | + }, | |
27 | + "_requiredBy": [ | |
28 | + "/gulp" | |
29 | + ], | |
30 | + "_resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", | |
31 | + "_shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40", | |
32 | + "_shrinkwrap": null, | |
33 | + "_spec": "archy@^1.0.0", | |
34 | + "_where": "/Users/sam/Documents/dili_git_project/static-pnr/images/2.3.0/node_modules/gulp", | |
35 | + "author": { | |
36 | + "email": "mail@substack.net", | |
37 | + "name": "James Halliday", | |
38 | + "url": "http://substack.net" | |
39 | + }, | |
40 | + "bugs": { | |
41 | + "url": "https://github.com/substack/node-archy/issues" | |
42 | + }, | |
43 | + "dependencies": {}, | |
44 | + "description": "render nested hierarchies `npm ls` style with unicode pipes", | |
45 | + "devDependencies": { | |
46 | + "tap": "~0.3.3", | |
47 | + "tape": "~0.1.1" | |
48 | + }, | |
49 | + "directories": {}, | |
50 | + "dist": { | |
51 | + "shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40", | |
52 | + "tarball": "http://registry.npmjs.org/archy/-/archy-1.0.0.tgz" | |
53 | + }, | |
54 | + "gitHead": "30223c16191e877bf027b15b12daf077b9b55b84", | |
55 | + "homepage": "https://github.com/substack/node-archy", | |
56 | + "keywords": [ | |
57 | + "hierarchy", | |
58 | + "npm ls", | |
59 | + "pretty", | |
60 | + "print", | |
61 | + "unicode" | |
62 | + ], | |
63 | + "license": "MIT", | |
64 | + "main": "index.js", | |
65 | + "maintainers": [ | |
66 | + { | |
67 | + "name": "substack", | |
68 | + "email": "mail@substack.net" | |
69 | + } | |
70 | + ], | |
71 | + "name": "archy", | |
72 | + "optionalDependencies": {}, | |
73 | + "readme": "ERROR: No README data found!", | |
74 | + "repository": { | |
75 | + "type": "git", | |
76 | + "url": "git+ssh://git@github.com/substack/node-archy.git" | |
77 | + }, | |
78 | + "scripts": { | |
79 | + "test": "tap test" | |
80 | + }, | |
81 | + "testling": { | |
82 | + "browsers": { | |
83 | + "chrome": [ | |
84 | + "20.0" | |
85 | + ], | |
86 | + "firefox": [ | |
87 | + "10.0", | |
88 | + "15.0" | |
89 | + ], | |
90 | + "iexplore": [ | |
91 | + "6.0", | |
92 | + "7.0", | |
93 | + "8.0", | |
94 | + "9.0" | |
95 | + ], | |
96 | + "opera": [ | |
97 | + "12.0" | |
98 | + ], | |
99 | + "safari": [ | |
100 | + "5.1" | |
101 | + ] | |
102 | + }, | |
103 | + "files": "test/*.js" | |
104 | + }, | |
105 | + "version": "1.0.0" | |
106 | +} | ... | ... |
images/node_modules/archy/readme.markdown
0 → 100644
1 | +# archy | |
2 | + | |
3 | +Render nested hierarchies `npm ls` style with unicode pipes. | |
4 | + | |
5 | +[![browser support](http://ci.testling.com/substack/node-archy.png)](http://ci.testling.com/substack/node-archy) | |
6 | + | |
7 | +[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy) | |
8 | + | |
9 | +# example | |
10 | + | |
11 | +``` js | |
12 | +var archy = require('archy'); | |
13 | +var s = archy({ | |
14 | + label : 'beep', | |
15 | + nodes : [ | |
16 | + 'ity', | |
17 | + { | |
18 | + label : 'boop', | |
19 | + nodes : [ | |
20 | + { | |
21 | + label : 'o_O', | |
22 | + nodes : [ | |
23 | + { | |
24 | + label : 'oh', | |
25 | + nodes : [ 'hello', 'puny' ] | |
26 | + }, | |
27 | + 'human' | |
28 | + ] | |
29 | + }, | |
30 | + 'party\ntime!' | |
31 | + ] | |
32 | + } | |
33 | + ] | |
34 | +}); | |
35 | +console.log(s); | |
36 | +``` | |
37 | + | |
38 | +output | |
39 | + | |
40 | +``` | |
41 | +beep | |
42 | +├── ity | |
43 | +└─┬ boop | |
44 | + ├─┬ o_O | |
45 | + │ ├─┬ oh | |
46 | + │ │ ├── hello | |
47 | + │ │ └── puny | |
48 | + │ └── human | |
49 | + └── party | |
50 | + time! | |
51 | +``` | |
52 | + | |
53 | +# methods | |
54 | + | |
55 | +var archy = require('archy') | |
56 | + | |
57 | +## archy(obj, prefix='', opts={}) | |
58 | + | |
59 | +Return a string representation of `obj` with unicode pipe characters like how | |
60 | +`npm ls` looks. | |
61 | + | |
62 | +`obj` should be a tree of nested objects with `'label'` and `'nodes'` fields. | |
63 | +`'label'` is a string of text to display at a node level and `'nodes'` is an | |
64 | +array of the descendents of the current node. | |
65 | + | |
66 | +If a node is a string, that string will be used as the `'label'` and an empty | |
67 | +array of `'nodes'` will be used. | |
68 | + | |
69 | +`prefix` gets prepended to all the lines and is used by the algorithm to | |
70 | +recursively update. | |
71 | + | |
72 | +If `'label'` has newlines they will be indented at the present indentation level | |
73 | +with the current prefix. | |
74 | + | |
75 | +To disable unicode results in favor of all-ansi output set `opts.unicode` to | |
76 | +`false`. | |
77 | + | |
78 | +# install | |
79 | + | |
80 | +With [npm](http://npmjs.org) do: | |
81 | + | |
82 | +``` | |
83 | +npm install archy | |
84 | +``` | |
85 | + | |
86 | +# license | |
87 | + | |
88 | +MIT | ... | ... |
images/node_modules/archy/test/beep.js
0 → 100644
1 | +var test = require('tape'); | |
2 | +var archy = require('../'); | |
3 | + | |
4 | +test('beep', function (t) { | |
5 | + var s = archy({ | |
6 | + label : 'beep', | |
7 | + nodes : [ | |
8 | + 'ity', | |
9 | + { | |
10 | + label : 'boop', | |
11 | + nodes : [ | |
12 | + { | |
13 | + label : 'o_O', | |
14 | + nodes : [ | |
15 | + { | |
16 | + label : 'oh', | |
17 | + nodes : [ 'hello', 'puny' ] | |
18 | + }, | |
19 | + 'human' | |
20 | + ] | |
21 | + }, | |
22 | + 'party!' | |
23 | + ] | |
24 | + } | |
25 | + ] | |
26 | + }); | |
27 | + t.equal(s, [ | |
28 | + 'beep', | |
29 | + '├── ity', | |
30 | + '└─┬ boop', | |
31 | + ' ├─┬ o_O', | |
32 | + ' │ ├─┬ oh', | |
33 | + ' │ │ ├── hello', | |
34 | + ' │ │ └── puny', | |
35 | + ' │ └── human', | |
36 | + ' └── party!', | |
37 | + '' | |
38 | + ].join('\n')); | |
39 | + t.end(); | |
40 | +}); | ... | ... |
images/node_modules/archy/test/multi_line.js
0 → 100644
1 | +var test = require('tape'); | |
2 | +var archy = require('../'); | |
3 | + | |
4 | +test('multi-line', function (t) { | |
5 | + var s = archy({ | |
6 | + label : 'beep\none\ntwo', | |
7 | + nodes : [ | |
8 | + 'ity', | |
9 | + { | |
10 | + label : 'boop', | |
11 | + nodes : [ | |
12 | + { | |
13 | + label : 'o_O\nwheee', | |
14 | + nodes : [ | |
15 | + { | |
16 | + label : 'oh', | |
17 | + nodes : [ 'hello', 'puny\nmeat' ] | |
18 | + }, | |
19 | + 'creature' | |
20 | + ] | |
21 | + }, | |
22 | + 'party\ntime!' | |
23 | + ] | |
24 | + } | |
25 | + ] | |
26 | + }); | |
27 | + t.equal(s, [ | |
28 | + 'beep', | |
29 | + '│ one', | |
30 | + '│ two', | |
31 | + '├── ity', | |
32 | + '└─┬ boop', | |
33 | + ' ├─┬ o_O', | |
34 | + ' │ │ wheee', | |
35 | + ' │ ├─┬ oh', | |
36 | + ' │ │ ├── hello', | |
37 | + ' │ │ └── puny', | |
38 | + ' │ │ meat', | |
39 | + ' │ └── creature', | |
40 | + ' └── party', | |
41 | + ' time!', | |
42 | + '' | |
43 | + ].join('\n')); | |
44 | + t.end(); | |
45 | +}); | ... | ... |
images/node_modules/archy/test/non_unicode.js
0 → 100644
1 | +var test = require('tape'); | |
2 | +var archy = require('../'); | |
3 | + | |
4 | +test('beep', function (t) { | |
5 | + var s = archy({ | |
6 | + label : 'beep', | |
7 | + nodes : [ | |
8 | + 'ity', | |
9 | + { | |
10 | + label : 'boop', | |
11 | + nodes : [ | |
12 | + { | |
13 | + label : 'o_O', | |
14 | + nodes : [ | |
15 | + { | |
16 | + label : 'oh', | |
17 | + nodes : [ 'hello', 'puny' ] | |
18 | + }, | |
19 | + 'human' | |
20 | + ] | |
21 | + }, | |
22 | + 'party!' | |
23 | + ] | |
24 | + } | |
25 | + ] | |
26 | + }, '', { unicode : false }); | |
27 | + t.equal(s, [ | |
28 | + 'beep', | |
29 | + '+-- ity', | |
30 | + '`-- boop', | |
31 | + ' +-- o_O', | |
32 | + ' | +-- oh', | |
33 | + ' | | +-- hello', | |
34 | + ' | | `-- puny', | |
35 | + ' | `-- human', | |
36 | + ' `-- party!', | |
37 | + '' | |
38 | + ].join('\n')); | |
39 | + t.end(); | |
40 | +}); | ... | ... |
images/node_modules/argparse/HISTORY.md
0 → 100644
1 | +0.1.16 / 2013-12-01 | |
2 | +------------------- | |
3 | + | |
4 | +* Maintenance release. Updated dependencies and docs. | |
5 | + | |
6 | + | |
7 | +0.1.15 / 2013-05-13 | |
8 | +------------------- | |
9 | + | |
10 | +* Fixed #55, @trebor89 | |
11 | + | |
12 | + | |
13 | +0.1.14 / 2013-05-12 | |
14 | +------------------- | |
15 | + | |
16 | +* Fixed #62, @maxtaco | |
17 | + | |
18 | + | |
19 | +0.1.13 / 2013-04-08 | |
20 | +------------------- | |
21 | + | |
22 | +* Added `.npmignore` to reduce package size | |
23 | + | |
24 | + | |
25 | +0.1.12 / 2013-02-10 | |
26 | +------------------- | |
27 | + | |
28 | +* Fixed conflictHandler (#46), @hpaulj | |
29 | + | |
30 | + | |
31 | +0.1.11 / 2013-02-07 | |
32 | +------------------- | |
33 | + | |
34 | +* Multiple bugfixes, @hpaulj | |
35 | +* Added 70+ tests (ported from python), @hpaulj | |
36 | +* Added conflictHandler, @applepicke | |
37 | +* Added fromfilePrefixChar, @hpaulj | |
38 | + | |
39 | + | |
40 | +0.1.10 / 2012-12-30 | |
41 | +------------------- | |
42 | + | |
43 | +* Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion) | |
44 | + support, thanks to @hpaulj | |
45 | +* Fixed options check for `storeConst` & `appendConst` actions, thanks to @hpaulj | |
46 | + | |
47 | + | |
48 | +0.1.9 / 2012-12-27 | |
49 | +------------------ | |
50 | + | |
51 | +* Fixed option dest interferens with other options (issue #23), thanks to @hpaulj | |
52 | +* Fixed default value behavior with `*` positionals, thanks to @hpaulj | |
53 | +* Improve `getDefault()` behavior, thanks to @hpaulj | |
54 | +* Imrove negative argument parsing, thanks to @hpaulj | |
55 | + | |
56 | + | |
57 | +0.1.8 / 2012-12-01 | |
58 | +------------------ | |
59 | + | |
60 | +* Fixed parser parents (issue #19), thanks to @hpaulj | |
61 | +* Fixed negative argument parse (issue #20), thanks to @hpaulj | |
62 | + | |
63 | + | |
64 | +0.1.7 / 2012-10-14 | |
65 | +------------------ | |
66 | + | |
67 | +* Fixed 'choices' argument parse (issue #16) | |
68 | +* Fixed stderr output (issue #15) | |
69 | + | |
70 | + | |
71 | +0.1.6 / 2012-09-09 | |
72 | +------------------ | |
73 | + | |
74 | +* Fixed check for conflict of options (thanks to @tomxtobin) | |
75 | + | |
76 | + | |
77 | +0.1.5 / 2012-09-03 | |
78 | +------------------ | |
79 | + | |
80 | +* Fix parser #setDefaults method (thanks to @tomxtobin) | |
81 | + | |
82 | + | |
83 | +0.1.4 / 2012-07-30 | |
84 | +------------------ | |
85 | + | |
86 | +* Fixed pseudo-argument support (thanks to @CGamesPlay) | |
87 | +* Fixed addHelp default (should be true), if not set (thanks to @benblank) | |
88 | + | |
89 | + | |
90 | +0.1.3 / 2012-06-27 | |
91 | +------------------ | |
92 | + | |
93 | +* Fixed formatter api name: Formatter -> HelpFormatter | |
94 | + | |
95 | + | |
96 | +0.1.2 / 2012-05-29 | |
97 | +------------------ | |
98 | + | |
99 | +* Added basic tests | |
100 | +* Removed excess whitespace in help | |
101 | +* Fixed error reporting, when parcer with subcommands | |
102 | + called with empty arguments | |
103 | + | |
104 | + | |
105 | +0.1.1 / 2012-05-23 | |
106 | +------------------ | |
107 | + | |
108 | +* Fixed line wrapping in help formatter | |
109 | +* Added better error reporting on invalid arguments | |
110 | + | |
111 | + | |
112 | +0.1.0 / 2012-05-16 | |
113 | +------------------ | |
114 | + | |
115 | +* First release. | ... | ... |
images/node_modules/argparse/LICENSE
0 → 100644
1 | +(The MIT License) | |
2 | + | |
3 | +Copyright (C) 2012 by Vitaly Puzrin | |
4 | + | |
5 | +Permission is hereby granted, free of charge, to any person obtaining a copy | |
6 | +of this software and associated documentation files (the "Software"), to deal | |
7 | +in the Software without restriction, including without limitation the rights | |
8 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
9 | +copies of the Software, and to permit persons to whom the Software is | |
10 | +furnished to do so, subject to the following conditions: | |
11 | + | |
12 | +The above copyright notice and this permission notice shall be included in | |
13 | +all copies or substantial portions of the Software. | |
14 | + | |
15 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
16 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
17 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
18 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
19 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
20 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
21 | +THE SOFTWARE. | ... | ... |
images/node_modules/argparse/README.md
0 → 100644
1 | +argparse | |
2 | +======== | |
3 | + | |
4 | +[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse) | |
5 | + | |
6 | +CLI arguments parser for node.js. Javascript port of python's | |
7 | +[argparse](http://docs.python.org/dev/library/argparse.html) module | |
8 | +(original version 3.2). That's a full port, except some very rare options, | |
9 | +recorded in issue tracker. | |
10 | + | |
11 | +**NB.** Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/). | |
12 | + | |
13 | + | |
14 | +Example | |
15 | +======= | |
16 | + | |
17 | +test.js file: | |
18 | + | |
19 | +```javascript | |
20 | +#!/usr/bin/env node | |
21 | +'use strict'; | |
22 | + | |
23 | +var ArgumentParser = require('../lib/argparse').ArgumentParser; | |
24 | +var parser = new ArgumentParser({ | |
25 | + version: '0.0.1', | |
26 | + addHelp:true, | |
27 | + description: 'Argparse example' | |
28 | +}); | |
29 | +parser.addArgument( | |
30 | + [ '-f', '--foo' ], | |
31 | + { | |
32 | + help: 'foo bar' | |
33 | + } | |
34 | +); | |
35 | +parser.addArgument( | |
36 | + [ '-b', '--bar' ], | |
37 | + { | |
38 | + help: 'bar foo' | |
39 | + } | |
40 | +); | |
41 | +var args = parser.parseArgs(); | |
42 | +console.dir(args); | |
43 | +``` | |
44 | + | |
45 | +Display help: | |
46 | + | |
47 | +``` | |
48 | +$ ./test.js -h | |
49 | +usage: example.js [-h] [-v] [-f FOO] [-b BAR] | |
50 | + | |
51 | +Argparse example | |
52 | + | |
53 | +Optional arguments: | |
54 | + -h, --help Show this help message and exit. | |
55 | + -v, --version Show program's version number and exit. | |
56 | + -f FOO, --foo FOO foo bar | |
57 | + -b BAR, --bar BAR bar foo | |
58 | +``` | |
59 | + | |
60 | +Parse arguments: | |
61 | + | |
62 | +``` | |
63 | +$ ./test.js -f=3 --bar=4 | |
64 | +{ foo: '3', bar: '4' } | |
65 | +``` | |
66 | + | |
67 | +More [examples](https://github.com/nodeca/argparse/tree/master/examples). | |
68 | + | |
69 | + | |
70 | +ArgumentParser objects | |
71 | +====================== | |
72 | + | |
73 | +``` | |
74 | +new ArgumentParser({paramters hash}); | |
75 | +``` | |
76 | + | |
77 | +Creates a new ArgumentParser object. | |
78 | + | |
79 | +**Supported params:** | |
80 | + | |
81 | +- ```description``` - Text to display before the argument help. | |
82 | +- ```epilog``` - Text to display after the argument help. | |
83 | +- ```addHelp``` - Add a -h/–help option to the parser. (default: true) | |
84 | +- ```argumentDefault``` - Set the global default value for arguments. (default: null) | |
85 | +- ```parents``` - A list of ArgumentParser objects whose arguments should also be included. | |
86 | +- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘) | |
87 | +- ```formatterClass``` - A class for customizing the help output. | |
88 | +- ```prog``` - The name of the program (default: `path.basename(process.argv[1])`) | |
89 | +- ```usage``` - The string describing the program usage (default: generated) | |
90 | +- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals. | |
91 | + | |
92 | +**Not supportied yet** | |
93 | + | |
94 | +- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read. | |
95 | + | |
96 | + | |
97 | +Details in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects) | |
98 | + | |
99 | + | |
100 | +addArgument() method | |
101 | +==================== | |
102 | + | |
103 | +``` | |
104 | +ArgumentParser.addArgument([names or flags], {options}) | |
105 | +``` | |
106 | + | |
107 | +Defines how a single command-line argument should be parsed. | |
108 | + | |
109 | +- ```name or flags``` - Either a name or a list of option strings, e.g. foo or -f, --foo. | |
110 | + | |
111 | +Options: | |
112 | + | |
113 | +- ```action``` - The basic type of action to be taken when this argument is encountered at the command line. | |
114 | +- ```nargs```- The number of command-line arguments that should be consumed. | |
115 | +- ```constant``` - A constant value required by some action and nargs selections. | |
116 | +- ```defaultValue``` - The value produced if the argument is absent from the command line. | |
117 | +- ```type``` - The type to which the command-line argument should be converted. | |
118 | +- ```choices``` - A container of the allowable values for the argument. | |
119 | +- ```required``` - Whether or not the command-line option may be omitted (optionals only). | |
120 | +- ```help``` - A brief description of what the argument does. | |
121 | +- ```metavar``` - A name for the argument in usage messages. | |
122 | +- ```dest``` - The name of the attribute to be added to the object returned by parseArgs(). | |
123 | + | |
124 | +Details in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method) | |
125 | + | |
126 | + | |
127 | +Action (some details) | |
128 | +================ | |
129 | + | |
130 | +ArgumentParser objects associate command-line arguments with actions. | |
131 | +These actions can do just about anything with the command-line arguments associated | |
132 | +with them, though most actions simply add an attribute to the object returned by | |
133 | +parseArgs(). The action keyword argument specifies how the command-line arguments | |
134 | +should be handled. The supported actions are: | |
135 | + | |
136 | +- ```store``` - Just stores the argument’s value. This is the default action. | |
137 | +- ```storeConst``` - Stores value, specified by the const keyword argument. | |
138 | + (Note that the const keyword argument defaults to the rather unhelpful None.) | |
139 | + The 'storeConst' action is most commonly used with optional arguments, that | |
140 | + specify some sort of flag. | |
141 | +- ```storeTrue``` and ```storeFalse``` - Stores values True and False | |
142 | + respectively. These are special cases of 'storeConst'. | |
143 | +- ```append``` - Stores a list, and appends each argument value to the list. | |
144 | + This is useful to allow an option to be specified multiple times. | |
145 | +- ```appendConst``` - Stores a list, and appends value, specified by the | |
146 | + const keyword argument to the list. (Note, that the const keyword argument defaults | |
147 | + is None.) The 'appendConst' action is typically used when multiple arguments need | |
148 | + to store constants to the same list. | |
149 | +- ```count``` - Counts the number of times a keyword argument occurs. For example, | |
150 | + used for increasing verbosity levels. | |
151 | +- ```help``` - Prints a complete help message for all the options in the current | |
152 | + parser and then exits. By default a help action is automatically added to the parser. | |
153 | + See ArgumentParser for details of how the output is created. | |
154 | +- ```version``` - Prints version information and exit. Expects a `version=` | |
155 | + keyword argument in the addArgument() call. | |
156 | + | |
157 | +Details in [original action guide](http://docs.python.org/dev/library/argparse.html#action) | |
158 | + | |
159 | + | |
160 | +Sub-commands | |
161 | +============ | |
162 | + | |
163 | +ArgumentParser.addSubparsers() | |
164 | + | |
165 | +Many programs split their functionality into a number of sub-commands, for | |
166 | +example, the svn program can invoke sub-commands like `svn checkout`, `svn update`, | |
167 | +and `svn commit`. Splitting up functionality this way can be a particularly good | |
168 | +idea when a program performs several different functions which require different | |
169 | +kinds of command-line arguments. `ArgumentParser` supports creation of such | |
170 | +sub-commands with `addSubparsers()` method. The `addSubparsers()` method is | |
171 | +normally called with no arguments and returns an special action object. | |
172 | +This object has a single method `addParser()`, which takes a command name and | |
173 | +any `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object | |
174 | +that can be modified as usual. | |
175 | + | |
176 | +Example: | |
177 | + | |
178 | +sub_commands.js | |
179 | +```javascript | |
180 | +#!/usr/bin/env node | |
181 | +'use strict'; | |
182 | + | |
183 | +var ArgumentParser = require('../lib/argparse').ArgumentParser; | |
184 | +var parser = new ArgumentParser({ | |
185 | + version: '0.0.1', | |
186 | + addHelp:true, | |
187 | + description: 'Argparse examples: sub-commands', | |
188 | +}); | |
189 | + | |
190 | +var subparsers = parser.addSubparsers({ | |
191 | + title:'subcommands', | |
192 | + dest:"subcommand_name" | |
193 | +}); | |
194 | + | |
195 | +var bar = subparsers.addParser('c1', {addHelp:true}); | |
196 | +bar.addArgument( | |
197 | + [ '-f', '--foo' ], | |
198 | + { | |
199 | + action: 'store', | |
200 | + help: 'foo3 bar3' | |
201 | + } | |
202 | +); | |
203 | +var bar = subparsers.addParser( | |
204 | + 'c2', | |
205 | + {aliases:['co'], addHelp:true} | |
206 | +); | |
207 | +bar.addArgument( | |
208 | + [ '-b', '--bar' ], | |
209 | + { | |
210 | + action: 'store', | |
211 | + type: 'int', | |
212 | + help: 'foo3 bar3' | |
213 | + } | |
214 | +); | |
215 | + | |
216 | +var args = parser.parseArgs(); | |
217 | +console.dir(args); | |
218 | + | |
219 | +``` | |
220 | + | |
221 | +Details in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands) | |
222 | + | |
223 | + | |
224 | +Contributors | |
225 | +============ | |
226 | + | |
227 | +- [Eugene Shkuropat](https://github.com/shkuropat) | |
228 | +- [Paul Jacobson](https://github.com/hpaulj) | |
229 | + | |
230 | +[others](https://github.com/nodeca/argparse/graphs/contributors) | |
231 | + | |
232 | +License | |
233 | +======= | |
234 | + | |
235 | +Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin). | |
236 | +Released under the MIT license. See | |
237 | +[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details. | |
238 | + | |
239 | + | ... | ... |