UNPKG

1.51 kBJavaScriptView Raw
1#!/usr/bin/env node
2//
3
4const program = require("commander");
5const sync = require("./sync");
6const { version } = require("../package.json");
7
8program
9 .version(version)
10 .option("-d, --debug", "not to use headless Chromium", false)
11 .option("-c, --cookies-path <path>", "cookies file path", "cookies.json");
12
13// program
14// .command("fetch [ids...]")
15// .description("fetches posts")
16// .option("-o, --out <directory>", "output directory")
17// .action((ids, options) => {
18// console.log("action:", ids, options);
19// })
20// .on("--help", () => {
21// process.stdout.write(`
22// Examples:
23//
24// medic fetch 0123456789abc
25// medic fetch --out=articles/
26// medic fetch --out=articles/ 0123456789abc
27// `);
28// });
29
30program
31 .command("sync <patterns...>")
32 .description("creates or updates posts")
33 .on("--help", () => {
34 process.stdout.write(`
35 Examples:
36
37 medic sync articles/*.md
38 medic sync articles/example.md
39 medic sync $(git diff --name-only)
40`);
41 })
42 .action(async (patterns, options) => {
43 try {
44 await sync(patterns, options);
45 } catch (err) {
46 process.stderr.write(err.toString());
47 }
48 });
49
50// program
51// .command("delete <patterns...>")
52// .description("deletes posts")
53// .action((patterns, options) => {
54// console.log("delete:", patterns, options);
55// })
56// .on("--help", () => {
57// process.stdout.write(`
58// Examples:
59//
60// medic delete articles/example.md
61// `);
62// });
63
64program.parse(process.argv);