san-cli-docit
Version:
san-cli-docit 是 [San](https://github.com/baidu/san) CLI 工具中 Markdown 文档建站部分。 是一个 [command 插件](https://ecomfe.github.io/san-cli)。
42 lines (35 loc) • 1.07 kB
JavaScript
/**
* @file load config file
* @author ksky521
*/
const fs = require('fs');
const yamlParser = require('js-yaml');
const tomlParser = require('toml');
function parseConfig(file, content) {
content = content ? content : fs.readFileSync(file, 'utf-8');
const [extension] = /.\w+$/.exec(file);
let data;
switch (extension) {
case '.yml':
case '.yaml':
data = yamlParser.safeLoad(content);
break;
case '.toml': {
data = tomlParser.parse(content);
// reformat to match config since TOML does not allow different data type
// https://github.com/toml-lang/toml#array
const format = [];
if (data.head) {
Object.keys(data.head).forEach(meta => {
data.head[meta].forEach(values => {
format.push([meta, values]);
});
});
}
data.head = format;
break;
}
}
return data || {};
}
module.exports = parseConfig;