yumiamd 0.1.2

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Biagio Scaglia
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import { runCli } from './cli.js';
3
+ const result = runCli(process.argv);
4
+ if (result.output) {
5
+ if (result.exitCode === 0) {
6
+ console.log(result.output);
7
+ }
8
+ else {
9
+ console.error(result.output);
10
+ }
11
+ }
12
+ process.exit(result.exitCode);
13
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export declare const VERSION = "0.1.2";
2
+ export declare function printHelp(): string;
3
+ export declare function runCli(argv: string[]): {
4
+ exitCode: number;
5
+ output: string;
6
+ };
7
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,wBAAgB,SAAS,IAAI,MAAM,CAmBlC;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA+K3E"}
package/dist/cli.js ADDED
@@ -0,0 +1,187 @@
1
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { parseYumia } from '@biagioscaglia/yumia-parser';
4
+ import { DefaultLayoutEngine } from '@biagioscaglia/yumia-layout';
5
+ export const VERSION = '0.1.2';
6
+ export function printHelp() {
7
+ return `
8
+ YumiaMD — Markdown-based presentation compiler (v${VERSION})
9
+
10
+ Usage:
11
+ yumia <command> [options] [file]
12
+
13
+ Commands:
14
+ init [name] Scaffold a new YumiaMD presentation project
15
+ validate <file> Validate a .yumia.md presentation syntax and structure
16
+ lint <file> Analyze presentation for layout overflows and accessibility
17
+ inspect <file> Inspect the AST and geometric layout tree
18
+ build <file> Compile a presentation to target formats (planned)
19
+
20
+ Options:
21
+ --layout Show computed geometric bounding boxes in 'inspect'
22
+ -h, --help Show this help message
23
+ -v, --version Show CLI version
24
+ `.trim();
25
+ }
26
+ export function runCli(argv) {
27
+ const args = argv.slice(2);
28
+ if (args.length === 0 || args.includes('-h') || args.includes('--help')) {
29
+ return { exitCode: 0, output: printHelp() };
30
+ }
31
+ if (args.includes('-v') || args.includes('--version')) {
32
+ return { exitCode: 0, output: `yumia v${VERSION}` };
33
+ }
34
+ const command = args[0];
35
+ const target = args[1];
36
+ if (command === 'init') {
37
+ const projectName = target || 'yumia-deck';
38
+ const projectDir = join(process.cwd(), projectName);
39
+ try {
40
+ mkdirSync(projectDir, { recursive: true });
41
+ mkdirSync(join(projectDir, 'assets'), { recursive: true });
42
+ mkdirSync(join(projectDir, 'themes'), { recursive: true });
43
+ const sampleContent = `---
44
+ title: ${projectName}
45
+ theme: default
46
+ ---
47
+
48
+ # ${projectName}
49
+ Presentation authoring with YumiaMD.
50
+
51
+ :::notes
52
+ Opening slide introducing the project.
53
+ :::
54
+
55
+ ---
56
+
57
+ # Architecture
58
+
59
+ :::columns ratios="50:50"
60
+
61
+ :::column
62
+ :::card Philosophy
63
+ - Plain Markdown source
64
+ - Semantic directives
65
+ :::
66
+ :::
67
+
68
+ :::column
69
+ :::card Output
70
+ - Native editable PPTX
71
+ - Clean vector PDF
72
+ :::
73
+ :::
74
+
75
+ :::
76
+ `.trim();
77
+ writeFileSync(join(projectDir, 'presentation.yumia.md'), sampleContent, 'utf-8');
78
+ return {
79
+ exitCode: 0,
80
+ output: `✓ Created presentation project '${projectName}' at ./${projectName}\n Edit ./${projectName}/presentation.yumia.md to get started!`,
81
+ };
82
+ }
83
+ catch (err) {
84
+ return {
85
+ exitCode: 1,
86
+ output: `✗ Initialization failed: ${err instanceof Error ? err.message : String(err)}`,
87
+ };
88
+ }
89
+ }
90
+ if (command === 'validate') {
91
+ if (!target) {
92
+ return { exitCode: 1, output: 'Error: Please specify a file to validate.' };
93
+ }
94
+ try {
95
+ const source = readFileSync(target, 'utf-8');
96
+ const presentation = parseYumia(source);
97
+ return {
98
+ exitCode: 0,
99
+ output: `✓ Presentation '${target}' is valid. Detected ${presentation.slides.length} slide(s).`,
100
+ };
101
+ }
102
+ catch (err) {
103
+ return {
104
+ exitCode: 1,
105
+ output: `✗ Validation failed: ${err instanceof Error ? err.message : String(err)}`,
106
+ };
107
+ }
108
+ }
109
+ if (command === 'lint') {
110
+ if (!target) {
111
+ return { exitCode: 1, output: 'Error: Please specify a file to lint.' };
112
+ }
113
+ try {
114
+ const source = readFileSync(target, 'utf-8');
115
+ const presentation = parseYumia(source);
116
+ const engine = new DefaultLayoutEngine();
117
+ const layout = engine.computePresentation(presentation);
118
+ const issues = [];
119
+ layout.slides.forEach((slideResult, index) => {
120
+ const slideNum = index + 1;
121
+ if (slideResult.overflow) {
122
+ issues.push(`⚠ Slide ${slideNum}: Content exceeds slide height by ~${Math.round(slideResult.overflowAmount || 0)}px`);
123
+ }
124
+ const slide = presentation.slides[index];
125
+ if (slide.elements.length === 0) {
126
+ issues.push(`⚠ Slide ${slideNum}: Slide has no content elements.`);
127
+ }
128
+ });
129
+ if (issues.length === 0) {
130
+ return {
131
+ exitCode: 0,
132
+ output: `✓ Yumia Lint: All ${presentation.slides.length} slide(s) passed with 0 issues.`,
133
+ };
134
+ }
135
+ else {
136
+ return {
137
+ exitCode: 0,
138
+ output: `Yumia Lint Report for '${target}':\n\n${issues.join('\n')}\n\nFound ${issues.length} warning(s).`,
139
+ };
140
+ }
141
+ }
142
+ catch (err) {
143
+ return {
144
+ exitCode: 1,
145
+ output: `✗ Linting failed: ${err instanceof Error ? err.message : String(err)}`,
146
+ };
147
+ }
148
+ }
149
+ if (command === 'inspect') {
150
+ if (!target) {
151
+ return { exitCode: 1, output: 'Error: Please specify a file to inspect.' };
152
+ }
153
+ try {
154
+ const source = readFileSync(target, 'utf-8');
155
+ const presentation = parseYumia(source);
156
+ if (args.includes('--layout')) {
157
+ const engine = new DefaultLayoutEngine();
158
+ const layout = engine.computePresentation(presentation);
159
+ return {
160
+ exitCode: 0,
161
+ output: JSON.stringify(layout, null, 2),
162
+ };
163
+ }
164
+ return {
165
+ exitCode: 0,
166
+ output: JSON.stringify(presentation, null, 2),
167
+ };
168
+ }
169
+ catch (err) {
170
+ return {
171
+ exitCode: 1,
172
+ output: `✗ Inspection failed: ${err instanceof Error ? err.message : String(err)}`,
173
+ };
174
+ }
175
+ }
176
+ if (command === 'build') {
177
+ return {
178
+ exitCode: 0,
179
+ output: `[planned] Compiling '${target ?? 'presentation'}' via YumiaCompiler...`,
180
+ };
181
+ }
182
+ return {
183
+ exitCode: 1,
184
+ output: `Unknown command: '${command}'. Run 'yumia --help' for available commands.`,
185
+ };
186
+ }
187
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './cli.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './cli.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "yumiamd",
3
+ "version": "0.1.2",
4
+ "description": "Command line interface and compiler for YumiaMD presentations",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "bin": {
9
+ "yumia": "./dist/bin.js",
10
+ "yumiamd": "./dist/bin.js"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ }
17
+ },
18
+ "dependencies": {
19
+ "@biagioscaglia/yumia-ast": "0.1.2",
20
+ "@biagioscaglia/yumia-core": "0.1.2",
21
+ "@biagioscaglia/yumia-layout": "0.1.2",
22
+ "@biagioscaglia/yumia-parser": "0.1.2",
23
+ "@biagioscaglia/yumia-theme": "0.1.2"
24
+ },
25
+ "keywords": [
26
+ "yumia",
27
+ "presentation",
28
+ "cli"
29
+ ],
30
+ "author": "Biagio Scaglia",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/biagio-scaglia/Yumia-MD.git"
35
+ },
36
+ "homepage": "https://github.com/biagio-scaglia/Yumia-MD#readme",
37
+ "bugs": {
38
+ "url": "https://github.com/biagio-scaglia/Yumia-MD/issues"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "files": [
44
+ "dist",
45
+ "README.md",
46
+ "LICENSE"
47
+ ],
48
+ "scripts": {
49
+ "build": "tsc",
50
+ "typecheck": "tsc --noEmit"
51
+ }
52
+ }