UNPKG

gitbook-summary

Version:

A CLI to generate a summary from a given folder.

71 lines (61 loc) 2.44 kB
#! /usr/bin/env node 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(); }