0
0

Clean up

This commit is contained in:
syuilo 2017-02-22 10:49:11 +09:00
parent 10bb5fe0ea
commit ce216d218b
5 changed files with 17 additions and 39 deletions

View File

@ -5,11 +5,4 @@ block title
block content
h1 ライセンス
div!= license
hr
details
summary サードパーティ
div!= thirdpartyLicenses

View File

@ -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, '<p>$2</p>');
}
function getLicenseSectionHtml(path: string) {
try {
const pkg = JSON.parse(fs.readFileSync(Path.parse(path).dir + '/package.json', 'utf-8'));
const licenseHtml = getLicenseHtml(path);
return `<details><summary>${pkg.name} <small>v${pkg.version}</small></summary>${licenseHtml}</details>`;
} 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/'))

View File

@ -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",

3
src/const.json Normal file
View File

@ -0,0 +1,3 @@
{
"themeColor": "#f76d6c"
}

View File

@ -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(),