Clean up ✨
This commit is contained in:
		
							parent
							
								
									10bb5fe0ea
								
							
						
					
					
						commit
						ce216d218b
					
				
					 5 changed files with 17 additions and 39 deletions
				
			
		|  | @ -5,11 +5,4 @@ block title | |||
| 
 | ||||
| block content | ||||
| 	h1 ライセンス | ||||
| 
 | ||||
| 	div!= license | ||||
| 
 | ||||
| 	hr | ||||
| 
 | ||||
| 	details | ||||
| 		summary サードパーティ | ||||
| 		div!= thirdpartyLicenses | ||||
|  |  | |||
							
								
								
									
										32
									
								
								gulpfile.ts
									
										
									
									
									
								
							
							
						
						
									
										32
									
								
								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, '<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/')) | ||||
|  |  | |||
|  | @ -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
									
								
							
							
						
						
									
										3
									
								
								src/const.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| { | ||||
| 	"themeColor": "#f76d6c" | ||||
| } | ||||
|  | @ -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(), | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue