diff --git a/build/utils/postcss_pipe.js b/build/utils/postcss_pipe.js
index 6c5fafd1b..4c069951c 100644
--- a/build/utils/postcss_pipe.js
+++ b/build/utils/postcss_pipe.js
@@ -1,17 +1,11 @@
-/**
- * Created by tsxuehu on 17/1/4.
- */
var config = {
-
- "bem": {
- "shortcuts": {"component": "b", "modifier": "m", "descendent": "e"},
- "separators": {"descendent": "__", "modifier": "--"}
- }/*,
- "autoprefixer": {"browsers": ["ie > 8", "last 2 versions"]},
- "rem": {"browsers": ["ie > 8", "last 2 versions"]}*/
+ 'bem': {
+ 'shortcuts': {'component': 'b', 'modifier': 'm', 'descendent': 'e'},
+ 'separators': {'descendent': '__', 'modifier': '--'}
+ }
};
// https://github.com/trysound/postcss-easy-import
-var partialImport = require("postcss-easy-import");
+var partialImport = require("postcss-easy-import")();
// 这不是bem,虽然名字叫bem,其实它是suit
// https://github.com/saladcss/saladcss-bem
@@ -20,47 +14,15 @@ var bem = require("saladcss-bem")(config.bem);
// https://github.com/jonathantneal/precss
var precss = require("precss")();
-// https://github.com/adam-h/postcss-sass-color-functions
-var sassColor = require("postcss-sass-color-functions")();
-
-// eleme的组件---
-// https://npmjs.com/package/postcss-css-reset
-// http://elemefe.github.io/postcss-salad/
-var reset = require("postcss-css-reset")();
-
-// eleme的组件---
-// https://npmjs.com/package/postcss-utils
-// http://elemefe.github.io/postcss-salad/
-var utils = require("postcss-utils")();
-
-// https://github.com/postcss/postcss-calc
-var calc = require("postcss-calc")();
-
-// https://github.com/maximkoretskiy/postcss-initial
-var initial = require("postcss-initial")();
-
-// https://github.com/trysound/postcss-inline-svg
-var inlineSvg = require("postcss-inline-svg")();
-
-// https://github.com/jonathantneal/postcss-short
-var short = require("postcss-short")();
-
-// eleme的组件---
-// https://github.com/baiyaaaaa/postcss-shape
-// http://elemefe.github.io/postcss-salad/
-var shape = require("postcss-shape")();
-
-// https://github.com/robwierzbowski/node-pixrem
-var rem = require("pixrem")();
-
// https://github.com/postcss/autoprefixer
var autoprefixer = require("autoprefixer")();
-// https://github.com/jo-asakura/postcss-neat
-var neat = require("postcss-neat")();
-
module.exports = function (webpack) {
// 顺序很重要
- return [partialImport({ addDependencyTo: webpack }), bem, precss, sassColor, reset,
- utils, calc, initial, inlineSvg, short, shape, rem, autoprefixer, neat];
+ return [
+ partialImport,
+ bem,
+ precss,
+ autoprefixer
+ ];
};
diff --git a/build/webpack.config.js b/build/webpack.config.js
index 47a14af13..a9bbb70cf 100644
--- a/build/webpack.config.js
+++ b/build/webpack.config.js
@@ -6,6 +6,7 @@ var striptags = require('./strip-tags');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var version = require('../package.json').version;
var getPoastcssPlugin = require('./utils/postcss_pipe');
+var ProgressBarPlugin = require('progress-bar-webpack-plugin');
function convert(str) {
str = str.replace(/()(\w{4});/gi, function($0) {
@@ -72,12 +73,65 @@ module.exports = {
}
]
},
- devtool: 'source-map'
+ devtool: 'source-map',
+ plugins: [
+ new ProgressBarPlugin(),
+ new webpack.LoaderOptionsPlugin({
+ minimize: true,
+ options: {
+ postcss: getPoastcssPlugin,
+ babel: {
+ presets: ['es2015'],
+ plugins: ['transform-runtime', 'transform-vue-jsx']
+ },
+ vue: {
+ autoprefixer: false,
+ postcss: getPoastcssPlugin
+ },
+ vueMarkdown: {
+ use: [
+ [require('markdown-it-anchor'), {
+ level: 2,
+ slugify: slugify,
+ permalink: true,
+ permalinkBefore: true
+ }],
+ [require('markdown-it-container'), 'demo', {
+ validate: function(params) {
+ return params.trim().match(/^demo\s*(.*)$/);
+ },
+
+ render: function(tokens, idx) {
+ var m = tokens[idx].info.trim().match(/^demo\s*(.*)$/);
+ if (tokens[idx].nesting === 1) {
+ var description = (m && m.length > 1) ? m[1] : '';
+ var content = tokens[idx + 1].content;
+ var html = convert(striptags.strip(content, ['script', 'style']));
+
+ return `