marhup 0.1.8 → 0.1.9

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 (129) hide show
  1. package/README.md +419 -2
  2. package/dist/cli.js +659 -78
  3. package/dist/cli.js.map +1 -1
  4. package/dist/errors.d.ts +29 -0
  5. package/dist/errors.d.ts.map +1 -0
  6. package/dist/errors.js +62 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/generator/code.d.ts +4 -3
  9. package/dist/generator/code.d.ts.map +1 -1
  10. package/dist/generator/code.js +7 -7
  11. package/dist/generator/code.js.map +1 -1
  12. package/dist/generator/gen-animations.d.ts +13 -0
  13. package/dist/generator/gen-animations.d.ts.map +1 -0
  14. package/dist/generator/gen-animations.js +77 -0
  15. package/dist/generator/gen-animations.js.map +1 -0
  16. package/dist/generator/image.d.ts +4 -3
  17. package/dist/generator/image.d.ts.map +1 -1
  18. package/dist/generator/image.js +67 -80
  19. package/dist/generator/image.js.map +1 -1
  20. package/dist/generator/index.d.ts +2 -0
  21. package/dist/generator/index.d.ts.map +1 -1
  22. package/dist/generator/index.js +9 -18
  23. package/dist/generator/index.js.map +1 -1
  24. package/dist/generator/list.d.ts +4 -3
  25. package/dist/generator/list.d.ts.map +1 -1
  26. package/dist/generator/list.js +15 -17
  27. package/dist/generator/list.js.map +1 -1
  28. package/dist/generator/mermaid.d.ts +9 -4
  29. package/dist/generator/mermaid.d.ts.map +1 -1
  30. package/dist/generator/mermaid.js +120 -85
  31. package/dist/generator/mermaid.js.map +1 -1
  32. package/dist/generator/pptx.d.ts +1 -1
  33. package/dist/generator/pptx.d.ts.map +1 -1
  34. package/dist/generator/pptx.js +232 -60
  35. package/dist/generator/pptx.js.map +1 -1
  36. package/dist/generator/presentation.d.ts +149 -0
  37. package/dist/generator/presentation.d.ts.map +1 -0
  38. package/dist/generator/presentation.js +163 -0
  39. package/dist/generator/presentation.js.map +1 -0
  40. package/dist/generator/table.d.ts +4 -3
  41. package/dist/generator/table.d.ts.map +1 -1
  42. package/dist/generator/table.js +12 -33
  43. package/dist/generator/table.js.map +1 -1
  44. package/dist/generator/text.d.ts +5 -4
  45. package/dist/generator/text.d.ts.map +1 -1
  46. package/dist/generator/text.js +34 -20
  47. package/dist/generator/text.js.map +1 -1
  48. package/dist/generator/video.d.ts +18 -0
  49. package/dist/generator/video.d.ts.map +1 -0
  50. package/dist/generator/video.js +83 -0
  51. package/dist/generator/video.js.map +1 -0
  52. package/dist/index.d.ts +8 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +144 -55
  55. package/dist/index.js.map +1 -1
  56. package/dist/layout/auto.d.ts +14 -2
  57. package/dist/layout/auto.d.ts.map +1 -1
  58. package/dist/layout/auto.js +129 -37
  59. package/dist/layout/auto.js.map +1 -1
  60. package/dist/layout/engine.d.ts +1 -1
  61. package/dist/layout/engine.d.ts.map +1 -1
  62. package/dist/layout/engine.js +10 -12
  63. package/dist/layout/engine.js.map +1 -1
  64. package/dist/layout/index.d.ts +1 -1
  65. package/dist/layout/index.d.ts.map +1 -1
  66. package/dist/layout/index.js +2 -10
  67. package/dist/layout/index.js.map +1 -1
  68. package/dist/layout/types.d.ts +1 -0
  69. package/dist/layout/types.d.ts.map +1 -1
  70. package/dist/layout/types.js +1 -2
  71. package/dist/layout/types.js.map +1 -1
  72. package/dist/mcp-handlers.d.ts.map +1 -1
  73. package/dist/mcp-handlers.js +15 -51
  74. package/dist/mcp-handlers.js.map +1 -1
  75. package/dist/mcp.js +10 -12
  76. package/dist/mcp.js.map +1 -1
  77. package/dist/parser/frontmatter.d.ts.map +1 -1
  78. package/dist/parser/frontmatter.js +95 -16
  79. package/dist/parser/frontmatter.js.map +1 -1
  80. package/dist/parser/grid.d.ts +5 -7
  81. package/dist/parser/grid.d.ts.map +1 -1
  82. package/dist/parser/grid.js +190 -19
  83. package/dist/parser/grid.js.map +1 -1
  84. package/dist/parser/index.js +3 -13
  85. package/dist/parser/index.js.map +1 -1
  86. package/dist/parser/markdown.d.ts +1 -1
  87. package/dist/parser/markdown.d.ts.map +1 -1
  88. package/dist/parser/markdown.js +247 -137
  89. package/dist/parser/markdown.js.map +1 -1
  90. package/dist/theme/default.d.ts.map +1 -1
  91. package/dist/theme/default.js +13 -8
  92. package/dist/theme/default.js.map +1 -1
  93. package/dist/theme/index.d.ts +11 -0
  94. package/dist/theme/index.d.ts.map +1 -1
  95. package/dist/theme/index.js +70 -7
  96. package/dist/theme/index.js.map +1 -1
  97. package/dist/types/index.d.ts +54 -2
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +4 -6
  100. package/dist/types/index.js.map +1 -1
  101. package/dist/types/plugin.d.ts +50 -0
  102. package/dist/types/plugin.d.ts.map +1 -0
  103. package/dist/types/plugin.js +5 -0
  104. package/dist/types/plugin.js.map +1 -0
  105. package/dist/utils/file-lock.d.ts +27 -0
  106. package/dist/utils/file-lock.d.ts.map +1 -0
  107. package/dist/utils/file-lock.js +118 -0
  108. package/dist/utils/file-lock.js.map +1 -0
  109. package/dist/utils/i18n.d.ts +5 -0
  110. package/dist/utils/i18n.d.ts.map +1 -0
  111. package/dist/utils/i18n.js +41 -0
  112. package/dist/utils/i18n.js.map +1 -0
  113. package/dist/utils/logger.d.ts +7 -0
  114. package/dist/utils/logger.d.ts.map +1 -0
  115. package/dist/utils/logger.js +43 -0
  116. package/dist/utils/logger.js.map +1 -0
  117. package/dist/utils/path-validation.d.ts +20 -0
  118. package/dist/utils/path-validation.d.ts.map +1 -0
  119. package/dist/utils/path-validation.js +39 -0
  120. package/dist/utils/path-validation.js.map +1 -0
  121. package/dist/utils/plugin-manager.d.ts +18 -0
  122. package/dist/utils/plugin-manager.d.ts.map +1 -0
  123. package/dist/utils/plugin-manager.js +108 -0
  124. package/dist/utils/plugin-manager.js.map +1 -0
  125. package/dist/utils/sanitizer.d.ts +14 -0
  126. package/dist/utils/sanitizer.d.ts.map +1 -0
  127. package/dist/utils/sanitizer.js +73 -0
  128. package/dist/utils/sanitizer.js.map +1 -0
  129. package/package.json +23 -8
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvI,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,22 +1,13 @@
1
- "use strict";
2
1
  /**
3
2
  * ジェネレーターモジュール
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addMermaidElement = exports.addCodeElement = exports.addListElement = exports.addTableElement = exports.addImageElement = exports.addHeadingElement = exports.addTextElement = exports.generatePptx = void 0;
7
- var pptx_js_1 = require("./pptx.js");
8
- Object.defineProperty(exports, "generatePptx", { enumerable: true, get: function () { return pptx_js_1.generatePptx; } });
9
- var text_js_1 = require("./text.js");
10
- Object.defineProperty(exports, "addTextElement", { enumerable: true, get: function () { return text_js_1.addTextElement; } });
11
- Object.defineProperty(exports, "addHeadingElement", { enumerable: true, get: function () { return text_js_1.addHeadingElement; } });
12
- var image_js_1 = require("./image.js");
13
- Object.defineProperty(exports, "addImageElement", { enumerable: true, get: function () { return image_js_1.addImageElement; } });
14
- var table_js_1 = require("./table.js");
15
- Object.defineProperty(exports, "addTableElement", { enumerable: true, get: function () { return table_js_1.addTableElement; } });
16
- var list_js_1 = require("./list.js");
17
- Object.defineProperty(exports, "addListElement", { enumerable: true, get: function () { return list_js_1.addListElement; } });
18
- var code_js_1 = require("./code.js");
19
- Object.defineProperty(exports, "addCodeElement", { enumerable: true, get: function () { return code_js_1.addCodeElement; } });
20
- var mermaid_js_1 = require("./mermaid.js");
21
- Object.defineProperty(exports, "addMermaidElement", { enumerable: true, get: function () { return mermaid_js_1.addMermaidElement; } });
4
+ export { generatePptx } from './pptx.js';
5
+ export { addTextElement, addHeadingElement } from './text.js';
6
+ export { addImageElement } from './image.js';
7
+ export { addVideoElement } from './video.js';
8
+ export { addTableElement } from './table.js';
9
+ export { addListElement } from './list.js';
10
+ export { addCodeElement } from './code.js';
11
+ export { addMermaidElement } from './mermaid.js';
12
+ export { createPresentation } from './presentation.js';
22
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AACrB,qCAA8D;AAArD,yGAAA,cAAc,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAC1C,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AACxB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AACxB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvI,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAmC,MAAM,mBAAmB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * リスト要素の生成
3
3
  */
4
- import type PptxGenJS from 'pptxgenjs';
5
- import type { PlacedElement } from '../layout/index';
4
+ import type { PlacedElement } from '../layout/index.js';
5
+ import type { ThemeConfig, AnimationConfig } from '../types/index.js';
6
+ import type { ISlide } from './presentation.js';
6
7
  interface Coordinates {
7
8
  x: number;
8
9
  y: number;
@@ -12,6 +13,6 @@ interface Coordinates {
12
13
  /**
13
14
  * リスト要素を追加
14
15
  */
15
- export declare function addListElement(slide: PptxGenJS.Slide, element: PlacedElement, coords: Coordinates, styleProps: Record<string, unknown>): void;
16
+ export declare function addListElement(slide: ISlide, element: PlacedElement, coords: Coordinates, styleProps: Record<string, unknown>, theme: ThemeConfig, animation?: AnimationConfig): void;
16
17
  export {};
17
18
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/generator/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,UAAU,WAAW;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,IAAI,CAuBN"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/generator/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAY,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,UAAU,WAAW;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,EAAE,WAAW,EAClB,SAAS,CAAC,EAAE,eAAe,GAC1B,IAAI,CAyBN"}
@@ -1,33 +1,31 @@
1
- "use strict";
2
1
  /**
3
2
  * リスト要素の生成
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addListElement = addListElement;
7
- const index_1 = require("../theme/index");
8
4
  /**
9
5
  * リスト要素を追加
10
6
  */
11
- function addListElement(slide, element, coords, styleProps) {
7
+ export function addListElement(slide, element, coords, styleProps, theme, animation) {
12
8
  const items = element.content;
13
- // リストアイテムをpptxgenjs形式に変換
14
- const textRows = items.map((item) => ({
15
- text: item.content,
16
- options: {
17
- bullet: item.ordered ? { type: 'number' } : true,
18
- indentLevel: item.level,
19
- fontSize: index_1.defaultTheme.fontSize.body,
20
- color: index_1.defaultTheme.colors.text.replace('#', ''),
21
- fontFace: index_1.defaultTheme.fonts.body,
22
- },
23
- }));
24
- slide.addText(textRows, {
9
+ // Convert list to text with bullets
10
+ const textContent = items.map((item) => {
11
+ const indent = ' '.repeat(item.level);
12
+ const bullet = item.ordered ? `${item.level + 1}.` : '•';
13
+ return `${indent}${bullet} ${item.content}`;
14
+ }).join('\n');
15
+ slide.addText(textContent, {
25
16
  x: coords.x,
26
17
  y: coords.y,
27
18
  w: coords.w,
28
19
  h: coords.h,
20
+ fontSize: theme.fontSize.body,
21
+ color: theme.colors.text.replace('#', ''),
29
22
  valign: 'top',
30
23
  ...styleProps,
24
+ animation: animation ? {
25
+ type: animation.type,
26
+ duration: animation.duration,
27
+ delay: animation.delay,
28
+ } : undefined,
31
29
  });
32
30
  }
33
31
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/generator/list.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAiBH,wCA4BC;AAxCD,0CAA8C;AAS9C;;GAEG;AACH,SAAgB,cAAc,CAC5B,KAAsB,EACtB,OAAsB,EACtB,MAAmB,EACnB,UAAmC;IAEnC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAqB,CAAC;IAE5C,yBAAyB;IACzB,MAAM,QAAQ,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,IAAI,CAAC,OAAO;QAClB,OAAO,EAAE;YACP,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;YAChD,WAAW,EAAE,IAAI,CAAC,KAAK;YACvB,QAAQ,EAAE,oBAAY,CAAC,QAAQ,CAAC,IAAI;YACpC,KAAK,EAAE,oBAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YAChD,QAAQ,EAAE,oBAAY,CAAC,KAAK,CAAC,IAAI;SAClC;KACF,CAAC,CAAC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;QACtB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,MAAM,EAAE,KAAK;QACb,GAAG,UAAU;KACd,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/generator/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,OAAsB,EACtB,MAAmB,EACnB,UAAmC,EACnC,KAAkB,EAClB,SAA2B;IAE3B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAqB,CAAC;IAE5C,oCAAoC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACzD,OAAO,GAAG,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;QACzB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;QAC7B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,KAAK;QACb,GAAG,UAAU;QACb,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YACrB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;AACL,CAAC"}
@@ -1,17 +1,22 @@
1
1
  /**
2
2
  * Mermaid図の生成モジュール
3
3
  */
4
- import type PptxGenJS from 'pptxgenjs';
5
- import type { PlacedElement } from '../layout/index';
4
+ import type { PlacedElement } from '../layout/index.js';
5
+ import type { AnimationConfig } from '../types/index.js';
6
+ import type { ISlide } from './presentation.js';
6
7
  interface Coordinates {
7
8
  x: number;
8
9
  y: number;
9
10
  w: number;
10
11
  h: number;
11
12
  }
13
+ /**
14
+ * 一時ディレクトリをクリーンアップ
15
+ */
16
+ declare function cleanupTempDir(): void;
17
+ export { cleanupTempDir };
12
18
  /**
13
19
  * Mermaid要素を追加
14
20
  */
15
- export declare function addMermaidElement(slide: PptxGenJS.Slide, element: PlacedElement, coords: Coordinates, _styleProps: Record<string, unknown>): Promise<void>;
16
- export {};
21
+ export declare function addMermaidElement(slide: ISlide, element: PlacedElement, coords: Coordinates, _styleProps: Record<string, unknown>, animation?: AnimationConfig): Promise<string[]>;
17
22
  //# sourceMappingURL=mermaid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../src/generator/mermaid.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrD,UAAU,WAAW;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAoGD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAqCf"}
1
+ {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../src/generator/mermaid.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,UAAU,WAAW;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AA2BD;;GAEG;AACH,iBAAS,cAAc,IAAI,IAAI,CAS9B;AASD,OAAO,EAAE,cAAc,EAAE,CAAC;AAuH1B;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB"}
@@ -1,98 +1,107 @@
1
- "use strict";
2
1
  /**
3
2
  * Mermaid図の生成モジュール
4
3
  */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
4
+ import * as fs from 'fs';
5
+ import * as path from 'path';
6
+ import * as os from 'os';
7
+ import { execSync } from 'child_process';
8
+ import { t } from '../utils/i18n.js';
9
+ // 一時ファイル用のディレクトリ(プロセスごとにユニーク)
10
+ let TEMP_DIR = null;
11
+ /**
12
+ * プロセス固有の一時ディレクトリを取得
13
+ */
14
+ function getTempDir() {
15
+ if (!TEMP_DIR) {
16
+ const timestamp = Date.now();
17
+ const randomId = Math.random().toString(36).substring(2, 15);
18
+ TEMP_DIR = path.join(os.tmpdir(), `marhup-mermaid-${timestamp}-${randomId}`);
10
19
  }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.addMermaidElement = addMermaidElement;
40
- const fs = __importStar(require("fs"));
41
- const path = __importStar(require("path"));
42
- const os = __importStar(require("os"));
43
- const child_process_1 = require("child_process");
44
- // 一時ファイル用のディレクトリ
45
- const TEMP_DIR = path.join(os.tmpdir(), 'marhup-mermaid');
20
+ return TEMP_DIR;
21
+ }
46
22
  /**
47
23
  * 一時ディレクトリを作成
48
24
  */
49
25
  function ensureTempDir() {
50
- if (!fs.existsSync(TEMP_DIR)) {
51
- fs.mkdirSync(TEMP_DIR, { recursive: true });
26
+ const tempDir = getTempDir();
27
+ if (!fs.existsSync(tempDir)) {
28
+ fs.mkdirSync(tempDir, { recursive: true });
29
+ }
30
+ }
31
+ /**
32
+ * 一時ディレクトリをクリーンアップ
33
+ */
34
+ function cleanupTempDir() {
35
+ if (TEMP_DIR && fs.existsSync(TEMP_DIR)) {
36
+ try {
37
+ fs.rmSync(TEMP_DIR, { recursive: true, force: true });
38
+ TEMP_DIR = null; // 参照をクリア
39
+ }
40
+ catch (error) {
41
+ console.warn(t('errors.cleanupTempDirFailed', { error }));
42
+ }
52
43
  }
53
44
  }
45
+ // プロセス終了時にクリーンアップ
46
+ process.on('exit', cleanupTempDir);
47
+ process.on('SIGINT', cleanupTempDir);
48
+ process.on('SIGTERM', cleanupTempDir);
49
+ process.on('uncaughtException', cleanupTempDir);
50
+ // エクスポート(クリーンアップ用)
51
+ export { cleanupTempDir };
54
52
  /**
55
53
  * Mermaid記法からPNG画像を生成
56
54
  */
57
55
  async function renderMermaidToPng(mermaidCode) {
58
56
  ensureTempDir();
57
+ const tempDir = getTempDir();
59
58
  const timestamp = Date.now();
60
- const inputFile = path.join(TEMP_DIR, `mermaid-${timestamp}.mmd`);
61
- const outputFile = path.join(TEMP_DIR, `mermaid-${timestamp}.png`);
59
+ const inputFile = path.join(tempDir, `mermaid-${timestamp}.mmd`);
60
+ const outputFile = path.join(tempDir, `mermaid-${timestamp}.png`);
61
+ const configFile = path.join(tempDir, `puppeteer-${timestamp}.json`);
62
+ let filesToCleanup = [];
62
63
  try {
63
64
  // Mermaidコードを一時ファイルに書き込み
64
65
  fs.writeFileSync(inputFile, mermaidCode, 'utf-8');
66
+ filesToCleanup.push(inputFile);
65
67
  // mmdc (mermaid-cli) を使ってPNGに変換
66
68
  // puppeteerの新しい設定を使用
67
- const configFile = path.join(TEMP_DIR, `puppeteer-${timestamp}.json`);
68
69
  fs.writeFileSync(configFile, JSON.stringify({
69
70
  executablePath: undefined, // システムのChromiumを使用
70
71
  headless: true,
71
72
  args: ['--no-sandbox', '--disable-setuid-sandbox']
72
73
  }));
73
- (0, child_process_1.execSync)(`npx mmdc -i "${inputFile}" -o "${outputFile}" -b transparent -s 2`, {
74
+ filesToCleanup.push(configFile);
75
+ execSync(`npx mmdc -i "${inputFile}" -o "${outputFile}" -b transparent -s 2`, {
74
76
  stdio: 'pipe',
75
77
  timeout: 30000,
76
78
  });
77
- // 生成された画像を読み込み
79
+ // 生成された画像ファイルのパスを返す
78
80
  if (fs.existsSync(outputFile)) {
79
- const buffer = fs.readFileSync(outputFile);
80
- // 一時ファイルを削除
81
- fs.unlinkSync(inputFile);
82
- fs.unlinkSync(outputFile);
83
- if (fs.existsSync(configFile)) {
84
- fs.unlinkSync(configFile);
85
- }
86
- return buffer;
81
+ // 成功時はoutputFileをクリーンアップ対象から除外(呼び出し元で管理)
82
+ filesToCleanup = filesToCleanup.filter(f => f !== outputFile);
83
+ return outputFile;
87
84
  }
88
85
  }
89
86
  catch (error) {
90
- console.warn('Mermaid図の生成に失敗しました:', error);
87
+ console.warn(t('errors.mermaidGenerationFailed', { error }));
88
+ // エラー時はoutputFileもクリーンアップ
89
+ if (fs.existsSync(outputFile)) {
90
+ filesToCleanup.push(outputFile);
91
+ }
92
+ }
93
+ finally {
91
94
  // 一時ファイルをクリーンアップ
92
- if (fs.existsSync(inputFile))
93
- fs.unlinkSync(inputFile);
94
- if (fs.existsSync(outputFile))
95
- fs.unlinkSync(outputFile);
95
+ for (const file of filesToCleanup) {
96
+ try {
97
+ if (fs.existsSync(file)) {
98
+ fs.unlinkSync(file);
99
+ }
100
+ }
101
+ catch (cleanupError) {
102
+ console.warn(t('errors.cleanupTempFileFailed', { error: cleanupError }));
103
+ }
104
+ }
96
105
  }
97
106
  return null;
98
107
  }
@@ -101,66 +110,93 @@ async function renderMermaidToPng(mermaidCode) {
101
110
  */
102
111
  async function renderMermaidToSvg(mermaidCode) {
103
112
  ensureTempDir();
113
+ const tempDir = getTempDir();
104
114
  const timestamp = Date.now();
105
- const inputFile = path.join(TEMP_DIR, `mermaid-${timestamp}.mmd`);
106
- const outputFile = path.join(TEMP_DIR, `mermaid-${timestamp}.svg`);
115
+ const inputFile = path.join(tempDir, `mermaid-${timestamp}.mmd`);
116
+ const outputFile = path.join(tempDir, `mermaid-${timestamp}.svg`);
117
+ let filesToCleanup = [];
107
118
  try {
108
119
  fs.writeFileSync(inputFile, mermaidCode, 'utf-8');
109
- (0, child_process_1.execSync)(`npx mmdc -i "${inputFile}" -o "${outputFile}" -b transparent`, {
120
+ filesToCleanup.push(inputFile);
121
+ execSync(`npx mmdc -i "${inputFile}" -o "${outputFile}" -b transparent`, {
110
122
  stdio: 'pipe',
111
123
  timeout: 30000,
112
124
  });
113
125
  if (fs.existsSync(outputFile)) {
114
126
  const svg = fs.readFileSync(outputFile, 'utf-8');
115
- fs.unlinkSync(inputFile);
116
- fs.unlinkSync(outputFile);
117
- return svg;
127
+ // SVGを読み込んだらファイルをクリーンアップ
128
+ filesToCleanup.push(outputFile);
129
+ const base64 = Buffer.from(svg).toString('base64');
130
+ // メモリ解放のため、変数をnull化
131
+ let result = `data:image/svg+xml;base64,${base64}`;
132
+ // svgとbase64をnull化
133
+ return result;
118
134
  }
119
135
  }
120
136
  catch (error) {
121
- console.warn('Mermaid SVG生成に失敗:', error);
122
- if (fs.existsSync(inputFile))
123
- fs.unlinkSync(inputFile);
124
- if (fs.existsSync(outputFile))
125
- fs.unlinkSync(outputFile);
137
+ console.warn(t('errors.mermaidSvgGenerationFailed', { error }));
138
+ // エラー時はoutputFileもクリーンアップ
139
+ if (fs.existsSync(outputFile)) {
140
+ filesToCleanup.push(outputFile);
141
+ }
142
+ }
143
+ finally {
144
+ // 一時ファイルをクリーンアップ
145
+ for (const file of filesToCleanup) {
146
+ try {
147
+ if (fs.existsSync(file)) {
148
+ fs.unlinkSync(file);
149
+ }
150
+ }
151
+ catch (cleanupError) {
152
+ console.warn(t('errors.cleanupTempFileFailed', { error: cleanupError }));
153
+ }
154
+ }
126
155
  }
127
156
  return null;
128
157
  }
129
158
  /**
130
159
  * Mermaid要素を追加
131
160
  */
132
- async function addMermaidElement(slide, element, coords, _styleProps) {
161
+ export async function addMermaidElement(slide, element, coords, _styleProps, animation) {
133
162
  const mermaidCode = element.content;
134
163
  // PNGで試行
135
- const pngBuffer = await renderMermaidToPng(mermaidCode);
136
- if (pngBuffer) {
137
- const base64 = pngBuffer.toString('base64');
138
- slide.addImage({
139
- data: `data:image/png;base64,${base64}`,
164
+ const pngFile = await renderMermaidToPng(mermaidCode);
165
+ if (pngFile) {
166
+ slide.addImage(pngFile, {
140
167
  x: coords.x,
141
168
  y: coords.y,
142
169
  w: coords.w,
143
170
  h: coords.h,
144
171
  sizing: { type: 'contain', w: coords.w, h: coords.h },
172
+ animation: animation ? {
173
+ type: animation.type,
174
+ duration: animation.duration,
175
+ delay: animation.delay,
176
+ } : undefined,
145
177
  });
146
- return;
178
+ return [pngFile];
147
179
  }
148
180
  // SVGでフォールバック
149
181
  const svg = await renderMermaidToSvg(mermaidCode);
150
182
  if (svg) {
151
- const base64 = Buffer.from(svg).toString('base64');
152
- slide.addImage({
153
- data: `data:image/svg+xml;base64,${base64}`,
183
+ slide.addImage(svg, {
154
184
  x: coords.x,
155
185
  y: coords.y,
156
186
  w: coords.w,
157
187
  h: coords.h,
158
188
  sizing: { type: 'contain', w: coords.w, h: coords.h },
189
+ animation: animation ? {
190
+ type: animation.type,
191
+ duration: animation.duration,
192
+ delay: animation.delay,
193
+ } : undefined,
159
194
  });
160
- return;
195
+ return [];
161
196
  }
162
197
  // 失敗した場合はプレースホルダーを表示
163
198
  addMermaidPlaceholder(slide, coords, mermaidCode);
199
+ return [];
164
200
  }
165
201
  /**
166
202
  * Mermaidプレースホルダーを追加(生成失敗時)
@@ -172,7 +208,7 @@ function addMermaidPlaceholder(slide, coords, mermaidCode) {
172
208
  w: coords.w,
173
209
  h: coords.h,
174
210
  fill: { color: 'f5f5f5' },
175
- line: { color: 'cccccc', width: 1 },
211
+ line: 'cccccc',
176
212
  });
177
213
  // Mermaidコードの最初の行を表示
178
214
  const firstLine = mermaidCode.split('\n')[0].trim();
@@ -186,7 +222,6 @@ function addMermaidPlaceholder(slide, coords, mermaidCode) {
186
222
  color: '666666',
187
223
  align: 'center',
188
224
  valign: 'middle',
189
- fontFace: 'Courier New',
190
225
  });
191
226
  }
192
227
  //# sourceMappingURL=mermaid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/generator/mermaid.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqHH,8CA0CC;AA3JD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAyC;AASzC,iBAAiB;AACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,aAAa,EAAE,CAAC;IAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,SAAS,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,SAAS,MAAM,CAAC,CAAC;IAEnE,IAAI,CAAC;QACH,yBAAyB;QACzB,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,gCAAgC;QAChC,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,SAAS,OAAO,CAAC,CAAC;QACtE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YAC1C,cAAc,EAAE,SAAS,EAAE,mBAAmB;YAC9C,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,CAAC;SACnD,CAAC,CAAC,CAAC;QAEJ,IAAA,wBAAQ,EAAC,gBAAgB,SAAS,SAAS,UAAU,uBAAuB,EAAE;YAC5E,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,eAAe;QACf,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAE3C,YAAY;YACZ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC3C,iBAAiB;QACjB,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,aAAa,EAAE,CAAC;IAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,SAAS,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,SAAS,MAAM,CAAC,CAAC;IAEnE,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,IAAA,wBAAQ,EAAC,gBAAgB,SAAS,SAAS,UAAU,kBAAkB,EAAE;YACvE,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEjD,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE1B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,KAAsB,EACtB,OAAsB,EACtB,MAAmB,EACnB,WAAoC;IAEpC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAiB,CAAC;IAE9C,SAAS;IACT,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAExD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5C,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,yBAAyB,MAAM,EAAE;YACvC,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;SACtD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,cAAc;IACd,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAElD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnD,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,6BAA6B,MAAM,EAAE;YAC3C,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;SACtD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,KAAsB,EACtB,MAAmB,EACnB,WAAmB;IAEnB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;QACrB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QACzB,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;KACpC,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,WAAW,GAAG,aAAa,SAAS,MAAM,CAAC;IAEjD,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;QACzB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/generator/mermaid.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * PPTX生成メインモジュール
3
3
  */
4
- import type { ParsedDocument } from '../types/index';
4
+ import type { ParsedDocument } from '../types/index.js';
5
5
  /**
6
6
  * ParsedDocumentからPPTXを生成
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pptx.d.ts","sourceRoot":"","sources":["../../src/generator/pptx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAgBxE;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
1
+ {"version":3,"file":"pptx.d.ts","sourceRoot":"","sources":["../../src/generator/pptx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,mBAAmB,CAAC;AAyBxF;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiMf"}