kordoc 4.5.0 → 4.6.0
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/LICENSE +21 -21
- package/NOTICE +176 -176
- package/README.md +958 -951
- package/THIRD_PARTY/apache-2.0.LICENSE +201 -201
- package/THIRD_PARTY/claw-hwp.LICENSE +21 -21
- package/THIRD_PARTY/hml-equation-parser.LICENSE +201 -201
- package/THIRD_PARTY/hml-equation-parser.txt +35 -35
- package/THIRD_PARTY/opendataloader-pdf.txt +32 -32
- package/THIRD_PARTY/pix2text.txt +17 -17
- package/THIRD_PARTY/rhwp-forms.txt +35 -35
- package/dist/{-CWYIC4ES.js → -DEVLQKIT.js} +12 -12
- package/dist/{chunk-M4I5F6GK.js → chunk-2CABQYTT.js} +9 -9
- package/dist/chunk-2CABQYTT.js.map +1 -0
- package/dist/{chunk-NBOVSNSR.js → chunk-2CENWSAW.js} +10 -10
- package/dist/chunk-2CENWSAW.js.map +1 -0
- package/dist/{chunk-3H5X63BQ.js → chunk-3FFPHTXD.js} +1 -1
- package/dist/chunk-3FFPHTXD.js.map +1 -0
- package/dist/{chunk-MOL7MDBG.js → chunk-3TBUDJDE.js} +1 -1
- package/dist/chunk-3TBUDJDE.js.map +1 -0
- package/dist/{chunk-5RPYBC2Q.js → chunk-6GBLFQMA.js} +1 -1
- package/dist/chunk-6GBLFQMA.js.map +1 -0
- package/dist/{chunk-GZDOWYJM.js → chunk-6XPXIG57.js} +2 -2
- package/dist/chunk-6XPXIG57.js.map +1 -0
- package/dist/{chunk-45EUJ2P6.js → chunk-7BTO44Q7.js} +37 -21
- package/dist/chunk-7BTO44Q7.js.map +1 -0
- package/dist/{chunk-GE43BE46.js → chunk-AIQ3ISQU.js} +1 -1
- package/dist/chunk-AIQ3ISQU.js.map +1 -0
- package/dist/{chunk-GLPLLT4Q.cjs → chunk-CARNWWGI.cjs} +4 -4
- package/dist/chunk-CARNWWGI.cjs.map +1 -0
- package/dist/chunk-GS7T56RP.cjs.map +1 -1
- package/dist/{chunk-TCPO6XAY.cjs → chunk-HPRGVU6A.cjs} +11 -11
- package/dist/chunk-HPRGVU6A.cjs.map +1 -0
- package/dist/{chunk-U3ZNF4SO.cjs → chunk-I42DND3B.cjs} +17 -17
- package/dist/chunk-I42DND3B.cjs.map +1 -0
- package/dist/{chunk-ZHNUH2IW.js → chunk-IBVMJIHR.js} +2 -2
- package/dist/chunk-IBVMJIHR.js.map +1 -0
- package/dist/{chunk-XYSTZIIL.js → chunk-IHK5LCYX.js} +2 -2
- package/dist/chunk-IHK5LCYX.js.map +1 -0
- package/dist/{chunk-TP4P7M4I.js → chunk-KC63W72C.js} +2 -2
- package/dist/chunk-KC63W72C.js.map +1 -0
- package/dist/{chunk-GCHH4WHT.js → chunk-KQOTL4WI.js} +2 -2
- package/dist/chunk-KQOTL4WI.js.map +1 -0
- package/dist/{chunk-ZV5OKQ3Z.cjs → chunk-MGGU3ZRK.cjs} +1 -1
- package/dist/chunk-MGGU3ZRK.cjs.map +1 -0
- package/dist/{chunk-FT2EXMMP.js → chunk-MSMSHU2F.js} +9 -9
- package/dist/chunk-MSMSHU2F.js.map +1 -0
- package/dist/{chunk-DZIXKL7E.js → chunk-O5EK52TG.js} +1 -1
- package/dist/chunk-O5EK52TG.js.map +1 -0
- package/dist/{chunk-CBUC73JM.js → chunk-OPL22SYF.js} +3 -3
- package/dist/chunk-OPL22SYF.js.map +1 -0
- package/dist/{chunk-2CF2WXBG.js → chunk-PQDNCWAZ.js} +11 -11
- package/dist/chunk-PQDNCWAZ.js.map +1 -0
- package/dist/{chunk-UEWW3DH2.js → chunk-PSAHY5XW.js} +1 -1
- package/dist/chunk-PSAHY5XW.js.map +1 -0
- package/dist/{chunk-EYLOFSA5.js → chunk-UGKXJA3W.js} +4 -3
- package/dist/chunk-UGKXJA3W.js.map +1 -0
- package/dist/{chunk-WDIPTY3Q.js → chunk-UQ4NSK66.js} +3 -3
- package/dist/chunk-UQ4NSK66.js.map +1 -0
- package/dist/{chunk-7ZQKECQT.js → chunk-VNEV6VKD.js} +2 -2
- package/dist/chunk-VNEV6VKD.js.map +1 -0
- package/dist/{chunk-7FCNOKOR.js → chunk-W34QSJFF.js} +1 -1
- package/dist/chunk-W34QSJFF.js.map +1 -0
- package/dist/{chunk-UQ6KDJWE.cjs → chunk-WX7WQTOT.cjs} +4 -3
- package/dist/chunk-WX7WQTOT.cjs.map +1 -0
- package/dist/{chunk-DCZVOIEO.cjs → chunk-X34YWRL5.cjs} +1 -1
- package/dist/chunk-X34YWRL5.cjs.map +1 -0
- package/dist/{chunk-UAFSPWU7.js → chunk-YNJDNP44.js} +1 -1
- package/dist/chunk-YNJDNP44.js.map +1 -0
- package/dist/{chunk-TTEHX4FN.js → chunk-ZYQ5X6PG.js} +4 -3
- package/dist/chunk-ZYQ5X6PG.js.map +1 -0
- package/dist/chunks-Y2VE2WCJ.js +10 -0
- package/dist/cli.js +54 -29
- package/dist/cli.js.map +1 -1
- package/dist/{formula-JLYS73QL.js → formula-ETB6MESN.js} +2 -2
- package/dist/formula-ETB6MESN.js.map +1 -0
- package/dist/{formula-LIVQSCMM.js → formula-KW4NI5IO.js} +2 -2
- package/dist/formula-KW4NI5IO.js.map +1 -0
- package/dist/{formula-CG4S7TWO.cjs → formula-WKGP3D3Y.cjs} +8 -8
- package/dist/formula-WKGP3D3Y.cjs.map +1 -0
- package/dist/{image-ocr-BWQIUUVC.js → image-ocr-C6U7YHRC.js} +6 -6
- package/dist/image-ocr-C6U7YHRC.js.map +1 -0
- package/dist/{image-ocr-EDZOUU6Q.js → image-ocr-YIBJCOUQ.js} +8 -8
- package/dist/image-ocr-YIBJCOUQ.js.map +1 -0
- package/dist/{image-ocr-KZ4MGVJ3.cjs → image-ocr-YID6TDN5.cjs} +11 -11
- package/dist/image-ocr-YID6TDN5.cjs.map +1 -0
- package/dist/index.cjs +209 -193
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +31 -15
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +25 -23
- package/dist/mcp.js.map +1 -1
- package/dist/{models-6SIKLKRH.js → models-6VMAVZR6.js} +3 -3
- package/dist/page-range-CIRRJPXJ.js +7 -0
- package/dist/page-range-OF5I4PQY.js +8 -0
- package/dist/page-range-TPIRSA3J.cjs +8 -0
- package/dist/page-range-TPIRSA3J.cjs.map +1 -0
- package/dist/{parser-7G2QFIYZ.cjs → parser-EYCVDUJA.cjs} +33 -33
- package/dist/parser-EYCVDUJA.cjs.map +1 -0
- package/dist/{parser-JLEKXA2Z.js → parser-GFXZV2VJ.js} +11 -11
- package/dist/parser-GFXZV2VJ.js.map +1 -0
- package/dist/{parser-6OJOFJ64.js → parser-SHM3JEH6.js} +9 -9
- package/dist/parser-SHM3JEH6.js.map +1 -0
- package/dist/pdf-ocr-TMAWPOHC.cjs +13 -0
- package/dist/pdf-ocr-TMAWPOHC.cjs.map +1 -0
- package/dist/pdf-ocr-UKFYODLP.js +15 -0
- package/dist/pdf-ocr-ZG4UVUIT.js +12 -0
- package/dist/{profile-io-FMPT6VEZ.js → profile-io-FQZNNA3O.js} +3 -3
- package/dist/{rasterize-LARCX6CS.js → rasterize-QGKFNTXO.js} +2 -2
- package/dist/rasterize-QGKFNTXO.js.map +1 -0
- package/dist/{redact-7ILEAUTS.js → redact-W5K3ILQH.js} +2 -2
- package/dist/render-YFIWQYVB.js +10 -0
- package/dist/seal-GZ7NDWLR.js +10 -0
- package/dist/{setup-GUQT5ELJ.js → setup-I4I75QJU.js} +1 -1
- package/dist/setup-I4I75QJU.js.map +1 -0
- package/dist/{watch-Y2VKD2MN.js → watch-OIVXH2RN.js} +12 -12
- package/dist/watch-OIVXH2RN.js.map +1 -0
- package/package.json +103 -103
- package/templates//352/260/204/354/235/264/352/270/260/354/225/210/353/254/270_/354/230/210/354/213/234/352/260/222.json +9 -9
- package/templates//354/235/274/353/260/230/352/270/260/354/225/210/353/254/270_/354/230/210/354/213/234/352/260/222.json +24 -24
- package/dist/chunk-2CF2WXBG.js.map +0 -1
- package/dist/chunk-3H5X63BQ.js.map +0 -1
- package/dist/chunk-45EUJ2P6.js.map +0 -1
- package/dist/chunk-5RPYBC2Q.js.map +0 -1
- package/dist/chunk-7FCNOKOR.js.map +0 -1
- package/dist/chunk-7ZQKECQT.js.map +0 -1
- package/dist/chunk-CBUC73JM.js.map +0 -1
- package/dist/chunk-DCZVOIEO.cjs.map +0 -1
- package/dist/chunk-DZIXKL7E.js.map +0 -1
- package/dist/chunk-EYLOFSA5.js.map +0 -1
- package/dist/chunk-FT2EXMMP.js.map +0 -1
- package/dist/chunk-GCHH4WHT.js.map +0 -1
- package/dist/chunk-GE43BE46.js.map +0 -1
- package/dist/chunk-GLPLLT4Q.cjs.map +0 -1
- package/dist/chunk-GZDOWYJM.js.map +0 -1
- package/dist/chunk-M4I5F6GK.js.map +0 -1
- package/dist/chunk-MOL7MDBG.js.map +0 -1
- package/dist/chunk-NBOVSNSR.js.map +0 -1
- package/dist/chunk-TCPO6XAY.cjs.map +0 -1
- package/dist/chunk-TP4P7M4I.js.map +0 -1
- package/dist/chunk-TTEHX4FN.js.map +0 -1
- package/dist/chunk-U3ZNF4SO.cjs.map +0 -1
- package/dist/chunk-UAFSPWU7.js.map +0 -1
- package/dist/chunk-UEWW3DH2.js.map +0 -1
- package/dist/chunk-UQ6KDJWE.cjs.map +0 -1
- package/dist/chunk-WDIPTY3Q.js.map +0 -1
- package/dist/chunk-XYSTZIIL.js.map +0 -1
- package/dist/chunk-ZHNUH2IW.js.map +0 -1
- package/dist/chunk-ZV5OKQ3Z.cjs.map +0 -1
- package/dist/chunks-EYDY4Y6O.js +0 -10
- package/dist/formula-CG4S7TWO.cjs.map +0 -1
- package/dist/formula-JLYS73QL.js.map +0 -1
- package/dist/formula-LIVQSCMM.js.map +0 -1
- package/dist/image-ocr-BWQIUUVC.js.map +0 -1
- package/dist/image-ocr-EDZOUU6Q.js.map +0 -1
- package/dist/image-ocr-KZ4MGVJ3.cjs.map +0 -1
- package/dist/page-range-737B4EZW.js +0 -8
- package/dist/page-range-LNMXJU6W.js +0 -7
- package/dist/page-range-P7SDW6LR.cjs +0 -8
- package/dist/page-range-P7SDW6LR.cjs.map +0 -1
- package/dist/parser-6OJOFJ64.js.map +0 -1
- package/dist/parser-7G2QFIYZ.cjs.map +0 -1
- package/dist/parser-JLEKXA2Z.js.map +0 -1
- package/dist/pdf-ocr-364VNE6N.cjs +0 -13
- package/dist/pdf-ocr-364VNE6N.cjs.map +0 -1
- package/dist/pdf-ocr-OWUZLWQ3.js +0 -15
- package/dist/pdf-ocr-YQGMCT53.js +0 -12
- package/dist/rasterize-LARCX6CS.js.map +0 -1
- package/dist/render-4WHQ7JCX.js +0 -10
- package/dist/seal-BX6YA6PI.js +0 -10
- package/dist/setup-GUQT5ELJ.js.map +0 -1
- package/dist/watch-Y2VKD2MN.js.map +0 -1
- /package/dist/{-CWYIC4ES.js.map → -DEVLQKIT.js.map} +0 -0
- /package/dist/{chunks-EYDY4Y6O.js.map → chunks-Y2VE2WCJ.js.map} +0 -0
- /package/dist/{models-6SIKLKRH.js.map → models-6VMAVZR6.js.map} +0 -0
- /package/dist/{page-range-737B4EZW.js.map → page-range-CIRRJPXJ.js.map} +0 -0
- /package/dist/{page-range-LNMXJU6W.js.map → page-range-OF5I4PQY.js.map} +0 -0
- /package/dist/{pdf-ocr-OWUZLWQ3.js.map → pdf-ocr-UKFYODLP.js.map} +0 -0
- /package/dist/{pdf-ocr-YQGMCT53.js.map → pdf-ocr-ZG4UVUIT.js.map} +0 -0
- /package/dist/{profile-io-FMPT6VEZ.js.map → profile-io-FQZNNA3O.js.map} +0 -0
- /package/dist/{redact-7ILEAUTS.js.map → redact-W5K3ILQH.js.map} +0 -0
- /package/dist/{render-4WHQ7JCX.js.map → render-YFIWQYVB.js.map} +0 -0
- /package/dist/{seal-BX6YA6PI.js.map → seal-GZ7NDWLR.js.map} +0 -0
package/dist/index.d.cts
CHANGED
|
@@ -205,6 +205,16 @@ interface ParseOptions {
|
|
|
205
205
|
* (현재 HWP5 경로 지원)
|
|
206
206
|
*/
|
|
207
207
|
inlineImages?: boolean;
|
|
208
|
+
/**
|
|
209
|
+
* PDF 표 감지 활성화 (기본 true). false 면 선 기반 그리드·클러스터 표 감지를 모두 끄고
|
|
210
|
+
* 자연 읽기순 텍스트만 뽑는다 (#64).
|
|
211
|
+
*
|
|
212
|
+
* 시각적 테두리 박스(시험지 안내문·보기 상자)가 표로 잡히면 주변 본문이 셀 매핑으로
|
|
213
|
+
* 끌려 들어가 문항 순서가 뒤집히는데, 표가 애초에 필요 없는 텍스트 중심 사용처에는
|
|
214
|
+
* 우회 수단이 없었다. 표가 실제로 있는 문서에 켜면 표 구조가 문단으로 흩어지므로
|
|
215
|
+
* 문서 종류를 아는 호출자만 쓰는 opt-out 이다. PDF 전용 — 다른 포맷은 무시.
|
|
216
|
+
*/
|
|
217
|
+
tables?: boolean;
|
|
208
218
|
}
|
|
209
219
|
/** 파싱 중 스킵/실패한 요소 보고 */
|
|
210
220
|
interface ParseWarning {
|
|
@@ -223,7 +233,9 @@ interface OutlineItem {
|
|
|
223
233
|
pageNumber?: number;
|
|
224
234
|
}
|
|
225
235
|
/** 구조화된 에러 코드 — 프로그래밍적 에러 핸들링용 */
|
|
226
|
-
type ErrorCode = "EMPTY_INPUT" | "UNSUPPORTED_FORMAT" | "ENCRYPTED" | "DRM_PROTECTED" | "CORRUPTED" | "DECOMPRESSION_BOMB" | "ZIP_BOMB" | "IMAGE_BASED_PDF" | "NO_SECTIONS" | "PARSE_ERROR" | "MISSING_DEPENDENCY"
|
|
236
|
+
type ErrorCode = "EMPTY_INPUT" | "UNSUPPORTED_FORMAT" | "ENCRYPTED" | "DRM_PROTECTED" | "CORRUPTED" | "DECOMPRESSION_BOMB" | "ZIP_BOMB" | "IMAGE_BASED_PDF" | "NO_SECTIONS" | "PARSE_ERROR" | "MISSING_DEPENDENCY"
|
|
237
|
+
/** 결과 직렬화가 런타임 문자열 한계를 넘음 — 이미지 다량 문서의 JSON 출력 (#65) */
|
|
238
|
+
| "OUTPUT_TOO_LARGE";
|
|
227
239
|
type FileType = "hwpx" | "hwp" | "hwp3" | "hwpml" | "pdf" | "xlsx" | "xls" | "docx" | "image" | "unknown";
|
|
228
240
|
interface ParseResultBase {
|
|
229
241
|
fileType: FileType;
|
package/dist/index.d.ts
CHANGED
|
@@ -205,6 +205,16 @@ interface ParseOptions {
|
|
|
205
205
|
* (현재 HWP5 경로 지원)
|
|
206
206
|
*/
|
|
207
207
|
inlineImages?: boolean;
|
|
208
|
+
/**
|
|
209
|
+
* PDF 표 감지 활성화 (기본 true). false 면 선 기반 그리드·클러스터 표 감지를 모두 끄고
|
|
210
|
+
* 자연 읽기순 텍스트만 뽑는다 (#64).
|
|
211
|
+
*
|
|
212
|
+
* 시각적 테두리 박스(시험지 안내문·보기 상자)가 표로 잡히면 주변 본문이 셀 매핑으로
|
|
213
|
+
* 끌려 들어가 문항 순서가 뒤집히는데, 표가 애초에 필요 없는 텍스트 중심 사용처에는
|
|
214
|
+
* 우회 수단이 없었다. 표가 실제로 있는 문서에 켜면 표 구조가 문단으로 흩어지므로
|
|
215
|
+
* 문서 종류를 아는 호출자만 쓰는 opt-out 이다. PDF 전용 — 다른 포맷은 무시.
|
|
216
|
+
*/
|
|
217
|
+
tables?: boolean;
|
|
208
218
|
}
|
|
209
219
|
/** 파싱 중 스킵/실패한 요소 보고 */
|
|
210
220
|
interface ParseWarning {
|
|
@@ -223,7 +233,9 @@ interface OutlineItem {
|
|
|
223
233
|
pageNumber?: number;
|
|
224
234
|
}
|
|
225
235
|
/** 구조화된 에러 코드 — 프로그래밍적 에러 핸들링용 */
|
|
226
|
-
type ErrorCode = "EMPTY_INPUT" | "UNSUPPORTED_FORMAT" | "ENCRYPTED" | "DRM_PROTECTED" | "CORRUPTED" | "DECOMPRESSION_BOMB" | "ZIP_BOMB" | "IMAGE_BASED_PDF" | "NO_SECTIONS" | "PARSE_ERROR" | "MISSING_DEPENDENCY"
|
|
236
|
+
type ErrorCode = "EMPTY_INPUT" | "UNSUPPORTED_FORMAT" | "ENCRYPTED" | "DRM_PROTECTED" | "CORRUPTED" | "DECOMPRESSION_BOMB" | "ZIP_BOMB" | "IMAGE_BASED_PDF" | "NO_SECTIONS" | "PARSE_ERROR" | "MISSING_DEPENDENCY"
|
|
237
|
+
/** 결과 직렬화가 런타임 문자열 한계를 넘음 — 이미지 다량 문서의 JSON 출력 (#65) */
|
|
238
|
+
| "OUTPUT_TOO_LARGE";
|
|
227
239
|
type FileType = "hwpx" | "hwp" | "hwp3" | "hwpml" | "pdf" | "xlsx" | "xls" | "docx" | "image" | "unknown";
|
|
228
240
|
interface ParseResultBase {
|
|
229
241
|
fileType: FileType;
|
package/dist/index.js
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
flattenLayoutTables,
|
|
9
9
|
inlineImagesIntoMarkdown,
|
|
10
10
|
mapPuaText
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IHK5LCYX.js";
|
|
12
12
|
import {
|
|
13
13
|
parsePageRange
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-AIQ3ISQU.js";
|
|
15
15
|
import {
|
|
16
16
|
HEADING_RATIO_H1,
|
|
17
17
|
HEADING_RATIO_H2,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
sanitizeHref,
|
|
28
28
|
stripDtd,
|
|
29
29
|
toArrayBuffer
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-UGKXJA3W.js";
|
|
31
31
|
|
|
32
32
|
// src/index.ts
|
|
33
33
|
import { readFile } from "fs/promises";
|
|
@@ -17892,7 +17892,7 @@ async function parseXlsxDocument(buffer, options) {
|
|
|
17892
17892
|
}
|
|
17893
17893
|
let pageFilter = null;
|
|
17894
17894
|
if (options?.pages) {
|
|
17895
|
-
const { parsePageRange: parsePageRange2 } = await import("./page-range-
|
|
17895
|
+
const { parsePageRange: parsePageRange2 } = await import("./page-range-CIRRJPXJ.js");
|
|
17896
17896
|
pageFilter = parsePageRange2(options.pages, sheets.length);
|
|
17897
17897
|
}
|
|
17898
17898
|
const blocks = [];
|
|
@@ -18592,7 +18592,7 @@ async function parseXlsDocument(buffer, options) {
|
|
|
18592
18592
|
const totalSheets = Math.min(globals.sheets.length, MAX_SHEETS2);
|
|
18593
18593
|
let pageFilter = null;
|
|
18594
18594
|
if (options?.pages) {
|
|
18595
|
-
const { parsePageRange: parsePageRange2 } = await import("./page-range-
|
|
18595
|
+
const { parsePageRange: parsePageRange2 } = await import("./page-range-CIRRJPXJ.js");
|
|
18596
18596
|
pageFilter = parsePageRange2(options.pages, totalSheets);
|
|
18597
18597
|
}
|
|
18598
18598
|
const allBlocks = [];
|
|
@@ -22915,11 +22915,11 @@ function parseInlineMarkdown(text) {
|
|
|
22915
22915
|
}
|
|
22916
22916
|
return spans;
|
|
22917
22917
|
}
|
|
22918
|
-
|
|
22918
|
+
var INLINE_REGEX = /(`[^`]+`|\*{3}(?:[^*]|\*(?!\*\*))+\*{3}|\*{2}(?:[^*]|\*(?!\*))+\*{2}|\*(?:[^*]|\*{2}(?:[^*]|\*(?!\*))+\*{2})+\*|(?<![^\s\p{P}\p{S}\x00])(?<!_)_{2}(?=\S)[^_]+(?<=\S)_{2}(?!_)(?![^\s\p{P}\p{S}\x00])|(?<![^\s\p{P}\p{S}\x00])(?<!_)_(?=\S)[^_]+(?<=\S)_(?!_)(?![^\s\p{P}\p{S}\x00]))/gu;
|
|
22919
|
+
function emphasisSpans(text, depth = 0) {
|
|
22919
22920
|
const spans = [];
|
|
22920
|
-
const regex = /(`[^`]+`|\*{3}[^*]+\*{3}|\*{2}[^*]+\*{2}|\*[^*]+\*|(?<![^\s\p{P}\p{S}\x00])(?<!_)_{2}(?=\S)[^_]+(?<=\S)_{2}(?!_)(?![^\s\p{P}\p{S}\x00])|(?<![^\s\p{P}\p{S}\x00])(?<!_)_(?=\S)[^_]+(?<=\S)_(?!_)(?![^\s\p{P}\p{S}\x00]))/gu;
|
|
22921
22921
|
let lastIdx = 0;
|
|
22922
|
-
for (const match of text.matchAll(
|
|
22922
|
+
for (const match of text.matchAll(INLINE_REGEX)) {
|
|
22923
22923
|
const idx = match.index;
|
|
22924
22924
|
if (idx > lastIdx) {
|
|
22925
22925
|
spans.push({ text: text.slice(lastIdx, idx), bold: false, italic: false, code: false });
|
|
@@ -22927,12 +22927,28 @@ function emphasisSpans(text) {
|
|
|
22927
22927
|
const raw = match[0];
|
|
22928
22928
|
if (raw.startsWith("`")) {
|
|
22929
22929
|
spans.push({ text: raw.slice(1, -1), bold: false, italic: false, code: true });
|
|
22930
|
-
} else if (raw.startsWith("***") || raw.startsWith("___")) {
|
|
22931
|
-
spans.push({ text: raw.slice(3, -3), bold: true, italic: true, code: false });
|
|
22932
|
-
} else if (raw.startsWith("**") || raw.startsWith("__")) {
|
|
22933
|
-
spans.push({ text: raw.slice(2, -2), bold: true, italic: false, code: false });
|
|
22934
22930
|
} else {
|
|
22935
|
-
|
|
22931
|
+
let inner;
|
|
22932
|
+
let bold = false;
|
|
22933
|
+
let italic = false;
|
|
22934
|
+
if (raw.startsWith("***") || raw.startsWith("___")) {
|
|
22935
|
+
inner = raw.slice(3, -3);
|
|
22936
|
+
bold = true;
|
|
22937
|
+
italic = true;
|
|
22938
|
+
} else if (raw.startsWith("**") || raw.startsWith("__")) {
|
|
22939
|
+
inner = raw.slice(2, -2);
|
|
22940
|
+
bold = true;
|
|
22941
|
+
} else {
|
|
22942
|
+
inner = raw.slice(1, -1);
|
|
22943
|
+
italic = true;
|
|
22944
|
+
}
|
|
22945
|
+
if (depth < 3 && /[`*_]/.test(inner)) {
|
|
22946
|
+
for (const child of emphasisSpans(inner, depth + 1)) {
|
|
22947
|
+
spans.push(child.code ? child : { ...child, bold: child.bold || bold, italic: child.italic || italic });
|
|
22948
|
+
}
|
|
22949
|
+
} else {
|
|
22950
|
+
spans.push({ text: inner, bold, italic, code: false });
|
|
22951
|
+
}
|
|
22936
22952
|
}
|
|
22937
22953
|
lastIdx = idx + raw.length;
|
|
22938
22954
|
}
|
|
@@ -31296,7 +31312,7 @@ async function parse(input, options) {
|
|
|
31296
31312
|
}
|
|
31297
31313
|
async function parseImage(buffer, options) {
|
|
31298
31314
|
try {
|
|
31299
|
-
const { parseImageDocument } = await import("./image-ocr-
|
|
31315
|
+
const { parseImageDocument } = await import("./image-ocr-C6U7YHRC.js");
|
|
31300
31316
|
const { blocks, warnings } = await parseImageDocument(buffer, options);
|
|
31301
31317
|
return {
|
|
31302
31318
|
success: true,
|
|
@@ -31355,7 +31371,7 @@ async function parseHwp(buffer, options) {
|
|
|
31355
31371
|
async function parsePdf(buffer, options) {
|
|
31356
31372
|
let parsePdfDocument;
|
|
31357
31373
|
try {
|
|
31358
|
-
const mod = await import("./parser-
|
|
31374
|
+
const mod = await import("./parser-SHM3JEH6.js");
|
|
31359
31375
|
parsePdfDocument = mod.parsePdfDocument;
|
|
31360
31376
|
} catch {
|
|
31361
31377
|
return {
|