yumiamd 0.1.4 → 0.1.5

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 ADDED
@@ -0,0 +1,148 @@
1
+ # YumiaMD (`yumiamd`)
2
+
3
+ > **A Markdown-based presentation language & compiler designed for humans and AI.**
4
+ > Author decks in clean Markdown and compile directly to **100% native, editable PowerPoint (.pptx)** presentations, vector PDFs, and interactive HTML5 slides.
5
+
6
+ [![npm version](https://img.shields.io/npm/v/yumiamd.svg?color=blue)](https://www.npmjs.com/package/yumiamd)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/biagio-scaglia/Yumia-MD/blob/main/LICENSE)
8
+
9
+ ---
10
+
11
+ ## ⚡ Quick Start (Zero Install)
12
+
13
+ You can run YumiaMD immediately without installing anything:
14
+
15
+ ```bash
16
+ # Initialize a starter presentation
17
+ npx yumiamd init my-deck
18
+
19
+ # Compile presentation to an editable PowerPoint (.pptx)
20
+ npx yumiamd build presentation.yumia.md --out presentation.pptx
21
+ ```
22
+
23
+ ---
24
+
25
+ ## 📦 Installation
26
+
27
+ ### Global CLI Installation
28
+
29
+ ```bash
30
+ npm install -g yumiamd
31
+ # or
32
+ pnpm add -g yumiamd
33
+ # or
34
+ yarn global add yumiamd
35
+ ```
36
+
37
+ ### Local Project Dependency
38
+
39
+ ```bash
40
+ npm install yumiamd
41
+ # or
42
+ pnpm add yumiamd
43
+ ```
44
+
45
+ ---
46
+
47
+ ## 🚀 CLI Commands
48
+
49
+ Once installed globally or locally, the `yumia` / `yumiamd` commands are available in your terminal:
50
+
51
+ ```bash
52
+ # Initialize a new presentation template
53
+ yumia init my-presentation
54
+
55
+ # Validate markdown syntax and AST structure
56
+ yumia validate presentation.yumia.md
57
+
58
+ # Lint presentation for vertical overflow and layout issues
59
+ yumia lint presentation.yumia.md
60
+
61
+ # Inspect parsed AST and computed layout bounding boxes
62
+ yumia inspect presentation.yumia.md --layout
63
+
64
+ # Compile to PowerPoint (.pptx)
65
+ yumia build presentation.yumia.md --out dist/presentation.pptx
66
+ ```
67
+
68
+ ---
69
+
70
+ ## 📝 Syntax Example (`presentation.yumia.md`)
71
+
72
+ ```markdown
73
+ ---
74
+ title: System Architecture & Workflow
75
+ theme: default
76
+ author: Biagio Scaglia
77
+ ---
78
+
79
+ # High-Performance Presentation Engine
80
+
81
+ Deterministic compilation from Markdown directly to native PowerPoint slides.
82
+
83
+ :::notes
84
+ Opening slide introducing the core architectural vision.
85
+ :::
86
+
87
+ ---
88
+
89
+ # Architecture & Capabilities
90
+
91
+ :::columns ratios="50:50"
92
+
93
+ :::column
94
+ :::card Core Engine
95
+
96
+ - 100% Deterministic placement
97
+ - Zero runtime dependencies
98
+ - TypeScript-first architecture
99
+ :::
100
+ :::
101
+
102
+ :::column
103
+ :::card Native PowerPoint Export
104
+
105
+ - Headings, cards, shapes & notes
106
+ - Fully editable OpenXML objects
107
+ - Compatible with PowerPoint & Google Slides
108
+ :::
109
+ :::
110
+
111
+ :::
112
+ ```
113
+
114
+ ---
115
+
116
+ ## 💻 JavaScript / TypeScript API
117
+
118
+ You can also use `yumiamd` programmatically inside your Node.js or TypeScript backend / tools:
119
+
120
+ ```typescript
121
+ import { compile, parse, layoutEngine } from 'yumiamd';
122
+ import fs from 'node:fs';
123
+
124
+ const markdown = fs.readFileSync('presentation.yumia.md', 'utf-8');
125
+
126
+ // 1. Compile directly to PPTX buffer / file
127
+ const { buffer, errors } = await compile(markdown, { format: 'pptx' });
128
+
129
+ if (errors.length === 0) {
130
+ fs.writeFileSync('output.pptx', buffer);
131
+ console.log('✅ Presentation generated successfully!');
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ## ✨ Key Features
138
+
139
+ - 🎯 **Native Object Principle**: Slides compiled to PowerPoint are **NOT** rasterized screenshot images. Headings, bullet points, cards, and speaker notes are generated as **100% native vector PowerPoint shapes & textboxes** that you can click, re-format, and edit in Microsoft PowerPoint or Google Slides.
140
+ - 📐 **Deterministic Layout Engine**: Semantic multi-column grids, flex cards, and auto-spacing.
141
+ - 🎨 **Semantic Design Tokens**: Built-in themes with typography scales, color palettes, and contrast-safe themes.
142
+ - 🤖 **AI-Friendly Format**: Clean Markdown syntax designed for LLM prompts and agentic workflows.
143
+
144
+ ---
145
+
146
+ ## 📄 License
147
+
148
+ MIT © [Biagio Scaglia](https://github.com/biagio-scaglia)
package/dist/bin.d.ts CHANGED
@@ -1,3 +1 @@
1
1
  #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=bin.d.ts.map
package/dist/bin.js CHANGED
@@ -1,13 +1,15 @@
1
1
  #!/usr/bin/env node
2
- import { runCli } from './cli.js';
3
- const result = await runCli(process.argv);
2
+ import {
3
+ runCli
4
+ } from "./chunk-MKQASLAK.js";
5
+
6
+ // src/bin.ts
7
+ var result = await runCli(process.argv);
4
8
  if (result.output) {
5
- if (result.exitCode === 0) {
6
- console.log(result.output);
7
- }
8
- else {
9
- console.error(result.output);
10
- }
9
+ if (result.exitCode === 0) {
10
+ console.log(result.output);
11
+ } else {
12
+ console.error(result.output);
13
+ }
11
14
  }
12
15
  process.exit(result.exitCode);
13
- //# sourceMappingURL=bin.js.map