md4x 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/cli.mjs +36 -18
  2. package/package.json +1 -1
package/lib/cli.mjs CHANGED
@@ -22,26 +22,44 @@ const { values, positionals } = parseArgs({
22
22
  },
23
23
  });
24
24
 
25
+ const _tty = process.stderr.isTTY;
26
+ const c = (code) => (s) => _tty ? `\x1b[${code}m${s}\x1b[0m` : s;
27
+ const _b = c(1);
28
+ const _d = c(2);
29
+ const _c = c(36);
30
+ const _g = c(32);
31
+
25
32
  function usage() {
26
33
  process.stderr.write(
27
- `Usage: md4x [OPTION]... [FILE]
28
- Convert input FILE (or standard input) in Markdown format.
29
-
30
- General options:
31
- -o --output=FILE Output file (default is standard output)
32
- -t, --format=FORMAT Output format: html, json, ansi (default: ansi for TTY, html otherwise)
33
- -s, --stat Measure time of input parsing
34
- -h, --help Display this help and exit
35
- -v, --version Display version and exit
36
-
37
- Input can be a file path, "-" for stdin, an HTTP/HTTPS URL, or a shorthand:
38
- gh:<owner>/<repo>[/path] GitHub (auto-converted to raw content)
39
- npm:<package>[@version][/path] npm package file via unpkg
40
-
41
- HTML output options:
42
- -f, --full-html Generate full HTML document, including header
43
- --html-title=TITLE Sets the title of the document
44
- --html-css=URL In full HTML mode add a css link
34
+ `${_b("md4x")} Markdown renderer
35
+
36
+ ${_g("Usage:")} ${_b("md4x")} ${_d("[OPTION]... [FILE]")}
37
+
38
+ ${_g("General options:")}
39
+ ${_c("-o")}, ${_c("--output")}=${_d("FILE")} Output file ${_d("(default: stdout)")}
40
+ ${_c("-t")}, ${_c("--format")}=${_d("FORMAT")} Output format: html, json, ansi ${_d("(default: ansi for TTY, html otherwise)")}
41
+ ${_c("-s")}, ${_c("--stat")} Measure parsing time
42
+ ${_c("-h")}, ${_c("--help")} Display this help and exit
43
+ ${_c("-v")}, ${_c("--version")} Display version and exit
44
+
45
+ ${_g("Input:")}
46
+ File path, ${_c("-")} for stdin, HTTP/HTTPS URL, or shorthand:
47
+ ${_c("gh:")}${_d("<owner>/<repo>[/path]")} GitHub raw content
48
+ ${_c("npm:")}${_d("<package>[@version][/path]")} npm package via unpkg
49
+
50
+ ${_g("HTML options:")}
51
+ ${_c("-f")}, ${_c("--full-html")} Full HTML document with header
52
+ ${_c("--html-title")}=${_d("TITLE")} Document title
53
+ ${_c("--html-css")}=${_d("URL")} CSS link
54
+
55
+ ${_g("Examples:")}
56
+ ${_d("$")} ${_b("md4x")} README.md ${_d("# Render to terminal")}
57
+ ${_d("$")} ${_b("md4x")} ${_c("-t html")} doc.md ${_d("# HTML output")}
58
+ ${_d("$")} ${_b("md4x")} ${_c("-t json")} doc.md ${_d("# JSON AST output")}
59
+ ${_d("$")} ${_b("md4x")} ${_c("gh:")}pi0/md4x ${_d("# GitHub repo README")}
60
+ ${_d("$")} ${_b("md4x")} ${_c("npm:")}vue@3 ${_d("# npm package README")}
61
+ ${_d("$")} echo "# Hello" | ${_b("md4x")} ${_d("# Pipe from stdin")}
62
+ ${_d("$")} ${_b("md4x")} ${_c("-f --html-css")}=style.css doc.md ${_d("# Full HTML with CSS")}
45
63
  `,
46
64
  );
47
65
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "md4x",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "bin": {