meblog
Version:
A simple blog engine for personal blogging
35 lines (34 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.run = exports.loadConfig = void 0;
const tslib_1 = require("tslib");
const path_1 = tslib_1.__importDefault(require("path"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const gulplog_1 = tslib_1.__importDefault(require("gulplog"));
const SiteGenerator_1 = tslib_1.__importDefault(require("../core/SiteGenerator"));
const ansi_colors_1 = tslib_1.__importDefault(require("ansi-colors"));
const StringUtils_1 = tslib_1.__importDefault(require("../core/util/StringUtils"));
const loadConfig = (args) => {
const cwd = process.cwd();
const configFile = args['config'] || './config.js';
const configFilePath = path_1.default.resolve(cwd, configFile);
if (!fs_1.default.existsSync(configFilePath)) {
throw new Error('config.js file is required');
}
gulplog_1.default.info('Loading config file from:', ansi_colors_1.default.blue(configFile));
args['configFilePath'] = configFilePath;
const config = require(configFilePath);
config.rootDir = process.cwd();
config.devMode = true;
config.baseUrl = StringUtils_1.default.trimSlashes(config.baseUrl);
config.baseContext = StringUtils_1.default.trimSlashes(config.baseContext);
return config;
};
exports.loadConfig = loadConfig;
const run = async (args, tasks) => {
const config = exports.loadConfig(args);
const generator = new SiteGenerator_1.default(config, args);
generator.initTasks();
await generator.run(tasks);
};
exports.run = run;