diff --git a/docs/license.pug b/docs/license.pug index 229a47385..323b9b952 100644 --- a/docs/license.pug +++ b/docs/license.pug @@ -5,11 +5,4 @@ block title block content h1 ライセンス - div!= license - - hr - - details - summary サードパーティ - div!= thirdpartyLicenses diff --git a/gulpfile.ts b/gulpfile.ts index 00772925e..f7503912c 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -14,16 +14,13 @@ import * as es from 'event-stream'; import * as webpack from 'webpack-stream'; import cssnano = require('gulp-cssnano'); import * as uglify from 'gulp-uglify'; -import riotify = require('riotify'); import pug = require('gulp-pug'); import git = require('git-last-commit'); import * as rimraf from 'rimraf'; -import * as escapeHtml from 'escape-html'; import prominence = require('prominence'); import * as chalk from 'chalk'; import imagemin = require('gulp-imagemin'); import * as rename from 'gulp-rename'; -import named = require('vinyl-named'); const env = process.env.NODE_ENV; const isProduction = env === 'production'; @@ -33,6 +30,8 @@ if (isDebug) { console.log(chalk.yellow.bold('!!!注意!!! 開発モードが有効です。(成果物の圧縮などはスキップされます)')); } +const constants = require('./src/const.json'); + const tsProject = ts.createProject('tsconfig.json'); gulp.task('build', [ @@ -65,37 +64,22 @@ gulp.task('build:ts', () => gulp.task('build:about:docs', () => { function getLicenseHtml(path: string) { - return escapeHtml(fs.readFileSync(path, 'utf-8')) + return fs.readFileSync(path, 'utf-8') .replace(/\r\n/g, '\n') .replace(/(.)\n(.)/g, '$1 $2') .replace(/(^|\n)(.*?)($|\n)/g, '

$2

'); } - function getLicenseSectionHtml(path: string) { - try { - const pkg = JSON.parse(fs.readFileSync(Path.parse(path).dir + '/package.json', 'utf-8')); - const licenseHtml = getLicenseHtml(path); - return `
${pkg.name} v${pkg.version}${licenseHtml}
`; - } catch (e) { - return null; - } - } - - const licenses = glob.sync('./node_modules/**/LICENSE*'); const licenseHtml = getLicenseHtml('./LICENSE'); - const thirdpartyLicensesHtml = licenses.map(license => getLicenseSectionHtml(license)).join(''); - const pugs = glob.sync('./docs/**/*.pug'); - const streams = pugs.map(file => { + const streams = glob.sync('./docs/**/*.pug').map(file => { const page = file.replace('./docs/', '').replace('.pug', ''); return gulp.src(file) .pipe(pug({ - locals: Object.assign({ + locals: { path: page, license: licenseHtml, - thirdpartyLicenses: thirdpartyLicensesHtml - }, { - themeColor: '#f76d6c' - }) + themeColor: constants.themeColor + } })) .pipe(gulp.dest('./built/web/about/pages/' + Path.parse(page).dir)); }); @@ -209,7 +193,7 @@ gulp.task('build:client:pug', [ gulp.src('./src/web/app/*/view.pug') .pipe(pug({ locals: { - themeColor: '#f76d6c' + themeColor: constants.themeColor } })) .pipe(gulp.dest('./built/web/app/')) diff --git a/package.json b/package.json index bf01f30b5..d8861bd7f 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "@types/rimraf": "0.0.28", "@types/riot": "2.6.1", "@types/serve-favicon": "2.2.28", - "@types/twitter": "0.0.28", "@types/uuid": "2.0.29", "@types/webpack": "2.2.6", "@types/webpack-stream": "3.2.6", @@ -98,7 +97,6 @@ "gulp-imagemin": "3.1.1", "gulp-pug": "3.2.0", "gulp-rename": "1.2.2", - "gulp-replace": "0.5.4", "gulp-tslint": "7.1.0", "gulp-typescript": "3.1.5", "gulp-uglify": "2.0.1", @@ -126,14 +124,13 @@ "request": "2.79.0", "rimraf": "2.6.0", "riot": "3.3.1", - "riot-compiler": "3.2.1", "riot-tag-loader": "1.0.0", - "riotify": "2.0.0", "rndstr": "1.0.0", "s-age": "1.1.0", "serve-favicon": "2.4.0", "string-replace-webpack-plugin": "0.0.5", - "stylus-loader": "^2.5.0", + "stylus": "0.54.5", + "stylus-loader": "2.5.0", "subdomain": "1.2.0", "summaly": "2.0.0", "swagger-jsdoc": "1.9.1", @@ -145,7 +142,6 @@ "uuid": "3.0.1", "velocity-animate": "1.4.3", "vhost": "3.0.2", - "vinyl-named": "1.1.0", "webpack": "2.2.1", "webpack-stream": "3.2.0", "websocket": "1.0.24", diff --git a/src/const.json b/src/const.json new file mode 100644 index 000000000..4c8d05cb5 --- /dev/null +++ b/src/const.json @@ -0,0 +1,3 @@ +{ + "themeColor": "#f76d6c" +} diff --git a/webpack.config.ts b/webpack.config.ts index 00fd3f00a..19e095a91 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -1,6 +1,8 @@ import * as webpack from 'webpack'; const StringReplacePlugin = require('string-replace-webpack-plugin'); +const constants = require('./src/const.json'); + module.exports = (commit, env) => { const isProduction = env === 'production'; const isDebug = !isProduction; @@ -21,7 +23,7 @@ module.exports = (commit, env) => { loader: StringReplacePlugin.replace({ replacements: [ { pattern: /\$theme\-color\-foreground/g, replacement: () => '#fff' }, - { pattern: /\$theme\-color/g, replacement: () => '#f76d6c' }, + { pattern: /\$theme\-color/g, replacement: () => constants.themeColor }, ] }) }, @@ -62,7 +64,7 @@ module.exports = (commit, env) => { new webpack.DefinePlugin({ VERSION: JSON.stringify(commit ? commit.hash : null), CONFIG: { - themeColor: JSON.stringify('#f76d6c') + themeColor: JSON.stringify(constants.themeColor) } }), new StringReplacePlugin(),