Showing
7 changed files
with
51 additions
and
214 deletions
1 | {{> layout/page-footer}} | 1 | {{> layout/page-footer}} |
2 | - <script src="http://localhost:8000/static/js/sea.js?nowrap"></script> | ||
3 | - <script> | ||
4 | - seajs.config({ | ||
5 | - base: 'http://localhost:8000/' | ||
6 | - }); | ||
7 | - </script> | 2 | + {{#if rlsEnv}} |
3 | + <script src="http://cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script> | ||
4 | + <script src="http://cdn.yoho.cn/yohobuy/{{version}}/index.js"></script> | ||
5 | + {{/if}} | ||
6 | + {{#if preEnv}} | ||
7 | + <script src="http://cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script> | ||
8 | + <script src="http://cdn.yoho.cn/yohobuy/{{version}}/index.js"></script> | ||
9 | + {{/if}} | ||
10 | + {{#if testEnv}} | ||
11 | + <script src="http://static.buy.test.yoho.cn/dist/yohobuy/{{version}}/lib.js"></script> | ||
12 | + <script src="http://static.buy.test.yoho.cn/dist/yohobuy/{{version}}/index-debug.js"></script> | ||
13 | + {{/if}} | ||
14 | + {{#if devEnv}} | ||
15 | + <script src="http://localhost:8000/static/js/sea.js?nowrap"></script> | ||
16 | + <script> | ||
17 | + seajs.config({ | ||
18 | + base: 'http://localhost:8000/' | ||
19 | + }); | ||
20 | + </script> | ||
21 | + {{/if}} | ||
8 | {{> layout/use}} | 22 | {{> layout/use}} |
9 | </body> | 23 | </body> |
10 | </html> | 24 | </html> |
@@ -9,10 +9,30 @@ | @@ -9,10 +9,30 @@ | ||
9 | <meta name="keywords" content="{{keywords}}"> | 9 | <meta name="keywords" content="{{keywords}}"> |
10 | <meta name="description" content="{{description}}"> | 10 | <meta name="description" content="{{description}}"> |
11 | <title>{{title}}</title> | 11 | <title>{{title}}</title> |
12 | - <!-- [if (gte IE 6)&(lte IE 8)> | ||
13 | - <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> | ||
14 | - <![endif]--> | ||
15 | - <link rel="stylesheet" href="http://webstatic.dev.yohobuy.com/css/index.css"> | 12 | + {{#if rlsEnv}} |
13 | + <!-- [if (gte IE 6)&(lte IE 8)> | ||
14 | + <script src="http://cdn.yoho.cn/yohobuy/respond.min.js"></script> | ||
15 | + <![endif]--> | ||
16 | + <link rel="stylesheet" href="http://cdn.yoho.cn/yohobuy/{{version}}/index.css"> | ||
17 | + {{/if}} | ||
18 | + {{#if preEnv}} | ||
19 | + <!-- [if (gte IE 6)&(lte IE 8)> | ||
20 | + <script src="http://cdn.yoho.cn/yohobuy/respond.min.js"></script> | ||
21 | + <![endif]--> | ||
22 | + <link rel="stylesheet" href="http://cdn.yoho.cn/yohobuy/{{version}}/index.css"> | ||
23 | + {{/if}} | ||
24 | + {{#if testEnv}} | ||
25 | + <!-- [if (gte IE 6)&(lte IE 8)> | ||
26 | + <script src="http://static.buy.test.yoho.cn/dist/yohobuy/respond.min.js"></script> | ||
27 | + <![endif]--> | ||
28 | + <link rel="stylesheet" href="http://static.buy.test.yoho.cn/dist/yohobuy/{{version}}/index.css"> | ||
29 | + {{/if}} | ||
30 | + {{#if devEnv}} | ||
31 | + <!-- [if (gte IE 6)&(lte IE 8)> | ||
32 | + <script src="http://webstatic.dev.yohobuy.com/plugin/page-use/respond.min.js"></script> | ||
33 | + <![endif]--> | ||
34 | + <link rel="stylesheet" href="http://webstatic.dev.yohobuy.com/css/index.css"> | ||
35 | + {{/if}} | ||
16 | </head> | 36 | </head> |
17 | <body> | 37 | <body> |
18 | {{> layout/page-header}} | 38 | {{> layout/page-header}} |
web-static/gulpfile.js
deleted
100644 → 0
1 | -/** | ||
2 | - * GULP-FILE | ||
3 | - * author: xuqi(qi.xu@yoho.cn) | ||
4 | - * date: 2015/9/30 | ||
5 | - */ | ||
6 | - | ||
7 | -var gulp = require('gulp'), | ||
8 | - compass = require('gulp-compass'), | ||
9 | - cp = require('child_process'); | ||
10 | - | ||
11 | -var fs = require('fs'), | ||
12 | - ftp = require('gulp-ftp'), | ||
13 | - gutil = require('gulp-util'), | ||
14 | - uglify = require('gulp-uglify'), | ||
15 | - Package = require('father').SpmPackage, | ||
16 | - transport = require('gulp-spm'), | ||
17 | - concat = require('gulp-concat'); | ||
18 | - | ||
19 | -var config = JSON.parse(fs.readFileSync('./package.json').toString()); | ||
20 | - | ||
21 | -var rootDist = 'dist/yohobuy/', | ||
22 | - ftpConfig = { | ||
23 | - host: '218.94.75.58', | ||
24 | - user: 'php', | ||
25 | - pass: 'yoho9646' | ||
26 | - }; | ||
27 | - | ||
28 | -var distDir = { | ||
29 | - js: rootDist + config.version, | ||
30 | - css: rootDist + config.version, | ||
31 | - img: rootDist + 'assets/img', | ||
32 | - font: rootDist + 'assets/font' | ||
33 | -}; | ||
34 | - | ||
35 | -gulp.task('default', ['compass', 'compass-watch', 'spm-doc']); | ||
36 | - | ||
37 | -// compass | ||
38 | -gulp.task('compass', function() { | ||
39 | - gulp.src('sass/**/*.scss') | ||
40 | - .pipe( | ||
41 | - compass({ | ||
42 | - config_file: 'config.rb', | ||
43 | - css: 'css', | ||
44 | - sass: 'sass' | ||
45 | - }) | ||
46 | - ).on('error', function(error) { | ||
47 | - console.log(error); | ||
48 | - this.emit('end'); | ||
49 | - }); | ||
50 | -}); | ||
51 | - | ||
52 | -// compass watch | ||
53 | -gulp.task('compass-watch', function() { | ||
54 | - gulp.watch('sass/**/*.scss', ['compass']); | ||
55 | -}); | ||
56 | - | ||
57 | -// start spm server | ||
58 | -gulp.task('spm-doc', function() { | ||
59 | - var sd = cp.exec('spm doc'); | ||
60 | - | ||
61 | - // sd.stdout.on('data', function(data) { | ||
62 | - // console.log(data); | ||
63 | - // }); | ||
64 | - | ||
65 | - sd.stderr.on('data', function(data) { | ||
66 | - console.log(data); | ||
67 | - }); | ||
68 | - | ||
69 | - sd.on('exit', function(code) { | ||
70 | - console.log('process spm doc exit with code ' + code); | ||
71 | - }); | ||
72 | -}); | ||
73 | - | ||
74 | -//生成发布目录,可用于上传测试机 | ||
75 | -gulp.task('ge', ['assets', 'compass-production', 'build']); | ||
76 | - | ||
77 | -//发布 | ||
78 | -gulp.task('dist', ['assets', 'compass-production', 'build'], function() { | ||
79 | - var ftpstream = ftp(ftpConfig); | ||
80 | - | ||
81 | - return gulp.src('dist/**/') | ||
82 | - .pipe(ftpstream) | ||
83 | - .pipe(gutil.noop()); | ||
84 | -}); | ||
85 | - | ||
86 | -//font+img->dist/assets | ||
87 | -gulp.task('assets', function() { | ||
88 | - gulp.src('img/**') | ||
89 | - .pipe(gulp.dest(distDir.img)); | ||
90 | - gulp.src('font/*') | ||
91 | - .pipe(gulp.dest(distDir.font)); | ||
92 | -}); | ||
93 | - | ||
94 | -//compass | ||
95 | -gulp.task('compass-production', ['assets'], function() { | ||
96 | - gulp.src('sass/index.scss') | ||
97 | - .pipe( | ||
98 | - compass({ | ||
99 | - css: distDir.css, | ||
100 | - sass: 'sass', | ||
101 | - image: distDir.img, | ||
102 | - font: distDir.font, | ||
103 | - http_path: '/', | ||
104 | - style: 'compressed', | ||
105 | - sourcemap: false | ||
106 | - }) | ||
107 | - ) | ||
108 | - .on('error', function(error) { | ||
109 | - console.log(error); | ||
110 | - this.emit('end'); | ||
111 | - }); | ||
112 | -}); | ||
113 | - | ||
114 | -//spm build | ||
115 | -gulp.task('build', ['libs', 'business']); | ||
116 | - | ||
117 | -//libs | ||
118 | -gulp.task('libs', ['pre-libs', 'concat-min-libs', 'clear-libs']); | ||
119 | - | ||
120 | -gulp.task('pre-libs', function() { | ||
121 | - var obj = { | ||
122 | - name: '', | ||
123 | - version: config.version, | ||
124 | - spm: config.spm | ||
125 | - }; | ||
126 | - var packages = [], | ||
127 | - libsjs = ''; | ||
128 | - | ||
129 | - var libCon, key, i; | ||
130 | - | ||
131 | - var pkg; | ||
132 | - | ||
133 | - obj.spm.main = 'libs.js'; | ||
134 | - obj.spm.buildArgs = '--idleading {{}} --include all'; | ||
135 | - | ||
136 | - libCon = JSON.stringify(obj); | ||
137 | - | ||
138 | - fs.renameSync('package.json', 'package.bak.json'); | ||
139 | - fs.writeFileSync('package.json', libCon); | ||
140 | - | ||
141 | - for (key in obj.spm.dependencies) { | ||
142 | - if (obj.spm.inside && obj.spm.inside[key]) { | ||
143 | - packages.push(obj.spm.inside[key]); | ||
144 | - } else { | ||
145 | - packages.push(key); | ||
146 | - } | ||
147 | - } | ||
148 | - | ||
149 | - for (i = 0; i < packages.length; i++) { | ||
150 | - libsjs += 'require("' + packages[i] + '");'; | ||
151 | - } | ||
152 | - | ||
153 | - fs.writeFileSync('libs.js', libsjs); //重写入口文件 | ||
154 | - | ||
155 | - pkg = new Package(__dirname); | ||
156 | - | ||
157 | - return gulp.src(pkg.main) | ||
158 | - .pipe(transport({ | ||
159 | - pkg: pkg | ||
160 | - })) | ||
161 | - .pipe(gulp.dest(distDir.js)); | ||
162 | -}); | ||
163 | - | ||
164 | -gulp.task('concat-min-libs', ['pre-libs'], function() { | ||
165 | - var path = distDir.js + '/libs.js'; | ||
166 | - var jsStr = fs.readFileSync(path).toString(); | ||
167 | - | ||
168 | - fs.writeFileSync(path, jsStr.substr(jsStr.indexOf('});') + 4)); | ||
169 | - | ||
170 | - return gulp.src(['plugin/sea.js', distDir.js + '/libs.js']) | ||
171 | - .pipe(concat('lib.js')) | ||
172 | - .pipe(uglify()) | ||
173 | - .pipe(gulp.dest(distDir.js)); | ||
174 | -}); | ||
175 | - | ||
176 | -gulp.task('clear-libs', ['concat-min-libs'], function() { | ||
177 | - fs.renameSync('package.bak.json', 'package.json'); | ||
178 | - fs.unlinkSync('./libs.js'); | ||
179 | - fs.unlinkSync(distDir.js + '/libs.js'); | ||
180 | -}); | ||
181 | - | ||
182 | -gulp.task('business', ['libs'], function() { | ||
183 | - var pkg = new Package(__dirname); | ||
184 | - | ||
185 | - return gulp.src(pkg.main) | ||
186 | - .pipe(transport({ | ||
187 | - pkg: pkg | ||
188 | - })) | ||
189 | - .pipe(concat('index-debug.js')) | ||
190 | - .pipe(gulp.dest(distDir.js)) | ||
191 | - .pipe(uglify()) | ||
192 | - .pipe(concat('index.js')) | ||
193 | - .pipe(gulp.dest(distDir.js)); | ||
194 | -}); |
@@ -28,7 +28,7 @@ var $cr = $('#country-code-hide'), | @@ -28,7 +28,7 @@ var $cr = $('#country-code-hide'), | ||
28 | hasPh = false, | 28 | hasPh = false, |
29 | hasCa = false; | 29 | hasCa = false; |
30 | 30 | ||
31 | -require('../../plugin/jquery.placeholder'); | 31 | +require('yoho.placeholder'); |
32 | 32 | ||
33 | /*function getSource(column, postition, event) { | 33 | /*function getSource(column, postition, event) { |
34 | try { | 34 | try { |
@@ -19,7 +19,7 @@ var $pwdIntensity = $('.pwd-intensity'), | @@ -19,7 +19,7 @@ var $pwdIntensity = $('.pwd-intensity'), | ||
19 | $pwdParent = $pwdIntensity.closest('.pwd-intensity-container'), | 19 | $pwdParent = $pwdIntensity.closest('.pwd-intensity-container'), |
20 | $pwdTip1 = $('#pwd-tip1'); | 20 | $pwdTip1 = $('#pwd-tip1'); |
21 | 21 | ||
22 | -require('../../plugin/jquery.placeholder'); | 22 | +require('yoho.placeholder'); |
23 | 23 | ||
24 | 24 | ||
25 | /* | 25 | /* |
1 | -/*! | ||
2 | - * HTML5 Placeholder jQuery Plugin v1.8.3 | ||
3 | - * @link http://mths.be/placeholder | ||
4 | - * @author Mathias Bynens <http://mathiasbynens.be/> | ||
5 | - */ | ||
6 | - | ||
7 | - var jQuery = require('yoho.jquery'); | ||
8 | -(function(f){var e='placeholder' in document.createElement('input'),a='placeholder' in document.createElement('textarea');if(e&&a){f.fn.placeholder=function(){return this};f.fn.placeholder.input=f.fn.placeholder.textarea=true}else{f.fn.placeholder=function(){return this.filter((e?'textarea':':input')+'[placeholder]').bind('focus.placeholder',b).bind('blur.placeholder',d).trigger('blur.placeholder').end()};f.fn.placeholder.input=e;f.fn.placeholder.textarea=a;f(function(){f('form').bind('submit.placeholder',function(){var g=f('.placeholder',this).each(b);setTimeout(function(){g.each(d)},10)})});f(window).bind('unload.placeholder',function(){f('.placeholder').val('')})}function c(h){var g={},i=/^jQuery\d+$/;f.each(h.attributes,function(k,j){if(j.specified&&!i.test(j.name)){g[j.name]=j.value}});return g}function b(){var g=f(this);if(g.val()===g.attr('placeholder')&&g.hasClass('placeholder')){if(g.data('placeholder-password')){g.hide().next().attr('id',g.removeAttr('id').data('placeholder-id')).show().focus()}else{g.val('').removeClass('placeholder')}}}function d(h){var l,k=f(this),g=k,j=this.id;if(k.val()===''){if(k.is(':password')){if(!k.data('placeholder-textinput')){try{l=k.clone().attr({type:'text'})}catch(i){l=f('<input>').attr(f.extend(c(this),{type:'text'}))}l.removeAttr('name').data('placeholder-password',true).data('placeholder-id',j).bind('focus.placeholder',b);k.data('placeholder-textinput',l).data('placeholder-id',j).before(l)}k=k.removeAttr('id').hide().prev().attr('id',j).show()}k.addClass('placeholder').val(k.attr('placeholder'))}else{k.removeClass('placeholder')}}}(jQuery)); |
web-static/plugin/page-use/respond.min.js
0 → 100644
1 | +/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl | ||
2 | + * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT | ||
3 | + * */ | ||
4 | + | ||
5 | +!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); |
-
Please register or login to post a comment