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
package/dist/parser/markdown.js
CHANGED
|
@@ -1,22 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Markdownパーサー
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import { marked } from 'marked';
|
|
5
|
+
import { parseFrontmatter, parseGridString } from './frontmatter.js';
|
|
6
|
+
import { extractGridAndStyle, parseBlockGridLine } from './grid.js';
|
|
7
|
+
import { pluginManager } from '../utils/plugin-manager.js';
|
|
8
|
+
import { sanitizeText } from '../utils/sanitizer.js';
|
|
9
|
+
import logger from '../utils/logger.js';
|
|
10
|
+
// markedの設定: HTMLはsanitizeTextで除去
|
|
11
|
+
marked.setOptions({
|
|
12
|
+
breaks: true,
|
|
13
|
+
gfm: true,
|
|
14
|
+
});
|
|
10
15
|
/**
|
|
11
16
|
* Markdownをパースしてドキュメント構造に変換
|
|
12
17
|
*/
|
|
13
|
-
function parseMarkdown(markdown) {
|
|
18
|
+
export function parseMarkdown(markdown) {
|
|
19
|
+
logger.debug('Starting markdown parsing', { length: markdown.length });
|
|
14
20
|
// グローバルFront Matterを抽出
|
|
15
|
-
const { frontmatter: globalFrontmatter, body } =
|
|
21
|
+
const { frontmatter: globalFrontmatter, body } = parseFrontmatter(markdown);
|
|
22
|
+
logger.debug('Parsed global frontmatter', { title: globalFrontmatter.title, theme: globalFrontmatter.theme });
|
|
16
23
|
// スライド区切りで分割
|
|
17
24
|
const slideContents = splitSlides(body);
|
|
25
|
+
logger.debug(`Split into ${slideContents.length} slides`);
|
|
18
26
|
// 各スライドをパース
|
|
19
|
-
const
|
|
27
|
+
const globalGridConfig = globalFrontmatter.grid ? parseGridString(globalFrontmatter.grid) : { cols: 12, rows: 9 };
|
|
28
|
+
const slides = slideContents.map((content) => parseSlide(content, globalFrontmatter.aliases, globalGridConfig));
|
|
29
|
+
logger.info(`Parsed ${slides.length} slides from markdown`);
|
|
20
30
|
return {
|
|
21
31
|
globalFrontmatter,
|
|
22
32
|
slides,
|
|
@@ -28,19 +38,35 @@ function parseMarkdown(markdown) {
|
|
|
28
38
|
function splitSlides(content) {
|
|
29
39
|
// 改行 + --- + 改行 をスライド区切りとして扱う
|
|
30
40
|
// ただしFront Matterは除外する
|
|
31
|
-
const
|
|
32
|
-
|
|
41
|
+
const slides = [];
|
|
42
|
+
const slideDelimiter = /\n---\s*\n/g;
|
|
43
|
+
let start = 0;
|
|
44
|
+
let match;
|
|
45
|
+
while ((match = slideDelimiter.exec(content)) !== null) {
|
|
46
|
+
const slide = content.slice(start, match.index).trim();
|
|
47
|
+
if (slide)
|
|
48
|
+
slides.push(slide);
|
|
49
|
+
start = match.index + match[0].length;
|
|
50
|
+
}
|
|
51
|
+
const lastSlide = content.slice(start).trim();
|
|
52
|
+
if (lastSlide)
|
|
53
|
+
slides.push(lastSlide);
|
|
54
|
+
return slides;
|
|
33
55
|
}
|
|
34
56
|
/**
|
|
35
57
|
* 1スライド分のコンテンツをパース
|
|
36
58
|
*/
|
|
37
|
-
function parseSlide(content, globalAliases) {
|
|
59
|
+
function parseSlide(content, globalAliases, globalGridConfig) {
|
|
60
|
+
logger.debug('Parsing slide content', { contentLength: content.length });
|
|
38
61
|
// スライド個別のFront Matterがあれば抽出
|
|
39
|
-
const { frontmatter, body } =
|
|
62
|
+
const { frontmatter, body } = parseFrontmatter(content);
|
|
40
63
|
// aliases をマージ(スライド個別が優先)
|
|
41
64
|
const mergedAliases = { ...globalAliases, ...frontmatter.aliases };
|
|
65
|
+
// grid をマージ(スライド個別が優先)
|
|
66
|
+
const gridConfig = frontmatter.grid ? parseGridString(frontmatter.grid) : globalGridConfig || { cols: 12, rows: 9 };
|
|
42
67
|
// 要素をパース
|
|
43
|
-
const elements = parseSlideElements(body, mergedAliases);
|
|
68
|
+
const elements = parseSlideElements(body, mergedAliases, gridConfig);
|
|
69
|
+
logger.debug(`Parsed ${elements.length} elements for slide`);
|
|
44
70
|
return {
|
|
45
71
|
frontmatter,
|
|
46
72
|
elements,
|
|
@@ -49,178 +75,253 @@ function parseSlide(content, globalAliases) {
|
|
|
49
75
|
/**
|
|
50
76
|
* スライド内の要素をパース
|
|
51
77
|
*/
|
|
52
|
-
function parseSlideElements(content, aliases) {
|
|
78
|
+
function parseSlideElements(content, aliases, gridConfig) {
|
|
53
79
|
const elements = [];
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
80
|
+
// グリッドブロックの開始行をすべて見つける
|
|
81
|
+
const gridRegex = /^\s*\[[\d[a-zA-Z_]/gm;
|
|
82
|
+
const gridMatches = [...content.matchAll(gridRegex)];
|
|
83
|
+
// セグメントの境界を決定
|
|
84
|
+
const positions = [0, ...gridMatches.map(m => m.index), content.length];
|
|
85
|
+
for (let i = 0; i < positions.length - 1; i++) {
|
|
86
|
+
const start = positions[i];
|
|
87
|
+
const end = positions[i + 1];
|
|
88
|
+
const segment = content.slice(start, end);
|
|
89
|
+
if (i === 0) {
|
|
90
|
+
// 最初のセグメントはノンブロック
|
|
91
|
+
if (segment.trim()) {
|
|
92
|
+
const blockElements = parseBlockContent(segment, undefined, undefined, aliases, gridConfig);
|
|
62
93
|
elements.push(...blockElements);
|
|
63
94
|
}
|
|
64
|
-
nonBlockLines = [];
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
for (let i = 0; i < lines.length; i++) {
|
|
68
|
-
const line = lines[i];
|
|
69
|
-
// グリッドブロックの開始をチェック
|
|
70
|
-
const { isGridBlock, position, style } = (0, grid_1.parseBlockGridLine)(line, aliases);
|
|
71
|
-
if (isGridBlock) {
|
|
72
|
-
// 前のノンブロック行があれば処理
|
|
73
|
-
flushNonBlockLines();
|
|
74
|
-
// 前のグリッドブロックがあれば処理
|
|
75
|
-
if (currentBlock && currentBlock.lines.length > 0) {
|
|
76
|
-
const blockElements = parseBlockContent(currentBlock.lines.join('\n'), currentBlock.position, currentBlock.style, aliases);
|
|
77
|
-
elements.push(...blockElements);
|
|
78
|
-
}
|
|
79
|
-
// 新しいブロックを開始
|
|
80
|
-
currentBlock = {
|
|
81
|
-
position,
|
|
82
|
-
style,
|
|
83
|
-
lines: [],
|
|
84
|
-
};
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
// 現在のグリッドブロックに行を追加
|
|
88
|
-
if (currentBlock) {
|
|
89
|
-
currentBlock.lines.push(line);
|
|
90
95
|
}
|
|
91
96
|
else {
|
|
92
|
-
//
|
|
93
|
-
|
|
97
|
+
// グリッドブロック
|
|
98
|
+
const firstLineEnd = segment.indexOf('\n');
|
|
99
|
+
const firstLine = firstLineEnd >= 0 ? segment.slice(0, firstLineEnd) : segment;
|
|
100
|
+
const { position, style } = parseBlockGridLine(firstLine, aliases, gridConfig);
|
|
101
|
+
const blockContent = firstLineEnd >= 0 ? segment.slice(firstLineEnd + 1) : '';
|
|
102
|
+
const blockElements = parseBlockContent(blockContent, position, style, aliases, gridConfig);
|
|
103
|
+
elements.push(...blockElements);
|
|
94
104
|
}
|
|
95
105
|
}
|
|
96
|
-
// 最後のノンブロック行を処理
|
|
97
|
-
flushNonBlockLines();
|
|
98
|
-
// 最後のグリッドブロックを処理
|
|
99
|
-
if (currentBlock && currentBlock.lines.length > 0) {
|
|
100
|
-
const blockElements = parseBlockContent(currentBlock.lines.join('\n'), currentBlock.position, currentBlock.style, aliases);
|
|
101
|
-
elements.push(...blockElements);
|
|
102
|
-
}
|
|
103
106
|
return elements;
|
|
104
107
|
}
|
|
105
108
|
/**
|
|
106
109
|
* 1行をパース(見出しなど、インラインでグリッド指定があるケース)
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
// 画像チェック
|
|
126
|
-
const imageMatch = line.match(/^!\[([^\]]*)\]\(([^)]+)\)(.*)$/);
|
|
127
|
-
if (imageMatch) {
|
|
128
|
-
const _altText = imageMatch[1];
|
|
129
|
-
const src = imageMatch[2];
|
|
130
|
-
const rest = imageMatch[3];
|
|
131
|
-
const { position, style } = (0, grid_1.extractGridAndStyle)(rest, aliases);
|
|
132
|
-
elements.push({
|
|
133
|
-
type: 'image',
|
|
134
|
-
content: src,
|
|
135
|
-
position,
|
|
136
|
-
style,
|
|
137
|
-
raw: line,
|
|
138
|
-
});
|
|
139
|
-
return elements;
|
|
140
|
-
}
|
|
110
|
+
const elements: SlideElement[] = [];
|
|
111
|
+
|
|
112
|
+
// 見出しチェック
|
|
113
|
+
const headingMatch = line.match(/^(#{1,6})\s+(.+)$/);
|
|
114
|
+
if (headingMatch) {
|
|
115
|
+
const level = headingMatch[1].length;
|
|
116
|
+
const { position, style, animation, cleanText } = extractGridAndStyle(headingMatch[2], aliases, gridConfig);
|
|
117
|
+
|
|
118
|
+
elements.push({
|
|
119
|
+
type: 'heading',
|
|
120
|
+
level,
|
|
121
|
+
content: cleanText,
|
|
122
|
+
position,
|
|
123
|
+
style,
|
|
124
|
+
animation,
|
|
125
|
+
raw: line,
|
|
126
|
+
});
|
|
141
127
|
return elements;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// 動画チェック
|
|
131
|
+
const videoMatch = line.match(/^!v\[([^\]]*)\]\(([^)]+)\)(.*)$/);
|
|
132
|
+
if (videoMatch) {
|
|
133
|
+
const _altText = videoMatch[1];
|
|
134
|
+
const src = videoMatch[2];
|
|
135
|
+
const rest = videoMatch[3];
|
|
136
|
+
const { position, style, animation } = extractGridAndStyle(rest, aliases, gridConfig);
|
|
137
|
+
|
|
138
|
+
elements.push({
|
|
139
|
+
type: 'video',
|
|
140
|
+
content: src,
|
|
141
|
+
position,
|
|
142
|
+
style,
|
|
143
|
+
animation,
|
|
144
|
+
raw: line,
|
|
145
|
+
});
|
|
146
|
+
return elements;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// 画像チェック
|
|
150
|
+
const imageMatch = line.match(/^!\[([^\]]*)\]\(([^)]+)\)(.*)$/);
|
|
151
|
+
if (imageMatch) {
|
|
152
|
+
const altText = imageMatch[1];
|
|
153
|
+
const src = imageMatch[2];
|
|
154
|
+
const rest = imageMatch[3];
|
|
155
|
+
const { position, style, animation } = extractGridAndStyle(rest, aliases, gridConfig);
|
|
156
|
+
|
|
157
|
+
elements.push({
|
|
158
|
+
type: 'image',
|
|
159
|
+
content: src,
|
|
160
|
+
position,
|
|
161
|
+
style,
|
|
162
|
+
animation,
|
|
163
|
+
altText: altText || undefined,
|
|
164
|
+
raw: line,
|
|
165
|
+
});
|
|
166
|
+
return elements;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return elements;
|
|
142
170
|
}
|
|
171
|
+
|
|
143
172
|
/**
|
|
144
173
|
* ブロックコンテンツをパース
|
|
145
174
|
*/
|
|
146
|
-
function parseBlockContent(content, position, style, aliases) {
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
175
|
+
function parseBlockContent(content, position, style, aliases, gridConfig) {
|
|
176
|
+
// ブロック内のグリッド記法をチェック
|
|
177
|
+
const gridRegex = /^\s*\[[\d[a-zA-Z_]/gm;
|
|
178
|
+
const gridMatches = [...content.matchAll(gridRegex)];
|
|
179
|
+
if (gridMatches.length > 0) {
|
|
180
|
+
// グリッド記法がある場合、再帰的に処理
|
|
181
|
+
const elements = [];
|
|
182
|
+
const positions = [0, ...gridMatches.map(m => m.index), content.length];
|
|
183
|
+
for (let i = 0; i < positions.length - 1; i++) {
|
|
184
|
+
const start = positions[i];
|
|
185
|
+
const end = positions[i + 1];
|
|
186
|
+
const segment = content.slice(start, end);
|
|
187
|
+
if (i === 0) {
|
|
188
|
+
// 最初のセグメントはノンブロック
|
|
189
|
+
if (segment.trim()) {
|
|
190
|
+
const blockElements = parseBlockContent(segment, undefined, style, aliases, gridConfig);
|
|
191
|
+
elements.push(...blockElements);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
// グリッドブロック
|
|
196
|
+
const firstLineEnd = segment.indexOf('\n');
|
|
197
|
+
const firstLine = firstLineEnd >= 0 ? segment.slice(0, firstLineEnd) : segment;
|
|
198
|
+
const { position: pos, style: sty } = parseBlockGridLine(firstLine, aliases, gridConfig);
|
|
199
|
+
const blockContent = firstLineEnd >= 0 ? segment.slice(firstLineEnd + 1) : '';
|
|
200
|
+
const blockElements = parseBlockContent(blockContent, pos, sty || style, aliases, gridConfig);
|
|
201
|
+
elements.push(...blockElements);
|
|
202
|
+
}
|
|
155
203
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
204
|
+
// 全体の位置指定がある場合、領域を要素数で分割
|
|
205
|
+
if (position && elements.length > 0) {
|
|
206
|
+
const totalRows = position.rowEnd - position.rowStart + 1;
|
|
207
|
+
const rowsPerElement = Math.max(1, Math.floor(totalRows / elements.length));
|
|
208
|
+
let currentRow = position.rowStart;
|
|
209
|
+
for (let i = 0; i < elements.length; i++) {
|
|
210
|
+
const isLast = i === elements.length - 1;
|
|
211
|
+
const elementRowEnd = isLast ? position.rowEnd : Math.min(currentRow + rowsPerElement - 1, position.rowEnd);
|
|
212
|
+
elements[i].position = {
|
|
213
|
+
colStart: position.colStart,
|
|
214
|
+
colEnd: position.colEnd,
|
|
215
|
+
rowStart: currentRow,
|
|
216
|
+
rowEnd: elementRowEnd,
|
|
217
|
+
};
|
|
218
|
+
if (style && !elements[i].style) {
|
|
219
|
+
elements[i].style = style;
|
|
220
|
+
}
|
|
221
|
+
currentRow = elementRowEnd + 1;
|
|
174
222
|
}
|
|
175
|
-
elements.push(element);
|
|
176
|
-
currentRow = elementRowEnd + 1;
|
|
177
223
|
}
|
|
224
|
+
return elements;
|
|
178
225
|
}
|
|
179
226
|
else {
|
|
180
|
-
//
|
|
181
|
-
|
|
227
|
+
// 通常のMarkdownパース
|
|
228
|
+
const tokens = marked.lexer(content);
|
|
229
|
+
const blockElements = [];
|
|
230
|
+
for (const token of tokens) {
|
|
231
|
+
const element = tokenToElement(token, aliases, gridConfig);
|
|
232
|
+
if (element) {
|
|
233
|
+
blockElements.push(element);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// 位置指定がある場合、領域を要素数で分割
|
|
237
|
+
if (position && blockElements.length > 0) {
|
|
238
|
+
const totalRows = position.rowEnd - position.rowStart + 1;
|
|
239
|
+
const rowsPerElement = Math.max(1, Math.floor(totalRows / blockElements.length));
|
|
240
|
+
let currentRow = position.rowStart;
|
|
241
|
+
for (let i = 0; i < blockElements.length; i++) {
|
|
242
|
+
const isLast = i === blockElements.length - 1;
|
|
243
|
+
const elementRowEnd = isLast ? position.rowEnd : Math.min(currentRow + rowsPerElement - 1, position.rowEnd);
|
|
244
|
+
blockElements[i].position = {
|
|
245
|
+
colStart: position.colStart,
|
|
246
|
+
colEnd: position.colEnd,
|
|
247
|
+
rowStart: currentRow,
|
|
248
|
+
rowEnd: elementRowEnd,
|
|
249
|
+
};
|
|
250
|
+
if (style && !blockElements[i].style) {
|
|
251
|
+
blockElements[i].style = style;
|
|
252
|
+
}
|
|
253
|
+
currentRow = elementRowEnd + 1;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return blockElements;
|
|
182
257
|
}
|
|
183
|
-
return elements;
|
|
184
258
|
}
|
|
185
259
|
/**
|
|
186
260
|
* marked トークンをSlideElementに変換
|
|
187
261
|
*/
|
|
188
|
-
function tokenToElement(token, aliases) {
|
|
262
|
+
function tokenToElement(token, aliases, gridConfig) {
|
|
263
|
+
// Check plugin parser first
|
|
264
|
+
const pluginParser = pluginManager.getElementParser(token.type);
|
|
265
|
+
if (pluginParser) {
|
|
266
|
+
const element = pluginParser(token, aliases, gridConfig);
|
|
267
|
+
if (element)
|
|
268
|
+
return element;
|
|
269
|
+
}
|
|
189
270
|
switch (token.type) {
|
|
190
271
|
case 'heading': {
|
|
191
272
|
const headingToken = token;
|
|
192
|
-
const { position, style, cleanText } =
|
|
273
|
+
const { position, style, animation, cleanText } = extractGridAndStyle(headingToken.text, aliases, gridConfig);
|
|
193
274
|
return {
|
|
194
275
|
type: 'heading',
|
|
195
276
|
level: headingToken.depth,
|
|
196
|
-
content: cleanText,
|
|
277
|
+
content: sanitizeText(cleanText),
|
|
197
278
|
position,
|
|
198
279
|
style,
|
|
280
|
+
animation,
|
|
199
281
|
raw: headingToken.raw,
|
|
200
282
|
};
|
|
201
283
|
}
|
|
202
284
|
case 'paragraph': {
|
|
203
285
|
const paragraphToken = token;
|
|
204
|
-
const { position, style, cleanText } =
|
|
286
|
+
const { position, style, animation, cleanText } = extractGridAndStyle(paragraphToken.text, aliases, gridConfig);
|
|
287
|
+
// 動画をチェック
|
|
288
|
+
const videoMatch = paragraphToken.text.match(/^!v\[([^\]]*)\]\(([^)]+)\)(.*)$/);
|
|
289
|
+
if (videoMatch) {
|
|
290
|
+
const src = videoMatch[2];
|
|
291
|
+
const rest = videoMatch[3];
|
|
292
|
+
const { position: vidPos, style: vidStyle, animation: vidAnimation } = extractGridAndStyle(rest, aliases, gridConfig);
|
|
293
|
+
return {
|
|
294
|
+
type: 'video',
|
|
295
|
+
content: sanitizeText(src),
|
|
296
|
+
position: vidPos || position,
|
|
297
|
+
style: vidStyle || style,
|
|
298
|
+
animation: vidAnimation || animation,
|
|
299
|
+
raw: paragraphToken.raw,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
205
302
|
// 画像をチェック
|
|
206
303
|
const imageMatch = paragraphToken.text.match(/^!\[([^\]]*)\]\(([^)]+)\)(.*)$/);
|
|
207
304
|
if (imageMatch) {
|
|
305
|
+
const altText = imageMatch[1];
|
|
208
306
|
const src = imageMatch[2];
|
|
209
307
|
const rest = imageMatch[3];
|
|
210
|
-
const { position: imgPos, style: imgStyle } =
|
|
308
|
+
const { position: imgPos, style: imgStyle, animation: imgAnimation } = extractGridAndStyle(rest, aliases, gridConfig);
|
|
211
309
|
return {
|
|
212
310
|
type: 'image',
|
|
213
|
-
content: src,
|
|
311
|
+
content: sanitizeText(src),
|
|
214
312
|
position: imgPos || position,
|
|
215
313
|
style: imgStyle || style,
|
|
314
|
+
animation: imgAnimation || animation,
|
|
315
|
+
altText: altText || undefined,
|
|
216
316
|
raw: paragraphToken.raw,
|
|
217
317
|
};
|
|
218
318
|
}
|
|
219
319
|
return {
|
|
220
320
|
type: 'paragraph',
|
|
221
|
-
content: cleanText,
|
|
321
|
+
content: sanitizeText(cleanText),
|
|
222
322
|
position,
|
|
223
323
|
style,
|
|
324
|
+
animation,
|
|
224
325
|
raw: paragraphToken.raw,
|
|
225
326
|
};
|
|
226
327
|
}
|
|
@@ -236,8 +337,8 @@ function tokenToElement(token, aliases) {
|
|
|
236
337
|
case 'table': {
|
|
237
338
|
const tableToken = token;
|
|
238
339
|
const tableData = {
|
|
239
|
-
headers: tableToken.header.map((h) => h.text),
|
|
240
|
-
rows: tableToken.rows.map((row) => row.map((cell) => cell.text)),
|
|
340
|
+
headers: tableToken.header.map((h) => sanitizeText(h.text)),
|
|
341
|
+
rows: tableToken.rows.map((row) => row.map((cell) => sanitizeText(cell.text))),
|
|
241
342
|
};
|
|
242
343
|
return {
|
|
243
344
|
type: 'table',
|
|
@@ -251,13 +352,13 @@ function tokenToElement(token, aliases) {
|
|
|
251
352
|
if (codeToken.lang === 'mermaid') {
|
|
252
353
|
return {
|
|
253
354
|
type: 'mermaid',
|
|
254
|
-
content: codeToken.text,
|
|
355
|
+
content: sanitizeText(codeToken.text),
|
|
255
356
|
raw: codeToken.raw,
|
|
256
357
|
};
|
|
257
358
|
}
|
|
258
359
|
return {
|
|
259
360
|
type: 'code',
|
|
260
|
-
content: codeToken.text,
|
|
361
|
+
content: sanitizeText(codeToken.text),
|
|
261
362
|
raw: codeToken.raw,
|
|
262
363
|
};
|
|
263
364
|
}
|
|
@@ -265,10 +366,19 @@ function tokenToElement(token, aliases) {
|
|
|
265
366
|
const blockquoteToken = token;
|
|
266
367
|
return {
|
|
267
368
|
type: 'blockquote',
|
|
268
|
-
content: blockquoteToken.text,
|
|
369
|
+
content: sanitizeText(blockquoteToken.text),
|
|
269
370
|
raw: blockquoteToken.raw,
|
|
270
371
|
};
|
|
271
372
|
}
|
|
373
|
+
case 'html': {
|
|
374
|
+
// HTMLトークンはサニタイズしてテキストとして扱う(念のため)
|
|
375
|
+
const htmlToken = token;
|
|
376
|
+
return {
|
|
377
|
+
type: 'paragraph',
|
|
378
|
+
content: sanitizeText(htmlToken.raw),
|
|
379
|
+
raw: htmlToken.raw,
|
|
380
|
+
};
|
|
381
|
+
}
|
|
272
382
|
default:
|
|
273
383
|
return null;
|
|
274
384
|
}
|
|
@@ -278,7 +388,7 @@ function tokenToElement(token, aliases) {
|
|
|
278
388
|
*/
|
|
279
389
|
function parseListItems(items, ordered) {
|
|
280
390
|
return items.map((item) => ({
|
|
281
|
-
content: item.text.split('\n')[0], // 最初の行のみ
|
|
391
|
+
content: sanitizeText(item.text.split('\n')[0]), // 最初の行のみ
|
|
282
392
|
level: 0,
|
|
283
393
|
ordered,
|
|
284
394
|
children: item.tokens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/parser/markdown.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/parser/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/theme/default.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/theme/default.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,WA8B1B,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoChE,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcvI"}
|
package/dist/theme/default.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* デフォルトテーマ
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
exports.styleClasses = exports.defaultTheme = void 0;
|
|
7
|
-
exports.resolveStyleClasses = resolveStyleClasses;
|
|
8
|
-
exports.defaultTheme = {
|
|
4
|
+
export const defaultTheme = {
|
|
9
5
|
name: 'default',
|
|
10
6
|
colors: {
|
|
11
7
|
primary: '#2563eb', // 青
|
|
@@ -26,9 +22,18 @@ exports.defaultTheme = {
|
|
|
26
22
|
body: 18,
|
|
27
23
|
small: 14,
|
|
28
24
|
},
|
|
25
|
+
slideMaster: {
|
|
26
|
+
backgroundColor: '#ffffff',
|
|
27
|
+
margin: {
|
|
28
|
+
top: 0.5,
|
|
29
|
+
bottom: 0.5,
|
|
30
|
+
left: 0.5,
|
|
31
|
+
right: 0.5,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
29
34
|
};
|
|
30
35
|
// スタイルクラスの定義
|
|
31
|
-
|
|
36
|
+
export const styleClasses = {
|
|
32
37
|
// 配置
|
|
33
38
|
center: { align: 'center', valign: 'middle' },
|
|
34
39
|
left: { align: 'left' },
|
|
@@ -63,12 +68,12 @@ exports.styleClasses = {
|
|
|
63
68
|
/**
|
|
64
69
|
* スタイルクラスをpptxgenjs形式に変換
|
|
65
70
|
*/
|
|
66
|
-
function resolveStyleClasses(classes, customClasses) {
|
|
71
|
+
export function resolveStyleClasses(classes, customClasses) {
|
|
67
72
|
let result = {};
|
|
68
73
|
for (const className of classes) {
|
|
69
74
|
let style = customClasses?.[className];
|
|
70
75
|
if (!style) {
|
|
71
|
-
style =
|
|
76
|
+
style = styleClasses[className];
|
|
72
77
|
}
|
|
73
78
|
if (style) {
|
|
74
79
|
result = { ...result, ...style };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/theme/default.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/theme/default.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* テーマモジュール
|
|
3
3
|
*/
|
|
4
|
+
import type { ThemeConfig } from '../types/index.js';
|
|
4
5
|
export { defaultTheme, styleClasses, resolveStyleClasses } from './default.js';
|
|
6
|
+
export { loadTheme };
|
|
7
|
+
export { resolveTheme };
|
|
8
|
+
/**
|
|
9
|
+
* YAMLファイルからテーマをロード
|
|
10
|
+
*/
|
|
11
|
+
declare function loadTheme(filePath: string, basePath?: string): Partial<ThemeConfig>;
|
|
12
|
+
/**
|
|
13
|
+
* Front Matterからテーマを解決
|
|
14
|
+
*/
|
|
15
|
+
declare function resolveTheme(themeValue: string | Partial<ThemeConfig> | undefined, basePath?: string): ThemeConfig;
|
|
5
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB;;GAEG;AACH,iBAAS,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAY5E;AAsBD;;GAEG;AACH,iBAAS,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAuB3G"}
|