From 643160047222c250dc247456dd0b476749e93b88 Mon Sep 17 00:00:00 2001 From: xiazeyu_2011 Date: Thu, 15 Feb 2018 08:24:38 +0800 Subject: [PATCH] style: move print into new function, fix null of undefined --- index.js | 21 ++++++++++++------- lib/getNodeModulePath.js | 4 ++-- lib/loadModelFrom.js | 4 ++-- lib/print.js | 45 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 12 deletions(-) create mode 100644 lib/print.js diff --git a/index.js b/index.js index 8747e9a..55366de 100755 --- a/index.js +++ b/index.js @@ -4,7 +4,6 @@ /* global hexo */ const _ = require('lodash'); -const colors = require('colors'); const fs = require('hexo-fs'); const path = require('path'); const url = require('url'); @@ -13,6 +12,7 @@ const buildGeneratorsFromManifest = require('./lib/buildGeneratorsFromManifest') const getFileMD5 = require('./lib/getFileMD5'); const getNodeModulePath = require('./lib/getNodeModulePath'); const loadModelFrom = require('./lib/loadModelFrom'); +const print = require('./lib/print'); const generators = []; @@ -86,7 +86,7 @@ if (config.enable) { _.unset(config, 'enable'); if (_.hasIn(config, 'model.use')) { - let modelJsonUrl; + let modelJsonUrl = null; let tryPath = path.resolve(hexo.base_dir, './live2d_models/', config.model.use); if (fs.existsSync(tryPath)) { @@ -100,7 +100,7 @@ if (config.enable) { } = loadModelFrom(tryPath, onSiteModelPath); modelJsonUrl = pkgModelJsonUrl; generators.push(...modelGenerators); - console.log(`${colors.green('hexo-helper-live2d'.toUpperCase())}: Loaded model from live2d_models folder(2), '${url.parse(modelJsonUrl).pathname}' from '${tryPath}'`); + print.log(`Loaded model from live2d_models folder(2), '${url.parse(modelJsonUrl).pathname}' from '${tryPath}'`); } else { @@ -117,16 +117,16 @@ if (config.enable) { } = loadModelFrom(tryPath, onSiteModelPath); modelJsonUrl = pkgModelJsonUrl; generators.push(...modelGenerators); - console.log(`${colors.green('hexo-helper-live2d'.toUpperCase())}: Loaded model from hexo base releated path(3), '${url.parse(modelJsonUrl).pathname}' from '${tryPath}'`); + print.log(`Loaded model from hexo base releated path(3), '${url.parse(modelJsonUrl).pathname}' from '${tryPath}'`); - } else if (getNodeModulePath(config.model.use) === '') { + } else if (getNodeModulePath(config.model.use) === null) { /* * Is custom(4) * Use custom */ modelJsonUrl = config.model.use; - console.log(`${colors.green('hexo-helper-live2d'.toUpperCase())}: Loaded Model from custom(4), at '${modelJsonUrl}'`); + print.log(`Loaded Model from custom(4), at '${modelJsonUrl}'`); } else { @@ -144,10 +144,15 @@ if (config.enable) { } = loadModelFrom(assetsDir, onSiteModelPath); modelJsonUrl = pkgModelJsonUrl; generators.push(...modelGenerators); - console.log(`${colors.green('hexo-helper-live2d'.toUpperCase())}: Loaded model from npm-module(1), ${packageJsonObj.name}@${packageJsonObj.version} from '${assetsDir}'`); + print.log(`Loaded model from npm-module(1), ${packageJsonObj.name}@${packageJsonObj.version} from '${assetsDir}'`); } + } + if (modelJsonUrl === null) { + + print.error('Did not found model json'); + } _.unset(config, 'model.use'); config = _.set(config, 'model.jsonPath', modelJsonUrl); @@ -162,7 +167,7 @@ if (config.enable) { hexo.extend.helper.register('live2d', () => { - console.warn(`${colors.green('hexo-helper-live2d'.toUpperCase())}: live2d tag was deprecated since 3.0. See #36. PLEASE REMOVE live2d TAG IN YOUR TEMPLATE FILE.`); + print.warn('live2d tag was deprecated since 3.0. See #36. PLEASE REMOVE live2d TAG IN YOUR TEMPLATE FILE.'); }); diff --git a/lib/getNodeModulePath.js b/lib/getNodeModulePath.js index 22b81b2..8531ff2 100644 --- a/lib/getNodeModulePath.js +++ b/lib/getNodeModulePath.js @@ -8,7 +8,7 @@ const path = require('path'); /** * Resolve the package path according to provieded package name * @param {String} packageName Package need to be resolved - * @return {String} If detected the package, the path; if not, '' + * @return {String} If detected the package, the path; if not, null */ module.exports = function getNodeModulePath (packageName) { @@ -19,7 +19,7 @@ module.exports = function getNodeModulePath (packageName) { } catch (e) { - return ''; + return null; } diff --git a/lib/loadModelFrom.js b/lib/loadModelFrom.js index 31a54f6..7d8cc5d 100644 --- a/lib/loadModelFrom.js +++ b/lib/loadModelFrom.js @@ -11,7 +11,7 @@ const url = require('url'); /** * @typedef {Object} ModelPackageInfo * @property {Array} modelGenerators The generator-use-array for Hexo - * @property {String} modelJsonUrl The model.json file path + * @property {String} modelJsonUrl The model.json file path, null if not found */ /** @@ -34,7 +34,7 @@ module.exports = function loadModelFrom (assetsDir, rootUrl) { } return p; - }, undefined); + }, null); return { modelGenerators, diff --git a/lib/print.js b/lib/print.js new file mode 100644 index 0000000..3402840 --- /dev/null +++ b/lib/print.js @@ -0,0 +1,45 @@ +/** + * @description Package of IO in console + */ + + +const colors = require('colors'); + +/** + * Print log + * @param {...String} argvs Strings to print + * @return {undefined} + */ +function log (...argvs) { + + console.log(`${colors.green('hexo-helper-live2d'.toUpperCase())}: ${argvs}`); + +} + +/** + * Print warn + * @param {...String} argvs Strings to print + * @return {undefined} + */ +function warn (...argvs) { + + console.log(`${colors.yellow('hexo-helper-live2d'.toUpperCase())}: ${argvs}`); + +} + +/** + * Print error + * @param {...String} argvs Strings to print + * @return {undefined} + */ +function error (...argvs) { + + console.log(`${colors.red('hexo-helper-live2d'.toUpperCase())}: ${argvs}`); + +} + +module.exports = { + error, + log, + warn, +};