first commit

This commit is contained in:
编码猿
2024-09-27 00:57:27 +08:00
commit 18df0f5e4b
2548 changed files with 253280 additions and 0 deletions

1
vue-ydui/build/.pydio Normal file
View File

@@ -0,0 +1 @@
f0c4a175-8390-4837-a843-91855a101f26

View File

@@ -0,0 +1,43 @@
module.exports = {
module: {
loaders: [
{
test: /\.vue$/,
loader: 'vue',
exclude: /node_modules/
},
{
test: /\.js$/,
loader: 'babel',
exclude: /node_modules/
},
{
test: /\.less$/,
loader: 'style!css!less',
exclude: /node_modules/
},
{
test: /\.css$/,
loader: 'style!css',
exclude: /node_modules/
},
{
test: /\.json$/,
loader: 'json',
exclude: /node_modules/
},
{
test: /\.ttf/,
loader: 'file',
exclude: /node_modules/
}
]
},
vue: {
postcss: [
require('autoprefixer')({
browsers: ['Android >= 4', 'Explorer >= 10', 'iOS >= 6'], cascade: false
})
]
}
};

View File

@@ -0,0 +1,60 @@
var gulp = require('gulp');
var cleanCss = require('gulp-clean-css');
var rename = require('gulp-rename');
var through = require('through2');
var replaceRem2Px = function () {
function fn(file, encoding, callback) {
if (file.isNull()) {
return callback(null, file);
}
if (file.isStream()) {
return callback(createError(file, 'Streaming not supported'));
}
let text = file.contents.toString();
if (/\d*\.?\d+rem/.test(text)) {
text = text.replace(/(\d*\.?\d+)rem/g, function (match, m1) {
return parseInt(m1 * 50) + 'px';
});
}
file.contents = new Buffer(text);
callback(null, file);
}
return through.obj(fn);
};
gulp.task('css:base', function () {
gulp.src('../src/styles/base.less')
.pipe(require('gulp-less')())
.pipe(cleanCss())
.pipe(rename('ydui.base.css'))
.pipe(gulp.dest('../dist'));
});
gulp.task('css:ydui', function () {
gulp.src('../dist/ydui.rem.css')
.pipe(require('ydui-rem2px')(50))
.pipe(cleanCss())
.pipe(rename('ydui.px.css'))
.pipe(gulp.dest('../dist'));
});
gulp.task('js:ydui', function () {
gulp.src('../dist/ydui.rem.js')
.pipe(replaceRem2Px())
.pipe(rename('ydui.px.js'))
.pipe(gulp.dest('../dist'));
});
gulp.task('flexible', function () {
gulp.src('../src/ydui.flexible.js')
.pipe(require('gulp-uglify')())
.pipe(gulp.dest('../dist'));
});
gulp.task('default', ['css:base', 'css:ydui', 'js:ydui', 'flexible']);

20
vue-ydui/build/rem2px.js Normal file
View File

@@ -0,0 +1,20 @@
'use strict';
const postcss = require('postcss');
module.exports = postcss.plugin('vue-ydui-rem2px', function (size) {
return function (css, result) {
const oldCssText = css.toString();
let newCssText = '';
if (/\d*\.?\d+rem/.test(oldCssText)) {
newCssText = oldCssText.replace(/(\d*\.?\d+)rem/g, function (match, m1) {
return parseInt(m1 * size) + 'px';
});
} else {
return oldCssText;
}
result.root = postcss.parse(newCssText);
};
});

View File

@@ -0,0 +1,19 @@
const path = require('path');
const webpack = require('webpack');
const merge = require('webpack-merge');
const baseWebpackConfig = require('./base.conf');
module.exports = merge(baseWebpackConfig, {
entry: {
main: './example/main.js',
vendors: ['vue', 'vue-router']
},
output: {
path: path.join(__dirname, './dist'),
publicPath: '/dist/',
filename: '[name].js'
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({name: 'vendors', filename: 'vendors.js'})
]
});

View File

@@ -0,0 +1,29 @@
const path = require('path');
const webpack = require('webpack');
const merge = require('webpack-merge');
const baseWebpackConfig = require('./base.conf');
const pkg = require('../package.json');
module.exports = merge(baseWebpackConfig, {
output: {
path: path.join(__dirname, '../dist'),
publicPath: '/dist/',
filename: "[name].js",
chunkFilename: "[name].js",
library: 'ydui',
libraryTarget: 'umd'
},
externals: {
vue: {
commonjs: "vue",
commonjs2: "vue",
amd: "vue",
root: "Vue"
}
},
plugins: [
new webpack.BannerPlugin(pkg.name + ' v' + pkg.version + ' by YDCSS (c) ' + new Date().getFullYear() + ' Licensed ' + pkg.license),
new webpack.optimize.UglifyJsPlugin({compress: {warnings: false}}),
new webpack.optimize.OccurenceOrderPlugin()
]
});

View File

@@ -0,0 +1,73 @@
const merge = require('webpack-merge');
const distCommonWebpackConfig = require('./webpack.dist.common.conf');
const StringReplacePlugin = require("string-replace-webpack-plugin");
module.exports = merge(distCommonWebpackConfig, {
entry: {
"/lib.px/actionsheet/index": "./src/components/actionsheet/index.js",
"/lib.px/badge/index": "./src/components/badge/index.js",
"/lib.px/button/index": "./src/components/button/index.js",
"/lib.px/cell/index": "./src/components/cell/index.js",
"/lib.px/cityselect/index": "./src/components/cityselect/index.js",
"/lib.px/dialog/index": "./src/components/dialog/index.js",
"/lib.px/grids/index": "./src/components/grids/index.js",
"/lib.px/icons/index": "./src/components/icons/index.js",
"/lib.px/infinitescroll/index": "./src/components/infinitescroll/index.js",
"/lib.px/keyboard/index": "./src/components/keyboard/index.js",
"/lib.px/layout/index": "./src/components/layout/index.js",
"/lib.px/list/index": "./src/components/list/index.js",
"/lib.px/navbar/index": "./src/components/navbar/index.js",
"/lib.px/progressbar/index": "./src/components/progressbar/index.js",
"/lib.px/pullrefresh/index": "./src/components/pullrefresh/index.js",
"/lib.px/scrolltab/index": "./src/components/scrolltab/index.js",
"/lib.px/sendcode/index": "./src/components/sendcode/index.js",
"/lib.px/slider/index": "./src/components/slider/index.js",
"/lib.px/spinner/index": "./src/components/spinner/index.js",
"/lib.px/switch/index": "./src/components/switch/index.js",
"/lib.px/tab/index": "./src/components/tab/index.js",
"/lib.px/tabbar/index": "./src/components/tabbar/index.js",
"/lib.px/countup/index": "./src/components/countup/index.js",
"/lib.px/popup/index": "./src/components/popup/index.js",
"/lib.px/rate/index": "./src/components/rate/index.js",
"/lib.px/countdown/index": "./src/components/countdown/index.js",
"/lib.px/textarea/index": "./src/components/textarea/index.js",
"/lib.px/rollnotice/index": "./src/components/rollnotice/index.js",
"/lib.px/input/index": "./src/components/input/index.js",
"/lib.px/flexbox/index": "./src/components/flexbox/index.js",
"/lib.px/radio/index": "./src/components/radio/index.js",
"/lib.px/checkbox/index": "./src/components/checkbox/index.js",
"/lib.px/backtop/index": "./src/components/backtop/index.js",
"/lib.px/accordion/index": "./src/components/accordion/index.js",
"/lib.px/datetime/index": "./src/components/datetime/index.js",
"/lib.px/lightbox/index": "./src/components/lightbox/index.js",
"/lib.px/timeline/index": "./src/components/timeline/index.js",
"/lib.px/step/index": "./src/components/step/index.js",
"/lib.px/checklist/index": "./src/components/checklist/index.js",
"/lib.px/search/index": "./src/components/search/index.js",
"/lib.px/scrollnav/index": "./src/components/scrollnav/index.js",
"/lib.px/preview/index": "./src/components/preview/index.js",
},
module: {
loaders: [
{
test: /\.vue$/,
loader: StringReplacePlugin.replace({
replacements: [
{
pattern: /(\d*\.?\d+)rem/g,
replacement: function (match, p1) {
return parseInt(p1 * 50) + 'px';
}
}
]
})
}
]
},
vue: {
postcss: [require('./rem2px')(50)]
},
plugins: [
new StringReplacePlugin()
]
});

View File

@@ -0,0 +1,49 @@
const merge = require('webpack-merge');
const distCommonWebpackConfig = require('./webpack.dist.common.conf');
module.exports = merge(distCommonWebpackConfig, {
entry: {
"/lib.rem/actionsheet/index": "./src/components/actionsheet/index.js",
"/lib.rem/badge/index": "./src/components/badge/index.js",
"/lib.rem/button/index": "./src/components/button/index.js",
"/lib.rem/cell/index": "./src/components/cell/index.js",
"/lib.rem/cityselect/index": "./src/components/cityselect/index.js",
"/lib.rem/dialog/index": "./src/components/dialog/index.js",
"/lib.rem/grids/index": "./src/components/grids/index.js",
"/lib.rem/icons/index": "./src/components/icons/index.js",
"/lib.rem/infinitescroll/index": "./src/components/infinitescroll/index.js",
"/lib.rem/keyboard/index": "./src/components/keyboard/index.js",
"/lib.rem/layout/index": "./src/components/layout/index.js",
"/lib.rem/list/index": "./src/components/list/index.js",
"/lib.rem/navbar/index": "./src/components/navbar/index.js",
"/lib.rem/progressbar/index": "./src/components/progressbar/index.js",
"/lib.rem/pullrefresh/index": "./src/components/pullrefresh/index.js",
"/lib.rem/scrolltab/index": "./src/components/scrolltab/index.js",
"/lib.rem/sendcode/index": "./src/components/sendcode/index.js",
"/lib.rem/slider/index": "./src/components/slider/index.js",
"/lib.rem/spinner/index": "./src/components/spinner/index.js",
"/lib.rem/switch/index": "./src/components/switch/index.js",
"/lib.rem/tab/index": "./src/components/tab/index.js",
"/lib.rem/tabbar/index": "./src/components/tabbar/index.js",
"/lib.rem/countup/index": "./src/components/countup/index.js",
"/lib.rem/popup/index": "./src/components/popup/index.js",
"/lib.rem/rate/index": "./src/components/rate/index.js",
"/lib.rem/countdown/index": "./src/components/countdown/index.js",
"/lib.rem/textarea/index": "./src/components/textarea/index.js",
"/lib.rem/rollnotice/index": "./src/components/rollnotice/index.js",
"/lib.rem/input/index": "./src/components/input/index.js",
"/lib.rem/flexbox/index": "./src/components/flexbox/index.js",
"/lib.rem/radio/index": "./src/components/radio/index.js",
"/lib.rem/checkbox/index": "./src/components/checkbox/index.js",
"/lib.rem/backtop/index": "./src/components/backtop/index.js",
"/lib.rem/accordion/index": "./src/components/accordion/index.js",
"/lib.rem/datetime/index": "./src/components/datetime/index.js",
"/lib.rem/lightbox/index": "./src/components/lightbox/index.js",
"/lib.rem/timeline/index": "./src/components/timeline/index.js",
"/lib.rem/step/index": "./src/components/step/index.js",
"/lib.rem/checklist/index": "./src/components/checklist/index.js",
"/lib.rem/search/index": "./src/components/search/index.js",
"/lib.rem/scrollnav/index": "./src/components/scrollnav/index.js",
"/lib.rem/preview/index": "./src/components/preview/index.js",
}
});

View File

@@ -0,0 +1,17 @@
const merge = require('webpack-merge');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const distCommonWebpackConfig = require('./webpack.dist.common.conf');
module.exports = merge(distCommonWebpackConfig, {
entry: {
'ydui.rem': './src/ydui.js'
},
vue: {
loaders: {
less: ExtractTextPlugin.extract('css!less')
}
},
plugins: [
new ExtractTextPlugin('ydui.rem.css')
]
});