kordoc 2.2.2 → 2.2.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/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  parse,
5
5
  sanitizeError,
6
6
  toArrayBuffer
7
- } from "./chunk-R34CFFNV.js";
7
+ } from "./chunk-AIG7SDWU.js";
8
8
  import {
9
9
  detectFormat
10
10
  } from "./chunk-5Y2Q3BRW.js";
@@ -105,7 +105,7 @@ program.name("kordoc").description("\uBAA8\uB450 \uD30C\uC2F1\uD574\uBC84\uB9AC\
105
105
  }
106
106
  });
107
107
  program.command("watch <dir>").description("\uB514\uB809\uD1A0\uB9AC \uAC10\uC2DC \u2014 \uC0C8 \uBB38\uC11C \uC790\uB3D9 \uBCC0\uD658").option("--webhook <url>", "\uACB0\uACFC \uC804\uC1A1 \uC6F9\uD6C5 URL").option("-d, --out-dir <dir>", "\uBCC0\uD658 \uACB0\uACFC \uCD9C\uB825 \uB514\uB809\uD1A0\uB9AC").option("-p, --pages <range>", "\uD398\uC774\uC9C0/\uC139\uC158 \uBC94\uC704").option("--format <type>", "\uCD9C\uB825 \uD615\uC2DD: markdown \uB610\uB294 json", "markdown").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (dir, opts) => {
108
- const { watchDirectory } = await import("./watch-VNJDVUVQ.js");
108
+ const { watchDirectory } = await import("./watch-H672QAW2.js");
109
109
  await watchDirectory({
110
110
  dir,
111
111
  outDir: opts.outDir,
package/dist/index.cjs CHANGED
@@ -183,7 +183,7 @@ var import_zlib = require("zlib");
183
183
  var import_xmldom = require("@xmldom/xmldom");
184
184
 
185
185
  // src/utils.ts
186
- var VERSION = true ? "2.2.2" : "0.0.0-dev";
186
+ var VERSION = true ? "2.2.3" : "0.0.0-dev";
187
187
  function toArrayBuffer(buf) {
188
188
  if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
189
189
  return buf.buffer;
@@ -501,9 +501,47 @@ function blocksToMarkdown(blocks) {
501
501
  }
502
502
  return lines.join("\n").trim();
503
503
  }
504
+ function hasMergedCells(table) {
505
+ for (const row of table.cells) {
506
+ for (const cell of row) {
507
+ if (cell.colSpan > 1 || cell.rowSpan > 1) return true;
508
+ }
509
+ }
510
+ return false;
511
+ }
512
+ function tableToHtml(table) {
513
+ const { cells, rows: numRows, cols: numCols } = table;
514
+ const skip = /* @__PURE__ */ new Set();
515
+ const lines = ["<table>"];
516
+ for (let r = 0; r < numRows; r++) {
517
+ const tag = r === 0 ? "th" : "td";
518
+ const rowHtml = [];
519
+ for (let c = 0; c < numCols; c++) {
520
+ if (skip.has(`${r},${c}`)) continue;
521
+ const cell = cells[r]?.[c];
522
+ if (!cell) continue;
523
+ for (let dr = 0; dr < cell.rowSpan; dr++) {
524
+ for (let dc = 0; dc < cell.colSpan; dc++) {
525
+ if (dr === 0 && dc === 0) continue;
526
+ if (r + dr < numRows && c + dc < numCols) skip.add(`${r + dr},${c + dc}`);
527
+ }
528
+ }
529
+ const text = sanitizeText(cell.text).replace(/\n/g, "<br>");
530
+ const attrs = [];
531
+ if (cell.colSpan > 1) attrs.push(`colspan="${cell.colSpan}"`);
532
+ if (cell.rowSpan > 1) attrs.push(`rowspan="${cell.rowSpan}"`);
533
+ const attrStr = attrs.length ? " " + attrs.join(" ") : "";
534
+ rowHtml.push(`<${tag}${attrStr}>${text}</${tag}>`);
535
+ }
536
+ if (rowHtml.length) lines.push(`<tr>${rowHtml.join("")}</tr>`);
537
+ }
538
+ lines.push("</table>");
539
+ return lines.join("\n");
540
+ }
504
541
  function tableToMarkdown(table) {
505
542
  if (table.rows === 0 || table.cols === 0) return "";
506
543
  const { cells, rows: numRows, cols: numCols } = table;
544
+ if (hasMergedCells(table)) return tableToHtml(table);
507
545
  if (numRows === 1 && numCols === 1) {
508
546
  const content = sanitizeText(cells[0][0].text);
509
547
  if (!content) return "";