gitbook-summary
Version:
A CLI to generate a summary from a given folder.
71 lines (61 loc) • 2.44 kB
JavaScript
var _ = require("lodash");
var program = require("commander");
var color = require('bash-color');
var pkg = require("../package.json");
var summary = require("../lib/summary").summary;
var convert = require("../lib/convert");
var html2md = require("../lib/html2md");
function list(val) {
return val.split(',');
}
program
.version(pkg.version)
program
.command("summary")
.alias("sm")
.description("Generate a `SUMMARY.md` from a folder")
.option("-r, --root [string]", "root folder, default is `.`")
.option("-t, --title [string]", "book title, default is `Your Book Title`.")
.option("-c, --catalog [list]", "folders to be included in book, default is `all`.")
.option("-i, --ignores [list]", "ignore patterns to be excluded, default is `[]`.", list)
.option("-u, --unchanged [list]", "unchanged catalog like `request.js`, default is `[]`.")
.option("-o, --outputfile [string]", "output file, default is `./SUMMARY.md`")
.option("-s, --sortedBy [string]", "sorted by sortedBy, for example: `num-`, default is sorted by characters")
.option("-d, --disableTitleFormatting", "don't convert filename/folder name to start case (for example: `JavaScript` to `Java Script`), default is `false`")
.action(function(options) {
// generate `SUMMARY.md`
// Fixme
// if (options.length >= 1) {
// console.log(color.red('\nError! The sub commands "%s" has been deprecated, please read the follow messages:'), cmd);
// program.help();
// } else {
summary(options);
// }
});
program
.command("html2md")
.alias("md")
.description("Get markdown from a remote url or a local html.")
.option("-f, --file [file]", "path to file")
.option("-l, --url [url]", "articles`s url")
.option("-t, --target [target]", "target to be saved")
.option("-s, --selector [selector]", "DOM element selector")
.action(function(options) {
html2md(options);
});
// todo
program
.command("convert")
.alias("cv")
.description("Todo: Convert articles between Simplified and Traditional Chinese.")
.option("-f, --file [file]", "path to file")
.option("-l, --language [language]", "articles`s language")
.option("-t, --target [target]", "target to be saved")
.action(function(options) {
convert(options);
});
// Parse and fallback to help if no args
if (_.isEmpty(program.parse(process.argv).args) && process.argv.length === 2) {
program.help();
}