diff --git a/gulpfile.ts b/gulpfile.ts index 55452fe7f0..87c3a23a01 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -18,6 +18,7 @@ import imagemin = require('gulp-imagemin'); import * as rename from 'gulp-rename'; import * as mocha from 'gulp-mocha'; import * as replace from 'gulp-replace'; +import * as htmlmin from 'gulp-htmlmin'; const uglifyes = require('uglify-es'); import version from './src/version'; @@ -161,5 +162,31 @@ gulp.task('build:client:pug', [ themeColor: constants.themeColor } })) + .pipe(htmlmin({ + // 真理値属性の簡略化 e.g. + // to + // + collapseBooleanAttributes: true, + + // テキストの一部かもしれない空白も削除する e.g. + //

foo

to + //

foo

+ collapseWhitespace: true, + + // (できる場合は)属性のクォーテーション削除する e.g. + //

foo

to + //

foo

+ removeAttributeQuotes: true, + + // 省略可能なタグを省略する e.g. + //

yo

ro + //

yo

+ removeOptionalTags: true, + + // 属性の値がデフォルトと同じなら省略する e.g. + // to + // + removeRedundantAttributes: true + })) .pipe(gulp.dest('./built/web/app/')) ); diff --git a/package.json b/package.json index 2cdd516bed..ce98eeb5a7 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "@types/express": "4.0.36", "@types/gm": "1.17.32", "@types/gulp": "4.0.3", + "@types/gulp-htmlmin": "1.3.30", "@types/gulp-mocha": "0.0.30", "@types/gulp-rename": "0.0.32", "@types/gulp-replace": "0.0.30", @@ -70,6 +71,7 @@ "gulp": "3.9.1", "gulp-cssnano": "2.1.2", "gulp-imagemin": "3.3.0", + "gulp-htmlmin": "3.0.0", "gulp-mocha": "4.3.1", "gulp-pug": "3.3.0", "gulp-rename": "1.2.2", @@ -148,6 +150,6 @@ "uuid": "3.1.0", "vhost": "3.0.2", "websocket": "1.0.24", - "xev": "^2.0.0" + "xev": "2.0.0" } }