@argdown/cli
Version:
A command line interface for exporting Argdown files to html, dot or json.
54 lines • 2.22 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handler = exports.builder = exports.desc = exports.command = void 0;
const node_1 = require("@argdown/node");
const markdown_it_1 = __importDefault(require("markdown-it"));
const markdown_it_plugin_1 = __importDefault(require("@argdown/markdown-it-plugin"));
const runArgdown_1 = require("./runArgdown");
const mdi = new markdown_it_1.default();
const markdownItPlugin = (0, markdown_it_plugin_1.default)((env) => {
return env.argdownConfig;
});
mdi.use(markdownItPlugin);
const markdownPlugin = {
name: "RenderMarkdownPlugin",
runAsync: async (request, response) => {
response.html = mdi.render(request.input || "", {
argdownConfig: request
});
}
};
node_1.argdown.addPlugin(markdownPlugin, "render-markdown");
exports.command = "markdown [inputGlob] [outputDir]";
exports.desc = "export Markdown file to html while exporting all Argdown code fences as web components";
exports.builder = {};
const handler = async function (args) {
let config = await node_1.argdown.loadConfig(args.config);
if (args.inputGlob) {
config.inputPath = args.inputGlob;
}
config.saveAs = config.saveAs || {};
if (args.outputDir) {
config.saveAs.outputDir = args.outputDir;
}
config.logLevel = args.verbose ? "verbose" : config.logLevel;
config.logLevel = args.silent ? "silent" : config.logLevel;
config.watch = args.watch || config.watch;
config.process = ["load-file", "render-markdown"];
config.logParserErrors = args.logParserErrors || config.logParserErrors;
if (config.logParserErrors) {
config.process.push("log-parser-errors");
}
if (!args.stdout || args.outputDir) {
config.process.push("save-as-html");
}
if (args.stdout) {
config.process.push("stdout-html");
}
await (0, runArgdown_1.runArgdown)(node_1.argdown, config, true, "Markdown export canceled", "exported", `to html`);
};
exports.handler = handler;
//# sourceMappingURL=MarkdownCommand.js.map