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.
- package/README.md +419 -2
- package/dist/cli.js +659 -78
- package/dist/cli.js.map +1 -1
- package/dist/errors.d.ts +29 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +62 -0
- package/dist/errors.js.map +1 -0
- package/dist/generator/code.d.ts +4 -3
- package/dist/generator/code.d.ts.map +1 -1
- package/dist/generator/code.js +7 -7
- package/dist/generator/code.js.map +1 -1
- package/dist/generator/gen-animations.d.ts +13 -0
- package/dist/generator/gen-animations.d.ts.map +1 -0
- package/dist/generator/gen-animations.js +77 -0
- package/dist/generator/gen-animations.js.map +1 -0
- package/dist/generator/image.d.ts +4 -3
- package/dist/generator/image.d.ts.map +1 -1
- package/dist/generator/image.js +67 -80
- package/dist/generator/image.js.map +1 -1
- package/dist/generator/index.d.ts +2 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +9 -18
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/list.d.ts +4 -3
- package/dist/generator/list.d.ts.map +1 -1
- package/dist/generator/list.js +15 -17
- package/dist/generator/list.js.map +1 -1
- package/dist/generator/mermaid.d.ts +9 -4
- package/dist/generator/mermaid.d.ts.map +1 -1
- package/dist/generator/mermaid.js +120 -85
- package/dist/generator/mermaid.js.map +1 -1
- package/dist/generator/pptx.d.ts +1 -1
- package/dist/generator/pptx.d.ts.map +1 -1
- package/dist/generator/pptx.js +232 -60
- package/dist/generator/pptx.js.map +1 -1
- package/dist/generator/presentation.d.ts +149 -0
- package/dist/generator/presentation.d.ts.map +1 -0
- package/dist/generator/presentation.js +163 -0
- package/dist/generator/presentation.js.map +1 -0
- package/dist/generator/table.d.ts +4 -3
- package/dist/generator/table.d.ts.map +1 -1
- package/dist/generator/table.js +12 -33
- package/dist/generator/table.js.map +1 -1
- package/dist/generator/text.d.ts +5 -4
- package/dist/generator/text.d.ts.map +1 -1
- package/dist/generator/text.js +34 -20
- package/dist/generator/text.js.map +1 -1
- package/dist/generator/video.d.ts +18 -0
- package/dist/generator/video.d.ts.map +1 -0
- package/dist/generator/video.js +83 -0
- package/dist/generator/video.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +144 -55
- package/dist/index.js.map +1 -1
- package/dist/layout/auto.d.ts +14 -2
- package/dist/layout/auto.d.ts.map +1 -1
- package/dist/layout/auto.js +129 -37
- package/dist/layout/auto.js.map +1 -1
- package/dist/layout/engine.d.ts +1 -1
- package/dist/layout/engine.d.ts.map +1 -1
- package/dist/layout/engine.js +10 -12
- package/dist/layout/engine.js.map +1 -1
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +2 -10
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/types.d.ts +1 -0
- package/dist/layout/types.d.ts.map +1 -1
- package/dist/layout/types.js +1 -2
- package/dist/layout/types.js.map +1 -1
- package/dist/mcp-handlers.d.ts.map +1 -1
- package/dist/mcp-handlers.js +15 -51
- package/dist/mcp-handlers.js.map +1 -1
- package/dist/mcp.js +10 -12
- package/dist/mcp.js.map +1 -1
- package/dist/parser/frontmatter.d.ts.map +1 -1
- package/dist/parser/frontmatter.js +95 -16
- package/dist/parser/frontmatter.js.map +1 -1
- package/dist/parser/grid.d.ts +5 -7
- package/dist/parser/grid.d.ts.map +1 -1
- package/dist/parser/grid.js +190 -19
- package/dist/parser/grid.js.map +1 -1
- package/dist/parser/index.js +3 -13
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/markdown.d.ts +1 -1
- package/dist/parser/markdown.d.ts.map +1 -1
- package/dist/parser/markdown.js +247 -137
- package/dist/parser/markdown.js.map +1 -1
- package/dist/theme/default.d.ts.map +1 -1
- package/dist/theme/default.js +13 -8
- package/dist/theme/default.js.map +1 -1
- package/dist/theme/index.d.ts +11 -0
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +70 -7
- package/dist/theme/index.js.map +1 -1
- package/dist/types/index.d.ts +54 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -6
- package/dist/types/index.js.map +1 -1
- package/dist/types/plugin.d.ts +50 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +5 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/utils/file-lock.d.ts +27 -0
- package/dist/utils/file-lock.d.ts.map +1 -0
- package/dist/utils/file-lock.js +118 -0
- package/dist/utils/file-lock.js.map +1 -0
- package/dist/utils/i18n.d.ts +5 -0
- package/dist/utils/i18n.d.ts.map +1 -0
- package/dist/utils/i18n.js +41 -0
- package/dist/utils/i18n.js.map +1 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +43 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/path-validation.d.ts +20 -0
- package/dist/utils/path-validation.d.ts.map +1 -0
- package/dist/utils/path-validation.js +39 -0
- package/dist/utils/path-validation.js.map +1 -0
- package/dist/utils/plugin-manager.d.ts +18 -0
- package/dist/utils/plugin-manager.d.ts.map +1 -0
- package/dist/utils/plugin-manager.js +108 -0
- package/dist/utils/plugin-manager.js.map +1 -0
- package/dist/utils/sanitizer.d.ts +14 -0
- package/dist/utils/sanitizer.d.ts.map +1 -0
- package/dist/utils/sanitizer.js +73 -0
- package/dist/utils/sanitizer.js.map +1 -0
- 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;
|
|
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"}
|
package/dist/generator/index.js
CHANGED
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* ジェネレーターモジュール
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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":"
|
|
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"}
|
package/dist/generator/list.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* リスト要素の生成
|
|
3
3
|
*/
|
|
4
|
-
import type
|
|
5
|
-
import type {
|
|
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:
|
|
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,
|
|
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"}
|
package/dist/generator/list.js
CHANGED
|
@@ -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
|
-
//
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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":"
|
|
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
|
|
5
|
-
import type {
|
|
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:
|
|
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,
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
12
|
-
}
|
|
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
|
-
|
|
51
|
-
|
|
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(
|
|
61
|
-
const outputFile = path.join(
|
|
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
|
-
(
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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('
|
|
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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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(
|
|
106
|
-
const outputFile = path.join(
|
|
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
|
-
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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('
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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
|
|
136
|
-
if (
|
|
137
|
-
|
|
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
|
-
|
|
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:
|
|
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":"
|
|
1
|
+
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/generator/mermaid.ts"],"names":[],"mappings":"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"}
|
package/dist/generator/pptx.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pptx.d.ts","sourceRoot":"","sources":["../../src/generator/pptx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,
|
|
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"}
|