marhup 0.1.7

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 (94) hide show
  1. package/README.md +377 -0
  2. package/dist/cli.d.ts +6 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +99 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/generator/code.d.ts +17 -0
  7. package/dist/generator/code.d.ts.map +1 -0
  8. package/dist/generator/code.js +36 -0
  9. package/dist/generator/code.js.map +1 -0
  10. package/dist/generator/image.d.ts +17 -0
  11. package/dist/generator/image.d.ts.map +1 -0
  12. package/dist/generator/image.js +186 -0
  13. package/dist/generator/image.js.map +1 -0
  14. package/dist/generator/index.d.ts +11 -0
  15. package/dist/generator/index.d.ts.map +1 -0
  16. package/dist/generator/index.js +22 -0
  17. package/dist/generator/index.js.map +1 -0
  18. package/dist/generator/list.d.ts +17 -0
  19. package/dist/generator/list.d.ts.map +1 -0
  20. package/dist/generator/list.js +33 -0
  21. package/dist/generator/list.js.map +1 -0
  22. package/dist/generator/mermaid.d.ts +17 -0
  23. package/dist/generator/mermaid.d.ts.map +1 -0
  24. package/dist/generator/mermaid.js +192 -0
  25. package/dist/generator/mermaid.js.map +1 -0
  26. package/dist/generator/pptx.d.ts +9 -0
  27. package/dist/generator/pptx.d.ts.map +1 -0
  28. package/dist/generator/pptx.js +90 -0
  29. package/dist/generator/pptx.js.map +1 -0
  30. package/dist/generator/table.d.ts +17 -0
  31. package/dist/generator/table.d.ts.map +1 -0
  32. package/dist/generator/table.js +48 -0
  33. package/dist/generator/table.js.map +1 -0
  34. package/dist/generator/text.d.ts +21 -0
  35. package/dist/generator/text.d.ts.map +1 -0
  36. package/dist/generator/text.js +57 -0
  37. package/dist/generator/text.js.map +1 -0
  38. package/dist/index.d.ts +20 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +73 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/layout/auto.d.ts +30 -0
  43. package/dist/layout/auto.d.ts.map +1 -0
  44. package/dist/layout/auto.js +155 -0
  45. package/dist/layout/auto.js.map +1 -0
  46. package/dist/layout/engine.d.ts +27 -0
  47. package/dist/layout/engine.d.ts.map +1 -0
  48. package/dist/layout/engine.js +59 -0
  49. package/dist/layout/engine.js.map +1 -0
  50. package/dist/layout/index.d.ts +7 -0
  51. package/dist/layout/index.d.ts.map +1 -0
  52. package/dist/layout/index.js +14 -0
  53. package/dist/layout/index.js.map +1 -0
  54. package/dist/layout/types.d.ts +22 -0
  55. package/dist/layout/types.d.ts.map +1 -0
  56. package/dist/layout/types.js +6 -0
  57. package/dist/layout/types.js.map +1 -0
  58. package/dist/mcp-handlers.d.ts +33 -0
  59. package/dist/mcp-handlers.d.ts.map +1 -0
  60. package/dist/mcp-handlers.js +280 -0
  61. package/dist/mcp-handlers.js.map +1 -0
  62. package/dist/mcp.d.ts +7 -0
  63. package/dist/mcp.d.ts.map +1 -0
  64. package/dist/mcp.js +44 -0
  65. package/dist/mcp.js.map +1 -0
  66. package/dist/parser/frontmatter.d.ts +19 -0
  67. package/dist/parser/frontmatter.d.ts.map +1 -0
  68. package/dist/parser/frontmatter.js +51 -0
  69. package/dist/parser/frontmatter.js.map +1 -0
  70. package/dist/parser/grid.d.ts +36 -0
  71. package/dist/parser/grid.d.ts.map +1 -0
  72. package/dist/parser/grid.js +92 -0
  73. package/dist/parser/grid.js.map +1 -0
  74. package/dist/parser/index.d.ts +7 -0
  75. package/dist/parser/index.d.ts.map +1 -0
  76. package/dist/parser/index.js +17 -0
  77. package/dist/parser/index.js.map +1 -0
  78. package/dist/parser/markdown.d.ts +9 -0
  79. package/dist/parser/markdown.d.ts.map +1 -0
  80. package/dist/parser/markdown.js +296 -0
  81. package/dist/parser/markdown.js.map +1 -0
  82. package/dist/theme/default.d.ts +11 -0
  83. package/dist/theme/default.d.ts.map +1 -0
  84. package/dist/theme/default.js +76 -0
  85. package/dist/theme/default.js.map +1 -0
  86. package/dist/theme/index.d.ts +5 -0
  87. package/dist/theme/index.d.ts.map +1 -0
  88. package/dist/theme/index.js +11 -0
  89. package/dist/theme/index.js.map +1 -0
  90. package/dist/types/index.d.ts +86 -0
  91. package/dist/types/index.d.ts.map +1 -0
  92. package/dist/types/index.js +23 -0
  93. package/dist/types/index.js.map +1 -0
  94. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../src/mcp-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAyDrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CA+FvC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CA6FrB"}
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ /**
3
+ * MCP ツールハンドラー
4
+ * テスト可能な形でMCPツールのロジックを提供
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.getToolDefinitions = getToolDefinitions;
41
+ exports.getMarhupGuide = getMarhupGuide;
42
+ exports.handleToolCall = handleToolCall;
43
+ const fs = __importStar(require("fs"));
44
+ const path = __importStar(require("path"));
45
+ const index_1 = require("./index");
46
+ /**
47
+ * 利用可能なツール一覧を取得
48
+ */
49
+ function getToolDefinitions() {
50
+ return [
51
+ {
52
+ name: 'convert_markdown_to_pptx',
53
+ description: 'Markdownテキストをグリッドベースのレイアウトで PowerPoint (PPTX) ファイルに変換します。グリッド座標 [列開始-列終了, 行開始-行終了] を使って要素を配置できます。',
54
+ inputSchema: {
55
+ type: 'object',
56
+ properties: {
57
+ markdown: {
58
+ type: 'string',
59
+ description: 'PowerPointに変換するMarkdownテキスト。グリッド記法 [1-12, 1] でレイアウトを指定できます。',
60
+ },
61
+ outputPath: {
62
+ type: 'string',
63
+ description: '出力するPPTXファイルのパス(例: /path/to/output.pptx)',
64
+ },
65
+ basePath: {
66
+ type: 'string',
67
+ description: '画像などの相対パスを解決する際の基準ディレクトリ(省略時はカレントディレクトリ)',
68
+ },
69
+ },
70
+ required: ['markdown', 'outputPath'],
71
+ },
72
+ },
73
+ {
74
+ name: 'convert_file_to_pptx',
75
+ description: 'MarkdownファイルをPowerPoint (PPTX) ファイルに変換します。ファイル内の画像パスは入力ファイルからの相対パスとして解決されます。',
76
+ inputSchema: {
77
+ type: 'object',
78
+ properties: {
79
+ inputPath: {
80
+ type: 'string',
81
+ description: '変換するMarkdownファイルのパス',
82
+ },
83
+ outputPath: {
84
+ type: 'string',
85
+ description: '出力するPPTXファイルのパス(例: /path/to/output.pptx)',
86
+ },
87
+ },
88
+ required: ['inputPath', 'outputPath'],
89
+ },
90
+ },
91
+ {
92
+ name: 'get_marhup_guide',
93
+ description: 'marhup用のMarkdown記法ガイドを取得します。グリッドレイアウトやスタイル指定の方法を確認できます。',
94
+ inputSchema: {
95
+ type: 'object',
96
+ properties: {},
97
+ required: [],
98
+ },
99
+ },
100
+ ];
101
+ }
102
+ /**
103
+ * Markdownテキストから記法ガイドを生成
104
+ */
105
+ function getMarhupGuide() {
106
+ return `# marhup Markdown記法ガイド
107
+
108
+ ## 基本構造
109
+
110
+ \`\`\`markdown
111
+ ---
112
+ title: プレゼンテーションタイトル
113
+ grid: 12x9
114
+ ---
115
+
116
+ # スライド1タイトル [1-12, 1]
117
+
118
+ コンテンツ...
119
+
120
+ ---
121
+
122
+ # スライド2タイトル [1-12, 1]
123
+
124
+ コンテンツ...
125
+ \`\`\`
126
+
127
+ ## グリッド座標系
128
+
129
+ - **列**: 1〜12(左→右)
130
+ - **行**: 1〜9(上→下)
131
+ - **記法**: \`[列開始-列終了, 行開始-行終了]\`
132
+
133
+ 例:
134
+ - \`[1-12, 1]\` - 全幅、1行目
135
+ - \`[1-6, 2-5]\` - 左半分、2〜5行目
136
+ - \`[7-12, 2-5]\` - 右半分、2〜5行目
137
+
138
+ ## 要素の配置
139
+
140
+ ### 見出し
141
+ \`\`\`markdown
142
+ # 大見出し [1-12, 1]
143
+ ## 中見出し [1-6, 2]
144
+ \`\`\`
145
+
146
+ ### テキスト
147
+ \`\`\`markdown
148
+ 説明文をここに書きます [1-12, 3-4]
149
+ \`\`\`
150
+
151
+ ### リスト
152
+ \`\`\`markdown
153
+ [1-6, 2-5]
154
+ - 項目1
155
+ - 項目2
156
+ - 項目3
157
+ \`\`\`
158
+
159
+ ### 画像
160
+ \`\`\`markdown
161
+ ![代替テキスト](image.png) [7-12, 2-5]
162
+ \`\`\`
163
+
164
+ ### テーブル
165
+ \`\`\`markdown
166
+ | 列1 | 列2 | 列3 |
167
+ |-----|-----|-----|
168
+ | A | B | C |
169
+ \`\`\`
170
+
171
+ ## スタイルクラス
172
+
173
+ 位置指定の後に \`{.クラス名}\` で指定:
174
+
175
+ \`\`\`markdown
176
+ # タイトル [1-12, 1] {.center}
177
+ \`\`\`
178
+
179
+ 主要クラス:
180
+ - \`.center\` - 中央揃え
181
+ - \`.right\` - 右揃え
182
+ - \`.small\` - 小さいフォント
183
+ - \`.footer\` - フッター用
184
+ - \`.gray\` - グレー文字
185
+
186
+ ## Mermaid図
187
+
188
+ Mermaid記法で図を描くと自動的に画像に変換されます:
189
+
190
+ \`\`\`markdown
191
+ [1-6, 2-8]
192
+ \\\`\\\`\\\`mermaid
193
+ graph TD
194
+ A[開始] --> B[処理]
195
+ B --> C[終了]
196
+ \\\`\\\`\\\`
197
+ \`\`\`
198
+
199
+ 対応図形: flowchart, sequence, class, state, ER図など`;
200
+ }
201
+ /**
202
+ * ツールを実行
203
+ */
204
+ async function handleToolCall(name, args) {
205
+ try {
206
+ switch (name) {
207
+ case 'convert_markdown_to_pptx': {
208
+ const { markdown, outputPath, basePath } = args;
209
+ if (!markdown || !outputPath) {
210
+ throw new Error('markdown と outputPath は必須パラメータです');
211
+ }
212
+ // 出力ディレクトリが存在しない場合は作成
213
+ const outputDir = path.dirname(outputPath);
214
+ if (!fs.existsSync(outputDir)) {
215
+ fs.mkdirSync(outputDir, { recursive: true });
216
+ }
217
+ await (0, index_1.marhup)(markdown, {
218
+ output: outputPath,
219
+ basePath: basePath || process.cwd(),
220
+ });
221
+ return {
222
+ content: [
223
+ {
224
+ type: 'text',
225
+ text: `PowerPointファイルを生成しました: ${outputPath}`,
226
+ },
227
+ ],
228
+ };
229
+ }
230
+ case 'convert_file_to_pptx': {
231
+ const { inputPath, outputPath } = args;
232
+ if (!inputPath || !outputPath) {
233
+ throw new Error('inputPath と outputPath は必須パラメータです');
234
+ }
235
+ if (!fs.existsSync(inputPath)) {
236
+ throw new Error(`入力ファイルが見つかりません: ${inputPath}`);
237
+ }
238
+ // 出力ディレクトリが存在しない場合は作成
239
+ const outputDir = path.dirname(outputPath);
240
+ if (!fs.existsSync(outputDir)) {
241
+ fs.mkdirSync(outputDir, { recursive: true });
242
+ }
243
+ await (0, index_1.marhupFile)(inputPath, { output: outputPath });
244
+ return {
245
+ content: [
246
+ {
247
+ type: 'text',
248
+ text: `PowerPointファイルを生成しました: ${outputPath}\n入力: ${inputPath}`,
249
+ },
250
+ ],
251
+ };
252
+ }
253
+ case 'get_marhup_guide': {
254
+ return {
255
+ content: [
256
+ {
257
+ type: 'text',
258
+ text: getMarhupGuide(),
259
+ },
260
+ ],
261
+ };
262
+ }
263
+ default:
264
+ throw new Error(`Unknown tool: ${name}`);
265
+ }
266
+ }
267
+ catch (error) {
268
+ const errorMessage = error instanceof Error ? error.message : String(error);
269
+ return {
270
+ content: [
271
+ {
272
+ type: 'text',
273
+ text: `エラー: ${errorMessage}`,
274
+ },
275
+ ],
276
+ isError: true,
277
+ };
278
+ }
279
+ }
280
+ //# sourceMappingURL=mcp-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../src/mcp-handlers.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * marhup MCP Server
4
+ * Model Context Protocol サーバーとしてmarhup機能を提供
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AACA;;;GAGG"}
package/dist/mcp.js ADDED
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * marhup MCP Server
5
+ * Model Context Protocol サーバーとしてmarhup機能を提供
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
9
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
10
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
11
+ const mcp_handlers_1 = require("./mcp-handlers");
12
+ const server = new index_js_1.Server({
13
+ name: 'marhup',
14
+ version: '0.1.0',
15
+ }, {
16
+ capabilities: {
17
+ tools: {},
18
+ },
19
+ });
20
+ // ツール一覧
21
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
22
+ return {
23
+ tools: (0, mcp_handlers_1.getToolDefinitions)(),
24
+ };
25
+ });
26
+ // ツール実行
27
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
28
+ const { name, arguments: args } = request.params;
29
+ const result = await (0, mcp_handlers_1.handleToolCall)(name, args);
30
+ return {
31
+ ...result,
32
+ };
33
+ });
34
+ // サーバー起動
35
+ async function main() {
36
+ const transport = new stdio_js_1.StdioServerTransport();
37
+ await server.connect(transport);
38
+ console.error('marhup MCP server started');
39
+ }
40
+ main().catch((error) => {
41
+ console.error('Server error:', error);
42
+ process.exit(1);
43
+ });
44
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";;AACA;;;GAGG;;AAEH,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,iDAAoE;AAEpE,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;IACE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,QAAQ;AACR,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,IAAA,iCAAkB,GAAE;KAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ;AACR,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAc,EAAC,IAAI,EAAE,IAA+B,CAAC,CAAC;IAC3E,OAAO;QACL,GAAG,MAAM;KACD,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,SAAS;AACT,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * YAML Front Matter パーサー
3
+ */
4
+ import type { SlideFrontmatter } from '../types/index.js';
5
+ /**
6
+ * Front Matterを抽出してパース
7
+ */
8
+ export declare function parseFrontmatter(content: string): {
9
+ frontmatter: SlideFrontmatter;
10
+ body: string;
11
+ };
12
+ /**
13
+ * グリッド文字列をパース
14
+ */
15
+ export declare function parseGridString(gridStr: string): {
16
+ cols: number;
17
+ rows: number;
18
+ };
19
+ //# sourceMappingURL=frontmatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/parser/frontmatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd,CAwBA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAS/E"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * YAML Front Matter パーサー
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.parseFrontmatter = parseFrontmatter;
10
+ exports.parseGridString = parseGridString;
11
+ const yaml_1 = __importDefault(require("yaml"));
12
+ /**
13
+ * Front Matterを抽出してパース
14
+ */
15
+ function parseFrontmatter(content) {
16
+ const frontmatterRegex = /^---\s*\n([\s\S]*?)\n---\s*\n?/;
17
+ const match = content.match(frontmatterRegex);
18
+ if (!match) {
19
+ return {
20
+ frontmatter: {},
21
+ body: content,
22
+ };
23
+ }
24
+ const yamlContent = match[1];
25
+ const body = content.slice(match[0].length);
26
+ try {
27
+ const frontmatter = yaml_1.default.parse(yamlContent) || {};
28
+ return { frontmatter, body };
29
+ }
30
+ catch (error) {
31
+ console.warn('Front Matterのパースに失敗しました:', error);
32
+ return {
33
+ frontmatter: {},
34
+ body: content,
35
+ };
36
+ }
37
+ }
38
+ /**
39
+ * グリッド文字列をパース
40
+ */
41
+ function parseGridString(gridStr) {
42
+ const match = gridStr.match(/^(\d+)\s*x\s*(\d+)$/i);
43
+ if (!match) {
44
+ return { cols: 12, rows: 9 };
45
+ }
46
+ return {
47
+ cols: parseInt(match[1], 10),
48
+ rows: parseInt(match[2], 10),
49
+ };
50
+ }
51
+ //# sourceMappingURL=frontmatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/parser/frontmatter.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAQH,4CA2BC;AAKD,0CASC;AA/CD,gDAAwB;AAGxB;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAI9C,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO;YACL,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KAC7B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * グリッド記法パーサー
3
+ */
4
+ import type { GridPosition, StyleOptions } from '../types/index';
5
+ /**
6
+ * 行からグリッド位置を抽出
7
+ */
8
+ export declare function extractGridPosition(text: string): {
9
+ position: GridPosition | undefined;
10
+ cleanText: string;
11
+ };
12
+ /**
13
+ * 行からスタイルを抽出
14
+ */
15
+ export declare function extractStyle(text: string): {
16
+ style: StyleOptions | undefined;
17
+ cleanText: string;
18
+ };
19
+ /**
20
+ * テキストからグリッド位置とスタイルを両方抽出
21
+ */
22
+ export declare function extractGridAndStyle(text: string): {
23
+ position: GridPosition | undefined;
24
+ style: StyleOptions | undefined;
25
+ cleanText: string;
26
+ };
27
+ /**
28
+ * ブロックの開始行からグリッド位置を抽出(ブロック用)
29
+ * 例: "[1-6, 2-8]" で始まる行
30
+ */
31
+ export declare function parseBlockGridLine(line: string): {
32
+ isGridBlock: boolean;
33
+ position: GridPosition | undefined;
34
+ style: StyleOptions | undefined;
35
+ };
36
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/parser/grid.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQjE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IACjD,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAkBA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAC1C,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CA+BA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IACjD,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CAOA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;CACjC,CAkBA"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ /**
3
+ * グリッド記法パーサー
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.extractGridPosition = extractGridPosition;
7
+ exports.extractStyle = extractStyle;
8
+ exports.extractGridAndStyle = extractGridAndStyle;
9
+ exports.parseBlockGridLine = parseBlockGridLine;
10
+ // グリッド位置パターン: [1-6, 2-8] または [3, 5]
11
+ const GRID_PATTERN = /\[(\d+)(?:-(\d+))?,\s*(\d+)(?:-(\d+))?\]/;
12
+ // スタイルパターン: {.class1 .class2 key=value}
13
+ const STYLE_PATTERN = /\{([^}]+)\}/;
14
+ /**
15
+ * 行からグリッド位置を抽出
16
+ */
17
+ function extractGridPosition(text) {
18
+ const match = text.match(GRID_PATTERN);
19
+ if (!match) {
20
+ return { position: undefined, cleanText: text };
21
+ }
22
+ const colStart = parseInt(match[1], 10);
23
+ const colEnd = match[2] ? parseInt(match[2], 10) : colStart;
24
+ const rowStart = parseInt(match[3], 10);
25
+ const rowEnd = match[4] ? parseInt(match[4], 10) : rowStart;
26
+ const cleanText = text.replace(GRID_PATTERN, '').trim();
27
+ return {
28
+ position: { colStart, colEnd, rowStart, rowEnd },
29
+ cleanText,
30
+ };
31
+ }
32
+ /**
33
+ * 行からスタイルを抽出
34
+ */
35
+ function extractStyle(text) {
36
+ const match = text.match(STYLE_PATTERN);
37
+ if (!match) {
38
+ return { style: undefined, cleanText: text };
39
+ }
40
+ const styleContent = match[1];
41
+ const classes = [];
42
+ const properties = {};
43
+ // クラスとプロパティを解析
44
+ const parts = styleContent.split(/\s+/);
45
+ for (const part of parts) {
46
+ if (part.startsWith('.')) {
47
+ classes.push(part.slice(1));
48
+ }
49
+ else if (part.includes('=')) {
50
+ const [key, value] = part.split('=');
51
+ properties[key] = value.replace(/["']/g, '');
52
+ }
53
+ else if (part.includes(':')) {
54
+ const [key, value] = part.split(':');
55
+ properties[key] = value.replace(/["']/g, '');
56
+ }
57
+ }
58
+ const cleanText = text.replace(STYLE_PATTERN, '').trim();
59
+ return {
60
+ style: { classes, properties },
61
+ cleanText,
62
+ };
63
+ }
64
+ /**
65
+ * テキストからグリッド位置とスタイルを両方抽出
66
+ */
67
+ function extractGridAndStyle(text) {
68
+ // まずグリッド位置を抽出
69
+ const { position, cleanText: afterGrid } = extractGridPosition(text);
70
+ // 次にスタイルを抽出
71
+ const { style, cleanText: finalText } = extractStyle(afterGrid);
72
+ return { position, style, cleanText: finalText };
73
+ }
74
+ /**
75
+ * ブロックの開始行からグリッド位置を抽出(ブロック用)
76
+ * 例: "[1-6, 2-8]" で始まる行
77
+ */
78
+ function parseBlockGridLine(line) {
79
+ const trimmed = line.trim();
80
+ // 行が [数字 で始まるかチェック
81
+ if (!trimmed.match(/^\[\d/)) {
82
+ return { isGridBlock: false, position: undefined, style: undefined };
83
+ }
84
+ const { position, cleanText } = extractGridPosition(trimmed);
85
+ if (!position) {
86
+ return { isGridBlock: false, position: undefined, style: undefined };
87
+ }
88
+ // 残りのテキストからスタイルを抽出
89
+ const { style } = extractStyle(cleanText);
90
+ return { isGridBlock: true, position, style };
91
+ }
92
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/parser/grid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * パーサーモジュール
3
+ */
4
+ export { parseMarkdown } from './markdown.js';
5
+ export { parseFrontmatter, parseGridString } from './frontmatter.js';
6
+ export { extractGridPosition, extractStyle, extractGridAndStyle, parseBlockGridLine } from './grid.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * パーサーモジュール
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseBlockGridLine = exports.extractGridAndStyle = exports.extractStyle = exports.extractGridPosition = exports.parseGridString = exports.parseFrontmatter = exports.parseMarkdown = void 0;
7
+ var markdown_js_1 = require("./markdown.js");
8
+ Object.defineProperty(exports, "parseMarkdown", { enumerable: true, get: function () { return markdown_js_1.parseMarkdown; } });
9
+ var frontmatter_js_1 = require("./frontmatter.js");
10
+ Object.defineProperty(exports, "parseFrontmatter", { enumerable: true, get: function () { return frontmatter_js_1.parseFrontmatter; } });
11
+ Object.defineProperty(exports, "parseGridString", { enumerable: true, get: function () { return frontmatter_js_1.parseGridString; } });
12
+ var grid_js_1 = require("./grid.js");
13
+ Object.defineProperty(exports, "extractGridPosition", { enumerable: true, get: function () { return grid_js_1.extractGridPosition; } });
14
+ Object.defineProperty(exports, "extractStyle", { enumerable: true, get: function () { return grid_js_1.extractStyle; } });
15
+ Object.defineProperty(exports, "extractGridAndStyle", { enumerable: true, get: function () { return grid_js_1.extractGridAndStyle; } });
16
+ Object.defineProperty(exports, "parseBlockGridLine", { enumerable: true, get: function () { return grid_js_1.parseBlockGridLine; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6CAA8C;AAArC,4GAAA,aAAa,OAAA;AACtB,mDAAqE;AAA5D,kHAAA,gBAAgB,OAAA;AAAE,iHAAA,eAAe,OAAA;AAC1C,qCAAuG;AAA9F,8GAAA,mBAAmB,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,6GAAA,kBAAkB,OAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Markdownパーサー
3
+ */
4
+ import type { ParsedDocument } from '../types/index';
5
+ /**
6
+ * Markdownをパースしてドキュメント構造に変換
7
+ */
8
+ export declare function parseMarkdown(markdown: string): ParsedDocument;
9
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/parser/markdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAIV,cAAc,EAIf,MAAM,gBAAgB,CAAC;AAIxB;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAc9D"}