kordoc 4.12.2 → 4.12.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.
- package/README.md +12 -1
- package/dist/{-EZH6NKTE.js → -FWGDIOV4.js} +8 -8
- package/dist/{chunk-OEYECZGV.js → chunk-2DAFWDV2.js} +9 -5
- package/dist/chunk-2DAFWDV2.js.map +1 -0
- package/dist/{chunk-5RPYBC2Q.js → chunk-3KQOI6R6.js} +27 -2
- package/dist/chunk-3KQOI6R6.js.map +1 -0
- package/dist/{chunk-DBGEUDBY.js → chunk-6L3B44DH.js} +2 -2
- package/dist/{chunk-ONNAHSPV.cjs → chunk-7BIXTQZ3.cjs} +14 -10
- package/dist/chunk-7BIXTQZ3.cjs.map +1 -0
- package/dist/{chunk-IOJX4Q63.js → chunk-B63QEHYL.js} +3 -3
- package/dist/{chunk-JCMBQC5N.js → chunk-BAZMKQZW.js} +2 -2
- package/dist/{chunk-V5BUPZ6I.cjs → chunk-BOATAEXU.cjs} +7 -4
- package/dist/chunk-BOATAEXU.cjs.map +1 -0
- package/dist/{chunk-KX7IYCCZ.js → chunk-CKYDP34A.js} +3 -3
- package/dist/{chunk-7XUXSDH5.js → chunk-DUGUCM7K.js} +9 -5
- package/dist/chunk-DUGUCM7K.js.map +1 -0
- package/dist/{chunk-2LKYJ4G3.cjs → chunk-FFITS3NY.cjs} +6 -6
- package/dist/{chunk-2LKYJ4G3.cjs.map → chunk-FFITS3NY.cjs.map} +1 -1
- package/dist/{chunk-2B7OIEJJ.js → chunk-HB56YANA.js} +5 -2
- package/dist/chunk-HB56YANA.js.map +1 -0
- package/dist/{chunk-2HBYWA5X.js → chunk-IC6HHXFL.js} +2 -2
- package/dist/{chunk-LD2K4K5V.js → chunk-INFYDSZL.js} +111 -22
- package/dist/chunk-INFYDSZL.js.map +1 -0
- package/dist/{chunk-62IU4NV3.cjs → chunk-ISCI5LKN.cjs} +2 -2
- package/dist/{chunk-62IU4NV3.cjs.map → chunk-ISCI5LKN.cjs.map} +1 -1
- package/dist/{chunk-XXDZ2KTW.js → chunk-KLO6RHX2.js} +2 -2
- package/dist/{chunk-MUYU4JI5.js → chunk-KRE2SREV.js} +2 -2
- package/dist/{chunk-QBCMFNHS.js → chunk-OJDMMZ5Z.js} +2 -2
- package/dist/{chunk-UL2MDA5C.js → chunk-PL4V523B.js} +3 -3
- package/dist/{chunk-FBLMVHDK.js → chunk-PUZZFYLV.js} +2 -2
- package/dist/{chunk-2LO525TL.js → chunk-SJEPQOVW.js} +2 -2
- package/dist/{chunk-QM2RSJ2S.js → chunk-TWKXX343.js} +3 -3
- package/dist/{chunk-2LPBIW2B.cjs → chunk-W3H2H55O.cjs} +3 -3
- package/dist/{chunk-2LPBIW2B.cjs.map → chunk-W3H2H55O.cjs.map} +1 -1
- package/dist/{chunk-FVBR7SC3.js → chunk-YBZJMAE2.js} +2 -2
- package/dist/{chunk-Q6ETEJFK.js → chunk-ZASGH5EN.js} +5 -2
- package/dist/chunk-ZASGH5EN.js.map +1 -0
- package/dist/chunks-VICNQMNE.js +10 -0
- package/dist/cli.js +30 -23
- package/dist/cli.js.map +1 -1
- package/dist/{formula-NW33S4TA.js → formula-R7IWAAYR.js} +3 -3
- package/dist/{formula-6RQX4NMJ.js → formula-YJWKEPUK.js} +4 -4
- package/dist/{formula-NBEO6CFC.cjs → formula-ZYHUXTK5.cjs} +9 -9
- package/dist/{formula-NBEO6CFC.cjs.map → formula-ZYHUXTK5.cjs.map} +1 -1
- package/dist/{image-ocr-V4KY373B.cjs → image-ocr-6O6ZXKUD.cjs} +11 -11
- package/dist/{image-ocr-V4KY373B.cjs.map → image-ocr-6O6ZXKUD.cjs.map} +1 -1
- package/dist/{image-ocr-SO56VETS.js → image-ocr-G4JVF2UH.js} +7 -7
- package/dist/{image-ocr-CAVU2TNZ.js → image-ocr-OLTSKQWD.js} +5 -5
- package/dist/index.cjs +455 -366
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +107 -18
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +20 -17
- package/dist/mcp.js.map +1 -1
- package/dist/{model-bundle-EIJF34DR.js → model-bundle-IFD2D5CW.js} +5 -5
- package/dist/{models-6V4CPQXC.js → models-FJ3IUNTB.js} +5 -5
- package/dist/{parser-OBHNXEQM.js → parser-I7TC35V6.js} +31 -10
- package/dist/parser-I7TC35V6.js.map +1 -0
- package/dist/{parser-GIREMEPD.js → parser-JRT3B6OK.js} +31 -10
- package/dist/parser-JRT3B6OK.js.map +1 -0
- package/dist/{parser-OMT25WH2.cjs → parser-YLLIYOIZ.cjs} +59 -38
- package/dist/parser-YLLIYOIZ.cjs.map +1 -0
- package/dist/pdf-ocr-ADUP2LPU.cjs +14 -0
- package/dist/{pdf-ocr-TFYVK4FI.cjs.map → pdf-ocr-ADUP2LPU.cjs.map} +1 -1
- package/dist/pdf-ocr-ATJTB2B3.js +13 -0
- package/dist/pdf-ocr-P75KSZFV.js +16 -0
- package/dist/{profile-io-PZVMM66V.js → profile-io-BPJQQZLQ.js} +3 -3
- package/dist/{rasterize-NRWP2C6L.js → rasterize-ALCNU53T.js} +2 -2
- package/dist/render-MDLTQUUV.js +10 -0
- package/dist/seal-K4K3KPE3.js +10 -0
- package/dist/{setup-V55AJP6H.js → setup-O2DALZKF.js} +3 -3
- package/dist/{watch-7CQSMDDP.js → watch-GPWYJAS2.js} +9 -9
- package/package.json +1 -1
- package/dist/chunk-2B7OIEJJ.js.map +0 -1
- package/dist/chunk-5RPYBC2Q.js.map +0 -1
- package/dist/chunk-7XUXSDH5.js.map +0 -1
- package/dist/chunk-LD2K4K5V.js.map +0 -1
- package/dist/chunk-OEYECZGV.js.map +0 -1
- package/dist/chunk-ONNAHSPV.cjs.map +0 -1
- package/dist/chunk-Q6ETEJFK.js.map +0 -1
- package/dist/chunk-V5BUPZ6I.cjs.map +0 -1
- package/dist/chunks-TT7ZE5QQ.js +0 -10
- package/dist/parser-GIREMEPD.js.map +0 -1
- package/dist/parser-OBHNXEQM.js.map +0 -1
- package/dist/parser-OMT25WH2.cjs.map +0 -1
- package/dist/pdf-ocr-IRXQ5GBM.js +0 -13
- package/dist/pdf-ocr-SL4GCOGS.js +0 -16
- package/dist/pdf-ocr-TFYVK4FI.cjs +0 -14
- package/dist/render-V5ZPTZQ7.js +0 -10
- package/dist/seal-LVG2DGAB.js +0 -10
- /package/dist/{-EZH6NKTE.js.map → -FWGDIOV4.js.map} +0 -0
- /package/dist/{chunk-DBGEUDBY.js.map → chunk-6L3B44DH.js.map} +0 -0
- /package/dist/{chunk-IOJX4Q63.js.map → chunk-B63QEHYL.js.map} +0 -0
- /package/dist/{chunk-JCMBQC5N.js.map → chunk-BAZMKQZW.js.map} +0 -0
- /package/dist/{chunk-KX7IYCCZ.js.map → chunk-CKYDP34A.js.map} +0 -0
- /package/dist/{chunk-2HBYWA5X.js.map → chunk-IC6HHXFL.js.map} +0 -0
- /package/dist/{chunk-XXDZ2KTW.js.map → chunk-KLO6RHX2.js.map} +0 -0
- /package/dist/{chunk-MUYU4JI5.js.map → chunk-KRE2SREV.js.map} +0 -0
- /package/dist/{chunk-QBCMFNHS.js.map → chunk-OJDMMZ5Z.js.map} +0 -0
- /package/dist/{chunk-UL2MDA5C.js.map → chunk-PL4V523B.js.map} +0 -0
- /package/dist/{chunk-FBLMVHDK.js.map → chunk-PUZZFYLV.js.map} +0 -0
- /package/dist/{chunk-2LO525TL.js.map → chunk-SJEPQOVW.js.map} +0 -0
- /package/dist/{chunk-QM2RSJ2S.js.map → chunk-TWKXX343.js.map} +0 -0
- /package/dist/{chunk-FVBR7SC3.js.map → chunk-YBZJMAE2.js.map} +0 -0
- /package/dist/{chunks-TT7ZE5QQ.js.map → chunks-VICNQMNE.js.map} +0 -0
- /package/dist/{formula-NW33S4TA.js.map → formula-R7IWAAYR.js.map} +0 -0
- /package/dist/{formula-6RQX4NMJ.js.map → formula-YJWKEPUK.js.map} +0 -0
- /package/dist/{image-ocr-SO56VETS.js.map → image-ocr-G4JVF2UH.js.map} +0 -0
- /package/dist/{image-ocr-CAVU2TNZ.js.map → image-ocr-OLTSKQWD.js.map} +0 -0
- /package/dist/{model-bundle-EIJF34DR.js.map → model-bundle-IFD2D5CW.js.map} +0 -0
- /package/dist/{models-6V4CPQXC.js.map → models-FJ3IUNTB.js.map} +0 -0
- /package/dist/{pdf-ocr-IRXQ5GBM.js.map → pdf-ocr-ATJTB2B3.js.map} +0 -0
- /package/dist/{pdf-ocr-SL4GCOGS.js.map → pdf-ocr-P75KSZFV.js.map} +0 -0
- /package/dist/{profile-io-PZVMM66V.js.map → profile-io-BPJQQZLQ.js.map} +0 -0
- /package/dist/{rasterize-NRWP2C6L.js.map → rasterize-ALCNU53T.js.map} +0 -0
- /package/dist/{render-V5ZPTZQ7.js.map → render-MDLTQUUV.js.map} +0 -0
- /package/dist/{seal-LVG2DGAB.js.map → seal-K4K3KPE3.js.map} +0 -0
- /package/dist/{setup-V55AJP6H.js.map → setup-O2DALZKF.js.map} +0 -0
- /package/dist/{watch-7CQSMDDP.js.map → watch-GPWYJAS2.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
parseFormatProfileJson
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SJEPQOVW.js";
|
|
5
5
|
import {
|
|
6
6
|
BODY_FONTS,
|
|
7
7
|
BULLET2_CHARS,
|
|
8
8
|
H2_MARKERS,
|
|
9
|
-
buildGongmunOptions
|
|
10
|
-
|
|
9
|
+
buildGongmunOptions,
|
|
10
|
+
levelFontRecord,
|
|
11
|
+
parseLevelsSpec
|
|
12
|
+
} from "./chunk-3KQOI6R6.js";
|
|
11
13
|
import {
|
|
12
14
|
BUILTIN_TEMPLATES,
|
|
13
15
|
PRESET_ALIAS,
|
|
@@ -31,24 +33,24 @@ import {
|
|
|
31
33
|
resolveBuiltinTemplate,
|
|
32
34
|
unknownFontWarnings,
|
|
33
35
|
usesGaejosikMunche
|
|
34
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-INFYDSZL.js";
|
|
35
37
|
import "./chunk-7FCNOKOR.js";
|
|
36
38
|
import "./chunk-N3DLQ2YH.js";
|
|
37
39
|
import "./chunk-MOL7MDBG.js";
|
|
38
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-CKYDP34A.js";
|
|
39
41
|
import "./chunk-DZIXKL7E.js";
|
|
40
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-6L3B44DH.js";
|
|
41
43
|
import {
|
|
42
44
|
blocksToMarkdown
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
45
|
+
} from "./chunk-ZASGH5EN.js";
|
|
46
|
+
import "./chunk-B63QEHYL.js";
|
|
47
|
+
import "./chunk-YBZJMAE2.js";
|
|
46
48
|
import {
|
|
47
49
|
VERSION,
|
|
48
50
|
classifyError,
|
|
49
51
|
sanitizeError,
|
|
50
52
|
toArrayBuffer
|
|
51
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-PUZZFYLV.js";
|
|
52
54
|
|
|
53
55
|
// src/cli.ts
|
|
54
56
|
import { readFileSync, writeFileSync, mkdirSync, statSync } from "fs";
|
|
@@ -143,7 +145,7 @@ program.name("kordoc").description("\uBAA8\uB450 \uD30C\uC2F1\uD574\uBC84\uB9AC\
|
|
|
143
145
|
`);
|
|
144
146
|
}
|
|
145
147
|
} else if (opts.format === "chunks") {
|
|
146
|
-
const { blocksToChunks } = await import("./chunks-
|
|
148
|
+
const { blocksToChunks } = await import("./chunks-VICNQMNE.js");
|
|
147
149
|
output = JSON.stringify(blocksToChunks(result.blocks), null, 2);
|
|
148
150
|
} else {
|
|
149
151
|
output = markdown;
|
|
@@ -203,7 +205,7 @@ program.command("watch <dir>").description("\uB514\uB809\uD1A0\uB9AC \uAC10\uC2D
|
|
|
203
205
|
if (command.getOptionValueSource("format") === "default" && program.getOptionValueSource("format") === "cli") {
|
|
204
206
|
opts.format = rootOpts.format;
|
|
205
207
|
}
|
|
206
|
-
const { watchDirectory } = await import("./watch-
|
|
208
|
+
const { watchDirectory } = await import("./watch-GPWYJAS2.js");
|
|
207
209
|
await watchDirectory({
|
|
208
210
|
dir,
|
|
209
211
|
outDir: opts.outDir,
|
|
@@ -425,7 +427,7 @@ program.command("fill [file]").description("\uC11C\uC2DD \uBB38\uC11C\uC758 \uBE
|
|
|
425
427
|
});
|
|
426
428
|
program.command("seal <file>").description('\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBBF8\uC9C0\uB97C \uC575\uCEE4 \uBB38\uAD6C \uC704\uC5D0 \uBD80\uC720 \uBC30\uCE58 (\uD45C/\uD398\uC774\uC9C0 \uBD88\uD655\uC7A5) \u2014 kordoc seal \uC2E0\uCCAD\uC11C.hwpx --image \uB3C4\uC7A5.png --anchor "(\uC778)" -o \uACB0\uACFC.hwpx').requiredOption("--image <path>", "\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBBF8\uC9C0 (\uD22C\uBA85 \uBC30\uACBD PNG \uAD8C\uC7A5)").option("--anchor <text>", "\uC575\uCEE4 \uBB38\uAD6C", "(\uC778)").option("-n, --occurrence <num>", "\uAC19\uC740 \uC575\uCEE4\uAC00 \uC5EC\uB7FF\uC77C \uB54C 0-based \uC120\uD0DD", "0").option("--size-mm <num>", "\uB3C4\uC7A5 \uD55C \uBCC0 \uD06C\uAE30 mm (\uAE30\uBCF8: \uC904\uB192\uC774\xD71.6, 7~18 \uD074\uB7A8\uD504)").option("--mode <mode>", "overlap(\uBB38\uAD6C \uC704 \uACB9\uCE68) | right(\uC624\uB978\uCABD \uC606) | auto", "auto").option("--dx <mm>", "x \uBBF8\uC138\uC870\uC815 mm", "0").option("--dy <mm>", "y \uBBF8\uC138\uC870\uC815 mm", "0").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uAE30\uBCF8: <\uC785\uB825>.sealed.hwpx)").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (file, opts) => {
|
|
427
429
|
try {
|
|
428
|
-
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-
|
|
430
|
+
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-FWGDIOV4.js");
|
|
429
431
|
const rootOpts = program.opts();
|
|
430
432
|
const output = opts.output ?? rootOpts.output;
|
|
431
433
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -503,7 +505,7 @@ program.command("seal <file>").description('\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBB
|
|
|
503
505
|
});
|
|
504
506
|
program.command("patch <original> <edited>").description("\uC11C\uC2DD \uBCF4\uC874 \uB77C\uC6B4\uB4DC\uD2B8\uB9BD \uD328\uCE58 \u2014 \uD3B8\uC9D1\uB41C \uB9C8\uD06C\uB2E4\uC6B4\uC744 \uC6D0\uBCF8 HWPX/HWP\uC5D0 in-place \uBC18\uC601 (kordoc patch \uC6D0\uBCF8.hwpx \uD3B8\uC9D1.md -o \uCD9C\uB825.hwpx). \uBBF8\uC801\uC6A9(skip) \uD3B8\uC9D1\uC774 \uC788\uC73C\uBA74 exit 2").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uAE30\uBCF8: <\uC6D0\uBCF8>.patched.hwpx|.hwp)").option("--no-verify", "\uD328\uCE58 \uD6C4 \uC7AC\uD30C\uC2F1 \uC790\uB3D9 \uAC80\uC99D \uC0DD\uB7B5").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (original, edited, opts) => {
|
|
505
507
|
try {
|
|
506
|
-
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-
|
|
508
|
+
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-FWGDIOV4.js");
|
|
507
509
|
const rootOpts = program.opts();
|
|
508
510
|
const output = opts.output ?? rootOpts.output;
|
|
509
511
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -544,7 +546,7 @@ program.command("patch <original> <edited>").description("\uC11C\uC2DD \uBCF4\uC
|
|
|
544
546
|
});
|
|
545
547
|
program.command("validate <file>").description("HWPX \uAD6C\uC870 \uAC80\uC99D \u2014 ZIP\xB7mimetype\xB7\uD544\uC218 \uD30C\uC77C\xB7XML \uC6F0\uD3FC\uB4DC\xB7secCnt\xB7manifest \uCC38\uC870 (\uD55C\uCEF4\uB3C5\uC2A4 \uAC70\uBD80 \uC694\uC778 \uC0AC\uC804 \uCC28\uB2E8)").option("--json", "\uACB0\uACFC\uB97C JSON\uC73C\uB85C stdout\uC5D0 \uCD9C\uB825").action(async (file, opts) => {
|
|
546
548
|
try {
|
|
547
|
-
const { validateHwpx } = await import("./-
|
|
549
|
+
const { validateHwpx } = await import("./-FWGDIOV4.js");
|
|
548
550
|
const buf = new Uint8Array(readFileSync(resolve(file)));
|
|
549
551
|
const result = await validateHwpx(buf);
|
|
550
552
|
if (opts.json) {
|
|
@@ -567,7 +569,7 @@ program.command("validate <file>").description("HWPX \uAD6C\uC870 \uAC80\uC99D \
|
|
|
567
569
|
process.exit(1);
|
|
568
570
|
}
|
|
569
571
|
});
|
|
570
|
-
program.command("generate <markdown>").alias("gen").description("\uB9C8\uD06C\uB2E4\uC6B4 \u2192 \uACF5\uBB38\uC11C HWPX \uC0DD\uC131 \u2014 kordoc generate \uBCF4\uACE0\uC11C.md -o \uBCF4\uACE0\uC11C.hwpx --preset \uBCF4\uACE0\uC11C (markdown\uC5D0 '-' \uC9C0\uC815 \uC2DC stdin)").option("-o, --output <path>", "\uCD9C\uB825 HWPX \uACBD\uB85C (\uAE30\uBCF8: <\uC785\uB825>.hwpx)").option("--preset <name>", "\uACF5\uBB38\uC11C \uD504\uB9AC\uC14B: \uAE30\uC548\uBB38(official)\xB7\uBCF4\uACE0\uC11C(report)\xB7\uACC4\uD68D\uC11C(plan)\xB7\uD1B5\uC9C0(notice)\xB7\uD68C\uC758\uB85D(minutes)\xB7\uAC1C\uC870\uC2DD(gaejosik \u2014 \uD45C\uC9C0\xB7\uBAA9\uCC28\xB7\uC7A5\uD5E4\uB354 \uC790\uB3D9)\xB7\uBCF4\uB3C4\uC790\uB8CC(press)", "\uAE30\uC548\uBB38").option("--font <type>", "\uBCF8\uBB38 \uAE00\uAF34: myeongjo(\uD568\uCD08\uB86C\uBC14\uD0D5) \uB610\uB294 gothic(\uB9D1\uC740 \uACE0\uB515)").option("--pt <size>", "\uBCF8\uBB38 \uAE00\uC790 \uD06C\uAE30(pt)").option("--line-spacing <percent>", "\uBCF8\uBB38 \uC904\uAC04\uACA9(%)").option("--profile <path>", "\uC11C\uC2DD \uD504\uB85C\uD544 JSON (kordoc profile\uB85C \uCD94\uCD9C) \u2014 \uCC38\uC870 \uBB38\uC11C\uC758 \uD45C \uD14C\uB450\uB9AC\xB7\uC74C\uC601\xB7\uC5F4\uD3ED\xB7\uC140 \uAE00\uAF34 \uC7AC\uD604").option("--org <name>", "\uD45C\uC9C0 \uAE30\uAD00\uBA85 (\uD45C\uC9C0\uB97C \uCF1C\uB294 \uD504\uB9AC\uC14B \uACF5\uD1B5)").option("--date <date>", "\uD45C\uC9C0 \uB0A0\uC9DC (\uAE30\uBCF8 \uC624\uB298 \u2014 'YYYY. M. D.')").option("--toc", "\uBAA9\uCC28 \uD398\uC774\uC9C0 \uAC15\uC81C \uCF1C\uAE30 (\uAC1C\uC870\uC2DD \uC678 \uD504\uB9AC\uC14B\uC5D0\uC11C\uB3C4 h2 \uBAA9\uB85D\uC73C\uB85C \uC0DD\uC131)").option("--no-toc", "\uBAA9\uCC28 \uD398\uC774\uC9C0 \uB044\uAE30 (\uAC1C\uC870\uC2DD \uD504\uB9AC\uC14B \uAE30\uBCF8 \uCF1C\uC9D0)").option("--cover", "\uD45C\uC9C0 \uD398\uC774\uC9C0 \uAC15\uC81C \uCF1C\uAE30 (\uAC1C\uC870\uC2DD \uC678 \uD504\uB9AC\uC14B\uC5D0\uC11C\uB3C4 \uCCAB h1\uC744 \uD45C\uC9C0\uB85C)").option("--no-cover", "\uD45C\uC9C0 \uD398\uC774\uC9C0 \uB044\uAE30 (\uAC1C\uC870\uC2DD \uD504\uB9AC\uC14B \uAE30\uBCF8 \uCF1C\uC9D0)").option("--approval <labels>", "\uACB0\uC7AC\uB780 \uC9C1\uC704 \uB77C\uBCA8 (\uC27C\uD45C \uAD6C\uBD84, \uC608: \uB2F4\uB2F9,\uD300\uC7A5,\uACFC\uC7A5) \u2014 \uBB38\uC11C \uCD5C\uC0C1\uB2E8 \uC6B0\uCE21").option("--page-numbers", "\uCABD\uBC88\uD638 \uAC15\uC81C \uCF1C\uAE30 (\uD558\uB2E8 \uC911\uC559 '- 1 -')").option("--no-page-numbers", "\uCABD\uBC88\uD638 \uB044\uAE30 (\uAC1C\uC870\uC2DD\xB7\uBCF4\uACE0\uC11C\xB7\uACC4\uD68D\uC11C \uAE30\uBCF8 \uCF1C\uC9D0)").option("--end-mark", "\uBCF8\uBB38 \uB05D '\uB05D.' \uD45C\uC2DC \uAC15\uC81C \uCF1C\uAE30").option("--no-end-mark", "'\uB05D.' \uD45C\uC2DC \uB044\uAE30 (\uAE30\uC548\uBB38 \uAE30\uBCF8 \uCF1C\uC9D0)").option("--no-body-title-box", "\uBCF8\uBB38 \uCCAB \uD398\uC774\uC9C0 \uC81C\uBAA9 \uBC18\uBCF5 \uBC15\uC2A4 \uB044\uAE30 (\uAC1C\uC870\uC2DD+\uD45C\uC9C0 \uAE30\uBCF8 \uCF1C\uC9D0)").option("--h2-marker <type>", "h2 \uC139\uC158 \uC81C\uBAA9 \uB9D0\uBA38\uB9AC: box(\u25A1 \u2014 \uBCF4\uACE0\uC11C\xB7\uACC4\uD68D\uC11C \uAE30\uBCF8)\xB7number(1. \u2014 \uACF5\uACE0\uBB38 \uAD00\uD589)\xB7none").option("--fonts <spec>", "\uC694\uC18C\uBCC4 \uAE00\uAF34 \uC624\uBC84\uB77C\uC774\uB4DC: body=\uB098\uB214\uBA85\uC870,heading=\uB098\uB214\uACE0\uB515,ref=\uD55C\uC591\uC911\uACE0\uB515,table=\uB9D1\uC740 \uACE0\uB515").option("--sizes <spec>", "\uAC1C\uC870\uC2DD \uC694\uC18C\uBCC4 \uD06C\uAE30(pt): dae=16,cham=13,table=12,coverTitle=30 \u2026").option("--bullet2 <char>", "2\uB2E8\uACC4 \uD56D\uBAA9\uBD80\uD638: \u3147(\uC774\uC751 \u2014 \uAE30\uC548\uBB38\xB7\uACF5\uACE0\uBB38 \uC2E4\uCE21 \uC9C0\uBC30) \uB610\uB294 \u25CB(\uC6D0 \u2014 \uBCF4\uACE0\uC11C \uC591\uC2DD)").option("--suppress-single", "\uB2E8\uC77C \uD615\uC81C \uD56D\uBAA9 \uBD80\uD638 \uC0DD\uB7B5 (\uD3B8\uB78C \uADDC\uC815 \u2014 \uAE30\uBCF8\uC740 \uD558\uB098\uC5EC\uB3C4 \uBD80\uD638 \uBD80\uC5EC)").option("--doc-head <spec>", "\uAE30\uC548\uBB38 \uB450\uBB38: org=\uD589\uC815\uC548\uC804\uBD80,to=\uC218\uC2E0\uCC98,title=\uC81C\uBAA9 (\uBCC4\uC9C0 \uC81C1\uD638\uC11C\uC2DD)").option("--doc-foot <spec>", "\uAE30\uC548\uBB38 \uACB0\uBB38: sender=\uC7A5\uAD00\uBA85\uC758,drafter=\uAE30\uC548\uC790,reviewer=\uAC80\uD1A0\uC790,approver=\uACB0\uC7AC\uAD8C\uC790,docNum=\uC2DC\uD589\uBC88\uD638,phone=\uC804\uD654,email=\uBA54\uC77C,disclosure=\uACF5\uAC1C\uAD6C\uBD84 \u2026").option("--report-info <text>", "\uC5C5\uBB34\uBCF4\uACE0 \uC6B0\uC0C1\uB2E8 \uBCF4\uACE0\uC815\uBCF4 \uD589 \u2014 \uC608: '(2026. 7. 11., \uACFC\uC7A5 \uD64D\uAE38\uB3D9, \u260E02-120)'").option("--notice-head <spec>", "\uACF5\uACE0\uBB38 \uB450\uBB38\xB7\uACB0\uBB38: no=\uACF5\uACE0 \uC81C2026-1\uD638,date=2026\uB144 7\uC6D4 11\uC77C,sender=\uD589\uC815\uC548\uC804\uBD80\uC7A5\uAD00").option("--press-head <spec>", "\uBCF4\uB3C4\uC790\uB8CC \uBA38\uB9AC: release=\uBCF4\uB3C4\uC2DC\uC810,distribute=\uBC30\uD3EC\uC77C,dept=\uB2F4\uB2F9\uBD80\uC11C,manager=\uB2F4\uB2F9\uC790,phone=\uC5F0\uB77D\uCC98").option("--press-sub <items>", "\uBCF4\uB3C4\uC790\uB8CC \uBD80\uC81C (\uC138\uBBF8\uCF5C\uB860 \uAD6C\uBD84, \uC81C\uBAA9 \uC544\uB798 '- \u2026 -')").option("--plain", "\uACF5\uBB38\uC11C \uBAA8\uB4DC \uB044\uAE30 (\uBC94\uC6A9 \uB9C8\uD06C\uB2E4\uC6B4 \uBCC0\uD658)").option("--paper <size>", "\uC6A9\uC9C0: A4\xB7A3\xB7B4\xB7B5\xB7Letter \uB610\uB294 '210x297'(mm)").option("--landscape", "\uC6A9\uC9C0 \uAC00\uB85C \uBC29\uD5A5").option("--columns <n>", "\uB2E4\uB2E8 \uAC1C\uC218 (1~8)").option("--header <text>", "\uBA38\uB9AC\uB9D0 \uD14D\uC2A4\uD2B8 (\uBAA8\uB4E0 \uCABD, \uC778\uB77C\uC778 \uB9C8\uD06C\uB2E4\uC6B4 \uD5C8\uC6A9)").option("--footer <text>", "\uAF2C\uB9AC\uB9D0 \uD14D\uC2A4\uD2B8").option("--image-dir <dir>", "\uB9C8\uD06C\uB2E4\uC6B4 \uC774\uBBF8\uC9C0 \uCC38\uC870()\uB97C \uC774 \uB514\uB809\uD1A0\uB9AC\uC5D0\uC11C \uC77D\uC5B4 \uC2E4\uB370\uC774\uD130 \uC784\uBCA0\uB4DC").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (markdown, opts) => {
|
|
572
|
+
program.command("generate <markdown>").alias("gen").description("\uB9C8\uD06C\uB2E4\uC6B4 \u2192 \uACF5\uBB38\uC11C HWPX \uC0DD\uC131 \u2014 kordoc generate \uBCF4\uACE0\uC11C.md -o \uBCF4\uACE0\uC11C.hwpx --preset \uBCF4\uACE0\uC11C (markdown\uC5D0 '-' \uC9C0\uC815 \uC2DC stdin)").option("-o, --output <path>", "\uCD9C\uB825 HWPX \uACBD\uB85C (\uAE30\uBCF8: <\uC785\uB825>.hwpx)").option("--preset <name>", "\uACF5\uBB38\uC11C \uD504\uB9AC\uC14B: \uAE30\uC548\uBB38(official)\xB7\uBCF4\uACE0\uC11C(report)\xB7\uACC4\uD68D\uC11C(plan)\xB7\uD1B5\uC9C0(notice)\xB7\uD68C\uC758\uB85D(minutes)\xB7\uAC1C\uC870\uC2DD(gaejosik \u2014 \uD45C\uC9C0\xB7\uBAA9\uCC28\xB7\uC7A5\uD5E4\uB354 \uC790\uB3D9)\xB7\uBCF4\uB3C4\uC790\uB8CC(press)", "\uAE30\uC548\uBB38").option("--font <type>", "\uBCF8\uBB38 \uAE00\uAF34: myeongjo(\uD568\uCD08\uB86C\uBC14\uD0D5) \uB610\uB294 gothic(\uB9D1\uC740 \uACE0\uB515)").option("--pt <size>", "\uBCF8\uBB38 \uAE00\uC790 \uD06C\uAE30(pt)").option("--line-spacing <percent>", "\uBCF8\uBB38 \uC904\uAC04\uACA9(%)").option("--profile <path>", "\uC11C\uC2DD \uD504\uB85C\uD544 JSON (kordoc profile\uB85C \uCD94\uCD9C) \u2014 \uCC38\uC870 \uBB38\uC11C\uC758 \uD45C \uD14C\uB450\uB9AC\xB7\uC74C\uC601\xB7\uC5F4\uD3ED\xB7\uC140 \uAE00\uAF34 \uC7AC\uD604").option("--org <name>", "\uD45C\uC9C0 \uAE30\uAD00\uBA85 (\uD45C\uC9C0\uB97C \uCF1C\uB294 \uD504\uB9AC\uC14B \uACF5\uD1B5)").option("--date <date>", "\uD45C\uC9C0 \uB0A0\uC9DC (\uAE30\uBCF8 \uC624\uB298 \u2014 'YYYY. M. D.')").option("--toc", "\uBAA9\uCC28 \uD398\uC774\uC9C0 \uAC15\uC81C \uCF1C\uAE30 (\uAC1C\uC870\uC2DD \uC678 \uD504\uB9AC\uC14B\uC5D0\uC11C\uB3C4 h2 \uBAA9\uB85D\uC73C\uB85C \uC0DD\uC131)").option("--no-toc", "\uBAA9\uCC28 \uD398\uC774\uC9C0 \uB044\uAE30 (\uAC1C\uC870\uC2DD \uD504\uB9AC\uC14B \uAE30\uBCF8 \uCF1C\uC9D0)").option("--cover", "\uD45C\uC9C0 \uD398\uC774\uC9C0 \uAC15\uC81C \uCF1C\uAE30 (\uAC1C\uC870\uC2DD \uC678 \uD504\uB9AC\uC14B\uC5D0\uC11C\uB3C4 \uCCAB h1\uC744 \uD45C\uC9C0\uB85C)").option("--no-cover", "\uD45C\uC9C0 \uD398\uC774\uC9C0 \uB044\uAE30 (\uAC1C\uC870\uC2DD \uD504\uB9AC\uC14B \uAE30\uBCF8 \uCF1C\uC9D0)").option("--approval <labels>", "\uACB0\uC7AC\uB780 \uC9C1\uC704 \uB77C\uBCA8 (\uC27C\uD45C \uAD6C\uBD84, \uC608: \uB2F4\uB2F9,\uD300\uC7A5,\uACFC\uC7A5) \u2014 \uBB38\uC11C \uCD5C\uC0C1\uB2E8 \uC6B0\uCE21").option("--page-numbers", "\uCABD\uBC88\uD638 \uAC15\uC81C \uCF1C\uAE30 (\uD558\uB2E8 \uC911\uC559 '- 1 -')").option("--no-page-numbers", "\uCABD\uBC88\uD638 \uB044\uAE30 (\uAC1C\uC870\uC2DD\xB7\uBCF4\uACE0\uC11C\xB7\uACC4\uD68D\uC11C \uAE30\uBCF8 \uCF1C\uC9D0)").option("--end-mark", "\uBCF8\uBB38 \uB05D '\uB05D.' \uD45C\uC2DC \uAC15\uC81C \uCF1C\uAE30").option("--no-end-mark", "'\uB05D.' \uD45C\uC2DC \uB044\uAE30 (\uAE30\uC548\uBB38 \uAE30\uBCF8 \uCF1C\uC9D0)").option("--no-body-title-box", "\uBCF8\uBB38 \uCCAB \uD398\uC774\uC9C0 \uC81C\uBAA9 \uBC18\uBCF5 \uBC15\uC2A4 \uB044\uAE30 (\uAC1C\uC870\uC2DD+\uD45C\uC9C0 \uAE30\uBCF8 \uCF1C\uC9D0)").option("--h2-marker <type>", "h2 \uC139\uC158 \uC81C\uBAA9 \uB9D0\uBA38\uB9AC: box(\u25A1 \u2014 \uBCF4\uACE0\uC11C\xB7\uACC4\uD68D\uC11C \uAE30\uBCF8)\xB7number(1. \u2014 \uACF5\uACE0\uBB38 \uAD00\uD589)\xB7none").option("--fonts <spec>", "\uC694\uC18C\uBCC4 \uAE00\uAF34 \uC624\uBC84\uB77C\uC774\uB4DC: body=\uB098\uB214\uBA85\uC870,heading=\uB098\uB214\uACE0\uB515,ref=\uD55C\uC591\uC911\uACE0\uB515,table=\uB9D1\uC740 \uACE0\uB515").option("--sizes <spec>", "\uAC1C\uC870\uC2DD \uC694\uC18C\uBCC4 \uD06C\uAE30(pt): dae=16,cham=13,table=12,coverTitle=30 \u2026").option("--levels <spec>", "\uD56D\uBAA9\uBD80\uD638 \uB2E8\uACC4\uBCC4 \uC704\uACC4 \uD0C0\uC774\uD3EC: 0=HY\uACAC\uACE0\uB515/17/bold,1=\uD55C\uCEF4\uB3CB\uC6C0/15/bold,2=\uD734\uBA3C\uBA85\uC870/14 (depth 0~7, \uC22B\uC790=pt\xB7bold\xB7plain\xB7\uAE00\uAF34\uBA85)").option("--bullet2 <char>", "2\uB2E8\uACC4 \uD56D\uBAA9\uBD80\uD638: \u3147(\uC774\uC751 \u2014 \uAE30\uC548\uBB38\xB7\uACF5\uACE0\uBB38 \uC2E4\uCE21 \uC9C0\uBC30) \uB610\uB294 \u25CB(\uC6D0 \u2014 \uBCF4\uACE0\uC11C \uC591\uC2DD)").option("--suppress-single", "\uB2E8\uC77C \uD615\uC81C \uD56D\uBAA9 \uBD80\uD638 \uC0DD\uB7B5 (\uD3B8\uB78C \uADDC\uC815 \u2014 \uAE30\uBCF8\uC740 \uD558\uB098\uC5EC\uB3C4 \uBD80\uD638 \uBD80\uC5EC)").option("--doc-head <spec>", "\uAE30\uC548\uBB38 \uB450\uBB38: org=\uD589\uC815\uC548\uC804\uBD80,to=\uC218\uC2E0\uCC98,title=\uC81C\uBAA9 (\uBCC4\uC9C0 \uC81C1\uD638\uC11C\uC2DD)").option("--doc-foot <spec>", "\uAE30\uC548\uBB38 \uACB0\uBB38: sender=\uC7A5\uAD00\uBA85\uC758,drafter=\uAE30\uC548\uC790,reviewer=\uAC80\uD1A0\uC790,approver=\uACB0\uC7AC\uAD8C\uC790,docNum=\uC2DC\uD589\uBC88\uD638,phone=\uC804\uD654,email=\uBA54\uC77C,disclosure=\uACF5\uAC1C\uAD6C\uBD84 \u2026").option("--report-info <text>", "\uC5C5\uBB34\uBCF4\uACE0 \uC6B0\uC0C1\uB2E8 \uBCF4\uACE0\uC815\uBCF4 \uD589 \u2014 \uC608: '(2026. 7. 11., \uACFC\uC7A5 \uD64D\uAE38\uB3D9, \u260E02-120)'").option("--notice-head <spec>", "\uACF5\uACE0\uBB38 \uB450\uBB38\xB7\uACB0\uBB38: no=\uACF5\uACE0 \uC81C2026-1\uD638,date=2026\uB144 7\uC6D4 11\uC77C,sender=\uD589\uC815\uC548\uC804\uBD80\uC7A5\uAD00").option("--press-head <spec>", "\uBCF4\uB3C4\uC790\uB8CC \uBA38\uB9AC: release=\uBCF4\uB3C4\uC2DC\uC810,distribute=\uBC30\uD3EC\uC77C,dept=\uB2F4\uB2F9\uBD80\uC11C,manager=\uB2F4\uB2F9\uC790,phone=\uC5F0\uB77D\uCC98").option("--press-sub <items>", "\uBCF4\uB3C4\uC790\uB8CC \uBD80\uC81C (\uC138\uBBF8\uCF5C\uB860 \uAD6C\uBD84, \uC81C\uBAA9 \uC544\uB798 '- \u2026 -')").option("--plain", "\uACF5\uBB38\uC11C \uBAA8\uB4DC \uB044\uAE30 (\uBC94\uC6A9 \uB9C8\uD06C\uB2E4\uC6B4 \uBCC0\uD658)").option("--paper <size>", "\uC6A9\uC9C0: A4\xB7A3\xB7B4\xB7B5\xB7Letter \uB610\uB294 '210x297'(mm)").option("--landscape", "\uC6A9\uC9C0 \uAC00\uB85C \uBC29\uD5A5").option("--columns <n>", "\uB2E4\uB2E8 \uAC1C\uC218 (1~8)").option("--header <text>", "\uBA38\uB9AC\uB9D0 \uD14D\uC2A4\uD2B8 (\uBAA8\uB4E0 \uCABD, \uC778\uB77C\uC778 \uB9C8\uD06C\uB2E4\uC6B4 \uD5C8\uC6A9)").option("--footer <text>", "\uAF2C\uB9AC\uB9D0 \uD14D\uC2A4\uD2B8").option("--image-dir <dir>", "\uB9C8\uD06C\uB2E4\uC6B4 \uC774\uBBF8\uC9C0 \uCC38\uC870()\uB97C \uC774 \uB514\uB809\uD1A0\uB9AC\uC5D0\uC11C \uC77D\uC5B4 \uC2E4\uB370\uC774\uD130 \uC784\uBCA0\uB4DC").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (markdown, opts) => {
|
|
571
573
|
try {
|
|
572
574
|
const rootOpts = program.opts();
|
|
573
575
|
const output = opts.output ?? rootOpts.output;
|
|
@@ -635,6 +637,7 @@ program.command("generate <markdown>").alias("gen").description("\uB9C8\uD06C\uB
|
|
|
635
637
|
sizes: opts.sizes ? Object.fromEntries(
|
|
636
638
|
Object.entries(parseKv(String(opts.sizes), "--sizes")).map(([k, v]) => [k, Number(v)]).filter(([, v]) => Number.isFinite(v))
|
|
637
639
|
) : void 0,
|
|
640
|
+
levels: opts.levels ? parseLevelsSpec(String(opts.levels)) : void 0,
|
|
638
641
|
bullet2: enumCheck("--bullet2", opts.bullet2, BULLET2_CHARS),
|
|
639
642
|
suppressSingle: opts.suppressSingle ? true : void 0,
|
|
640
643
|
docHead: opts.docHead ? parseKv(String(opts.docHead), "--doc-head") : void 0,
|
|
@@ -651,6 +654,10 @@ program.command("generate <markdown>").alias("gen").description("\uB9C8\uD06C\uB
|
|
|
651
654
|
}
|
|
652
655
|
if (gongmun?.fonts && !silent) {
|
|
653
656
|
for (const w of unknownFontWarnings(gongmun.fonts)) process.stderr.write(`[kordoc] ${w}
|
|
657
|
+
`);
|
|
658
|
+
}
|
|
659
|
+
if (gongmun?.levels && !silent) {
|
|
660
|
+
for (const w of unknownFontWarnings(levelFontRecord(gongmun.levels))) process.stderr.write(`[kordoc] ${w}
|
|
654
661
|
`);
|
|
655
662
|
}
|
|
656
663
|
if (gongmun && !silent) {
|
|
@@ -789,7 +796,7 @@ program.command("lint <file>").description("\uACF5\uBB38\uC11C \uD45C\uAE30\uBC9
|
|
|
789
796
|
}
|
|
790
797
|
});
|
|
791
798
|
program.command("redact <files...>").description("\uAC1C\uC778\uC815\uBCF4 \uC11C\uC2DD \uBCF4\uC874 \uB9C8\uC2A4\uD0B9 \u2014 \uC8FC\uBBFC\uBC88\uD638\xB7\uC804\uD654\xB7\uC774\uBA54\uC77C\xB7\uCE74\uB4DC\xB7\uACC4\uC88C\uB97C \uD0D0\uC9C0\uD574 HWPX/HWP\uB294 \uC6D0\uBCF8 \uC11C\uC2DD \uADF8\uB300\uB85C patch, \uADF8 \uC678 \uD3EC\uB9F7\uC740 \uB9C8\uC2A4\uD0B9\uB41C \uB9C8\uD06C\uB2E4\uC6B4 \uCD9C\uB825. \uC790\uB3D9 \uAC80\uCD9C \uBCF4\uC870 \uB3C4\uAD6C\uC774\uBBC0\uB85C \uACB0\uACFC\uB294 \uBC18\uB4DC\uC2DC \uC0AC\uB78C\uC774 \uCD5C\uC885 \uD655\uC778\uD558\uC138\uC694 (\uC774\uBBF8\uC9C0 \uC548 \uD14D\uC2A4\uD2B8\uB294 \uD0D0\uC9C0 \uBD88\uAC00)").option("--rules <csv>", "\uC801\uC6A9 \uB8F0 (\uAE30\uBCF8: rrn,phone,email,card,account \u2014 passport,driver\uB294 opt-in)").option("--mask-char <ch>", "\uB9C8\uC2A4\uD06C \uBB38\uC790 1\uAE00\uC790 (\uAE30\uBCF8: \u25CF)").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uB2E8\uC77C \uD30C\uC77C \uC2DC)").option("-d, --out-dir <dir>", "\uCD9C\uB825 \uB514\uB809\uD1A0\uB9AC (\uB2E4\uC911 \uD30C\uC77C \uC2DC)").option("--dry-run", "\uD0D0\uC9C0 \uB9AC\uD3EC\uD2B8\uB9CC \uCD9C\uB825, \uD30C\uC77C \uBBF8\uC0DD\uC131").option("--json", "\uB9AC\uD3EC\uD2B8\uB97C JSON\uC73C\uB85C stdout \uCD9C\uB825").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (files, opts) => {
|
|
792
|
-
const { redactMarkdown, DEFAULT_REDACT_RULES, patchHwpx, patchHwp } = await import("./-
|
|
799
|
+
const { redactMarkdown, DEFAULT_REDACT_RULES, patchHwpx, patchHwp } = await import("./-FWGDIOV4.js");
|
|
793
800
|
const rootOpts = program.opts();
|
|
794
801
|
const output = opts.output ?? rootOpts.output;
|
|
795
802
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -878,7 +885,7 @@ program.command("render <file>").description("\uB808\uC774\uC544\uC6C3 \uBCF4\uC
|
|
|
878
885
|
const rootOpts = program.opts();
|
|
879
886
|
const output = opts.output ?? rootOpts.output;
|
|
880
887
|
const silent = opts.silent ?? rootOpts.silent;
|
|
881
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
888
|
+
const { renderHwpxToSvg } = await import("./render-MDLTQUUV.js");
|
|
882
889
|
const absPath = resolve(file);
|
|
883
890
|
const buffer = readFileSync(absPath);
|
|
884
891
|
const highlights = opts.highlight ? String(opts.highlight).split(",") : void 0;
|
|
@@ -900,7 +907,7 @@ program.command("render <file>").description("\uB808\uC774\uC544\uC6C3 \uBCF4\uC
|
|
|
900
907
|
});
|
|
901
908
|
program.command("render-worker").description("persistent \uB80C\uB354 \uC6CC\uCEE4 \u2014 stdin NDJSON \uC694\uCCAD \u2192 \uC870\uD310 SVG \uD30C\uC77C \uCD9C\uB825 (\uD504\uB85C\uC138\uC2A4 \uC720\uC9C0, \uCF5C\uB4DC\uC2A4\uD0C0\uD2B8 \uC81C\uAC70)").action(async () => {
|
|
902
909
|
const { createInterface } = await import("readline");
|
|
903
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
910
|
+
const { renderHwpxToSvg } = await import("./render-MDLTQUUV.js");
|
|
904
911
|
const rl = createInterface({ input: process.stdin });
|
|
905
912
|
const write = (o) => void process.stdout.write(JSON.stringify(o) + "\n");
|
|
906
913
|
write({ ready: true, version: VERSION });
|
|
@@ -945,12 +952,12 @@ program.command("mcp").description("MCP \uC11C\uBC84 \uC2E4\uD589 (Claude / Curs
|
|
|
945
952
|
await startMcpServer();
|
|
946
953
|
});
|
|
947
954
|
program.command("setup").description("\uB300\uD654\uD615 \uC124\uCE58 \uB9C8\uBC95\uC0AC \u2014 AI \uD074\uB77C\uC774\uC5B8\uD2B8 \uC790\uB3D9 \uB4F1\uB85D (Mac/Win/Linux)").action(async () => {
|
|
948
|
-
const { runSetup } = await import("./setup-
|
|
955
|
+
const { runSetup } = await import("./setup-O2DALZKF.js");
|
|
949
956
|
await runSetup();
|
|
950
957
|
});
|
|
951
958
|
program.command("check-formula-models").description("PDF \uC218\uC2DD OCR \uBAA8\uB378(MFD + MFR + tokenizer, ~155MB) \uC0C1\uD0DC \uD655\uC778 \u2014 \uC5C6\uAC70\uB098 SHA \uBD88\uC77C\uCE58\uBA74 \uB2E4\uC6B4\uB85C\uB4DC").option("--status-only", "\uC0C1\uD0DC\uB9CC JSON \uC73C\uB85C \uCD9C\uB825 (\uB2E4\uC6B4\uB85C\uB4DC \uC548 \uD568)").action(async (opts) => {
|
|
952
959
|
try {
|
|
953
|
-
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-
|
|
960
|
+
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-YJWKEPUK.js");
|
|
954
961
|
const dir = getFormulaModelsDir();
|
|
955
962
|
if (opts.statusOnly) {
|
|
956
963
|
const status = await getFormulaModelStatus();
|
|
@@ -1004,7 +1011,7 @@ program.command("check-formula-models").description("PDF \uC218\uC2DD OCR \uBAA8
|
|
|
1004
1011
|
});
|
|
1005
1012
|
program.command("check-ocr-models").description("\uD14D\uC2A4\uD2B8 OCR \uBAA8\uB378(PP-OCRv5 korean det+rec, ~18MB) \uC0C1\uD0DC \uD655\uC778 \u2014 \uC5C6\uAC70\uB098 SHA \uBD88\uC77C\uCE58\uBA74 \uB2E4\uC6B4\uB85C\uB4DC").option("--status-only", "\uC0C1\uD0DC\uB9CC JSON \uC73C\uB85C \uCD9C\uB825 (\uB2E4\uC6B4\uB85C\uB4DC \uC548 \uD568)").action(async (opts) => {
|
|
1006
1013
|
try {
|
|
1007
|
-
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-
|
|
1014
|
+
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-FJ3IUNTB.js");
|
|
1008
1015
|
const dir = getOcrModelsDir();
|
|
1009
1016
|
if (opts.statusOnly) {
|
|
1010
1017
|
const status = await getOcrModelStatus();
|
|
@@ -1058,7 +1065,7 @@ program.command("check-ocr-models").description("\uD14D\uC2A4\uD2B8 OCR \uBAA8\u
|
|
|
1058
1065
|
});
|
|
1059
1066
|
program.command("models").description("OCR/\uC218\uC2DD \uBAA8\uB378 \uC624\uD504\uB77C\uC778 \uC0AC\uC774\uB4DC\uB85C\uB4DC \u2014 \uD3D0\uC1C4\uB9DD \uBC18\uC785\uC6A9 \uB0B4\uBCF4\uB0B4\uAE30/\uAC00\uC838\uC624\uAE30 (SHA-256 \uAC80\uC99D)").option("--status", "\uCE90\uC2DC\uC5D0 \uC124\uCE58\uB41C \uBAA8\uB378 \uC0C1\uD0DC\uB97C JSON \uC73C\uB85C \uCD9C\uB825").option("--export <dir>", "\uB85C\uCEEC \uCE90\uC2DC \u2192 \uBC88\uB4E4 \uB514\uB809\uD1A0\uB9AC\uB85C \uB0B4\uBCF4\uB0B4\uAE30 (\uC628\uB77C\uC778 PC\uC5D0\uC11C \uC2E4\uD589)").option("--import <dir>", "\uBC88\uB4E4 \uB514\uB809\uD1A0\uB9AC \u2192 \uB85C\uCEEC \uCE90\uC2DC\uB85C \uC124\uCE58 (\uB0B4\uBD80\uB9DD PC\uC5D0\uC11C \uC2E4\uD589)").action(async (opts) => {
|
|
1060
1067
|
try {
|
|
1061
|
-
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-
|
|
1068
|
+
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-IFD2D5CW.js");
|
|
1062
1069
|
if (opts.status) {
|
|
1063
1070
|
process.stdout.write(JSON.stringify(await modelCacheStatus(), null, 2) + "\n");
|
|
1064
1071
|
return;
|