loopwind 0.9.3 → 0.10.1
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 +40 -48
- package/dist/commands/render.d.ts +1 -1
- package/dist/commands/render.d.ts.map +1 -1
- package/dist/commands/render.js +53 -26
- package/dist/commands/render.js.map +1 -1
- package/dist/default-templates/AGENTS.md +29 -29
- package/dist/default-templates/image-template/template.tsx +15 -0
- package/dist/default-templates/video-template/template.tsx +19 -0
- package/dist/default-templates/website-template/template.tsx +18 -0
- package/dist/lib/utils.d.ts +8 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +93 -42
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/video-renderer.d.ts +6 -0
- package/dist/lib/video-renderer.d.ts.map +1 -1
- package/dist/lib/video-renderer.js +69 -0
- package/dist/lib/video-renderer.js.map +1 -1
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +8 -8
- package/dist/sdk/index.js.map +1 -1
- package/package.json +2 -1
- package/test-templates/run-tests.sh +14 -9
- package/dist/default-templates/image/meta.json +0 -13
- package/dist/default-templates/image-template/meta.json +0 -13
- package/dist/default-templates/kitchen-sink/meta.json +0 -13
- package/dist/default-templates/page/meta.json +0 -17
- package/dist/default-templates/video/meta.json +0 -17
- package/dist/default-templates/video-template/meta.json +0 -17
- package/dist/default-templates/website/meta.json +0 -16
- package/dist/default-templates/website-template/meta.json +0 -16
- package/test-templates/compare-svgs.mjs +0 -30
- package/test-templates/convert-frames.mjs +0 -15
- package/test-templates/debug-rotation.mjs +0 -25
package/README.md
CHANGED
|
@@ -451,33 +451,34 @@ Templates can bundle their own fonts (WOFF, WOFF2, TTF, OTF):
|
|
|
451
451
|
|
|
452
452
|
```
|
|
453
453
|
my-template/
|
|
454
|
-
├──
|
|
455
|
-
├── meta.json
|
|
454
|
+
├── template.tsx
|
|
456
455
|
└── fonts/
|
|
457
456
|
├── CustomFont-Regular.woff
|
|
458
457
|
└── CustomFont-Bold.woff
|
|
459
458
|
```
|
|
460
459
|
|
|
461
|
-
**
|
|
462
|
-
```
|
|
463
|
-
{
|
|
464
|
-
|
|
465
|
-
|
|
460
|
+
**template.tsx:**
|
|
461
|
+
```tsx
|
|
462
|
+
export const meta = {
|
|
463
|
+
name: "my-template",
|
|
464
|
+
// ...
|
|
465
|
+
fonts: [
|
|
466
466
|
{
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
467
|
+
name: "Custom Font",
|
|
468
|
+
path: "fonts/CustomFont-Bold.woff",
|
|
469
|
+
weight: 700,
|
|
470
|
+
style: "normal"
|
|
471
471
|
}
|
|
472
472
|
]
|
|
473
|
-
}
|
|
474
|
-
```
|
|
473
|
+
};
|
|
475
474
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
<h1 style={{ fontFamily: 'Custom Font', fontWeight: 700 }}>
|
|
479
|
-
|
|
480
|
-
</h1>
|
|
475
|
+
export default function Template({ title, tw }) {
|
|
476
|
+
return (
|
|
477
|
+
<h1 style={{ fontFamily: 'Custom Font', fontWeight: 700 }}>
|
|
478
|
+
{title}
|
|
479
|
+
</h1>
|
|
480
|
+
);
|
|
481
|
+
}
|
|
481
482
|
```
|
|
482
483
|
|
|
483
484
|
**Use cases:**
|
|
@@ -681,7 +682,7 @@ loopwind render composite-card '{
|
|
|
681
682
|
- First render pass detects which templates are needed
|
|
682
683
|
- All templates load in parallel automatically
|
|
683
684
|
- Second render pass completes with loaded templates
|
|
684
|
-
- Each template uses its own
|
|
685
|
+
- Each template uses its own meta for sizing
|
|
685
686
|
- Returns JSX directly (not a data URI)
|
|
686
687
|
- Satori renders everything as a single SVG tree
|
|
687
688
|
|
|
@@ -854,43 +855,27 @@ Templates are stored in your project's `_loopwind/templates/` directory. You can
|
|
|
854
855
|
mkdir -p _loopwind/templates/my-template
|
|
855
856
|
```
|
|
856
857
|
|
|
857
|
-
2. Create `meta
|
|
858
|
-
|
|
859
|
-
```json
|
|
860
|
-
{
|
|
861
|
-
"name": "my-template",
|
|
862
|
-
"description": "My custom template",
|
|
863
|
-
"type": "image",
|
|
864
|
-
"size": { "width": 1200, "height": 630 },
|
|
865
|
-
"props": {
|
|
866
|
-
"title": "string"
|
|
867
|
-
}
|
|
868
|
-
}
|
|
869
|
-
```
|
|
870
|
-
|
|
871
|
-
3. Create `my-template.tsx`:
|
|
858
|
+
2. Create `template.tsx` with exported meta:
|
|
872
859
|
|
|
873
860
|
```tsx
|
|
874
|
-
export
|
|
861
|
+
export const meta = {
|
|
862
|
+
name: "my-template",
|
|
863
|
+
description: "My custom template",
|
|
864
|
+
type: "image",
|
|
865
|
+
size: { width: 1200, height: 630 },
|
|
866
|
+
props: { title: "string" }
|
|
867
|
+
};
|
|
868
|
+
|
|
869
|
+
export default function MyTemplate({ title, tw }) {
|
|
875
870
|
return (
|
|
876
|
-
<div style={
|
|
877
|
-
display: 'flex',
|
|
878
|
-
width: '100%',
|
|
879
|
-
height: '100%',
|
|
880
|
-
background: '#000',
|
|
881
|
-
color: '#fff',
|
|
882
|
-
justifyContent: 'center',
|
|
883
|
-
alignItems: 'center',
|
|
884
|
-
fontSize: '48px',
|
|
885
|
-
fontFamily: 'sans-serif',
|
|
886
|
-
}}>
|
|
871
|
+
<div style={tw('flex items-center justify-center w-full h-full bg-black text-white text-5xl')}>
|
|
887
872
|
{title}
|
|
888
873
|
</div>
|
|
889
874
|
);
|
|
890
875
|
}
|
|
891
876
|
```
|
|
892
877
|
|
|
893
|
-
|
|
878
|
+
3. Validate and render:
|
|
894
879
|
|
|
895
880
|
```bash
|
|
896
881
|
loopwind validate my-template
|
|
@@ -955,9 +940,12 @@ export default function Template({ title, frame, progress, tw, qr, template }) {
|
|
|
955
940
|
### Rendering Videos
|
|
956
941
|
|
|
957
942
|
```bash
|
|
958
|
-
# Render to MP4
|
|
943
|
+
# Render to MP4 (default)
|
|
959
944
|
loopwind render my-video '{"title":"Animated Title"}' -o output.mp4
|
|
960
945
|
|
|
946
|
+
# Render to GIF (great for emails, GitHub, Slack)
|
|
947
|
+
loopwind render my-video '{"title":"Animated Title"}' --format gif -o output.gif
|
|
948
|
+
|
|
961
949
|
# With custom quality settings
|
|
962
950
|
loopwind render my-video props.json --crf 18 # Higher quality (lower CRF = better quality)
|
|
963
951
|
|
|
@@ -965,6 +953,10 @@ loopwind render my-video props.json --crf 18 # Higher quality (lower CRF = bet
|
|
|
965
953
|
loopwind render my-video props.json --frames-only -o frames/
|
|
966
954
|
```
|
|
967
955
|
|
|
956
|
+
**Output formats:**
|
|
957
|
+
- **MP4** - H.264 codec, smaller files, best quality (default)
|
|
958
|
+
- **GIF** - Animated, works everywhere (emails, GitHub READMEs, Slack)
|
|
959
|
+
|
|
968
960
|
**How it works:**
|
|
969
961
|
1. **SVG Generation**: All frames generated in parallel (~0.8s for 90 frames)
|
|
970
962
|
2. **WASM Encoding**: Frames encoded to H.264 MP4 using pure JavaScript (~1.2s for 90 frames)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"AAYA,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"AAYA,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAwPf"}
|
package/dist/commands/render.js
CHANGED
|
@@ -4,7 +4,7 @@ import gradient from 'gradient-string';
|
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { isTemplateInstalled, parseProps, ensureOutputDir, loadTemplateMeta } from '../lib/utils.js';
|
|
6
6
|
import { render } from '../lib/renderer.js';
|
|
7
|
-
import { renderVideo, renderVideoFrames } from '../lib/video-renderer.js';
|
|
7
|
+
import { renderVideo, renderVideoFrames, renderVideoToGif } from '../lib/video-renderer.js';
|
|
8
8
|
import { validateTemplateForRendering, enhanceSatoriError } from '../lib/template-validator.js';
|
|
9
9
|
import { getResolvedPaths } from '../lib/config.js';
|
|
10
10
|
import { checkForUpdates } from '../lib/version-check.js';
|
|
@@ -76,17 +76,24 @@ export async function renderCommand(templateName, propsArg, options) {
|
|
|
76
76
|
const paths = await getResolvedPaths();
|
|
77
77
|
// Handle video templates
|
|
78
78
|
if (templateType === 'video') {
|
|
79
|
-
|
|
79
|
+
// Determine video format (mp4 or gif)
|
|
80
|
+
const videoFormat = options.format === 'gif' ? 'gif' : 'mp4';
|
|
81
|
+
const defaultFileName = `${templateName}-${Date.now()}.${videoFormat}`;
|
|
80
82
|
let outputPath = options.out
|
|
81
83
|
? options.out
|
|
82
84
|
: path.join(paths.outputs, defaultFileName);
|
|
83
85
|
// Auto-correct extension if user provided wrong format
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
const validVideoExts = ['.mp4', '.gif'];
|
|
87
|
+
const currentExt = path.extname(outputPath).toLowerCase();
|
|
88
|
+
if (options.out && !validVideoExts.includes(currentExt)) {
|
|
89
|
+
outputPath = outputPath.replace(/\.[^.]+$/, `.${videoFormat}`);
|
|
90
|
+
spinner.warn(chalk.yellow(`Video templates must output to .mp4 or .gif (changed ${currentExt} → .${videoFormat})`));
|
|
88
91
|
spinner.start();
|
|
89
92
|
}
|
|
93
|
+
else if (options.out && currentExt === '.gif') {
|
|
94
|
+
// If user specified .gif extension, use gif format
|
|
95
|
+
// videoFormat is already set based on options.format
|
|
96
|
+
}
|
|
90
97
|
// Frames-only mode
|
|
91
98
|
if (options.framesOnly) {
|
|
92
99
|
const framesDir = options.out || path.join(paths.outputs, `${templateName}-frames-${Date.now()}`);
|
|
@@ -121,46 +128,66 @@ export async function renderCommand(templateName, propsArg, options) {
|
|
|
121
128
|
return;
|
|
122
129
|
}
|
|
123
130
|
// Render video (no ffmpeg required - uses WASM encoder!)
|
|
124
|
-
spinner.text =
|
|
131
|
+
spinner.text = `Rendering ${videoFormat.toUpperCase()}...`;
|
|
125
132
|
let lastUpdate = Date.now();
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
if (videoFormat === 'gif') {
|
|
134
|
+
await renderVideoToGif(templateName, props, outputPath, {
|
|
135
|
+
onFrameProgress: (frame, total, phase) => {
|
|
136
|
+
if (Date.now() - lastUpdate > 100) {
|
|
137
|
+
if (phase === 'svg') {
|
|
138
|
+
spinner.text = `Generating SVGs: ${frame}/${total} (${Math.round((frame / total) * 100)}%)`;
|
|
139
|
+
}
|
|
140
|
+
else if (phase === 'encode') {
|
|
141
|
+
spinner.text = `Encoding GIF: ${frame}/${total} (${Math.round((frame / total) * 100)}%)`;
|
|
142
|
+
}
|
|
143
|
+
lastUpdate = Date.now();
|
|
132
144
|
}
|
|
133
|
-
|
|
134
|
-
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
await renderVideo(templateName, props, outputPath, {
|
|
150
|
+
quality: options.crf ? parseInt(String(options.crf), 10) : undefined,
|
|
151
|
+
onFrameProgress: (frame, total, phase) => {
|
|
152
|
+
if (Date.now() - lastUpdate > 100) {
|
|
153
|
+
if (phase === 'svg') {
|
|
154
|
+
spinner.text = `Generating SVGs: ${frame}/${total} (${Math.round((frame / total) * 100)}%)`;
|
|
155
|
+
}
|
|
156
|
+
else if (phase === 'encode') {
|
|
157
|
+
spinner.text = `Encoding video: ${frame}/${total} (${Math.round((frame / total) * 100)}%)`;
|
|
158
|
+
}
|
|
159
|
+
lastUpdate = Date.now();
|
|
135
160
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
});
|
|
140
|
-
spinner.succeed(chalk.green(`Successfully rendered video to ${chalk.bold(outputPath)}`));
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
spinner.succeed(chalk.green(`Successfully rendered ${videoFormat.toUpperCase()} to ${chalk.bold(outputPath)}`));
|
|
141
165
|
console.log(chalk.dim(`\nTemplate: ${templateName}`));
|
|
142
|
-
console.log(chalk.dim(`Format:
|
|
166
|
+
console.log(chalk.dim(`Format: ${videoFormat.toUpperCase()}`));
|
|
143
167
|
console.log(chalk.dim(`Output: ${path.resolve(outputPath)}\n`));
|
|
144
168
|
await showUpdateNotification();
|
|
145
169
|
return;
|
|
146
170
|
}
|
|
147
171
|
// Handle image templates
|
|
148
|
-
|
|
149
|
-
const
|
|
172
|
+
// Filter out video formats for image templates
|
|
173
|
+
const imageFormat = (options.format === 'mp4' || options.format === 'gif')
|
|
174
|
+
? 'png'
|
|
175
|
+
: (options.format || 'png');
|
|
176
|
+
const defaultFileName = `${templateName}-${Date.now()}.${imageFormat}`;
|
|
150
177
|
const outputPath = options.out
|
|
151
178
|
? options.out
|
|
152
179
|
: path.join(paths.outputs, defaultFileName);
|
|
153
180
|
// Render
|
|
154
|
-
spinner.text = `Rendering to ${
|
|
181
|
+
spinner.text = `Rendering to ${imageFormat.toUpperCase()}...`;
|
|
155
182
|
await render({
|
|
156
183
|
templateName,
|
|
157
184
|
props,
|
|
158
185
|
outputPath,
|
|
159
|
-
format,
|
|
186
|
+
format: imageFormat,
|
|
160
187
|
});
|
|
161
188
|
spinner.succeed(chalk.green(`Successfully rendered to ${chalk.bold(outputPath)}`));
|
|
162
189
|
console.log(chalk.dim(`\nTemplate: ${templateName}`));
|
|
163
|
-
console.log(chalk.dim(`Format: ${
|
|
190
|
+
console.log(chalk.dim(`Format: ${imageFormat.toUpperCase()}`));
|
|
164
191
|
console.log(chalk.dim(`Output: ${path.resolve(outputPath)}\n`));
|
|
165
192
|
await showUpdateNotification();
|
|
166
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,19 +36,24 @@ loopwind render banner-hero props.json --out output.png --format png
|
|
|
36
36
|
|
|
37
37
|
### 5. Render Videos
|
|
38
38
|
```bash
|
|
39
|
-
#
|
|
39
|
+
# Render to MP4 (default)
|
|
40
40
|
loopwind render my-video '{"title":"Video Title"}'
|
|
41
41
|
|
|
42
|
-
#
|
|
43
|
-
loopwind render my-video
|
|
42
|
+
# Render to GIF (great for emails, GitHub, Slack)
|
|
43
|
+
loopwind render my-video '{"title":"Video Title"}' --format gif
|
|
44
44
|
|
|
45
|
-
#
|
|
45
|
+
# With quality options
|
|
46
|
+
loopwind render my-video props.json --crf 23
|
|
47
|
+
|
|
48
|
+
# Export frames only
|
|
46
49
|
loopwind render my-video props.json --frames-only
|
|
47
50
|
|
|
48
51
|
# Keep frames after encoding
|
|
49
52
|
loopwind render my-video props.json --keep-frames
|
|
50
53
|
```
|
|
51
54
|
|
|
55
|
+
**Formats:** MP4 (default), GIF
|
|
56
|
+
|
|
52
57
|
### 6. Validate Templates
|
|
53
58
|
```bash
|
|
54
59
|
loopwind validate [template] # Validate one or all templates
|
|
@@ -68,18 +73,15 @@ project/
|
|
|
68
73
|
## Template Types
|
|
69
74
|
|
|
70
75
|
### Image Template
|
|
71
|
-
**meta.json:**
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"name": "my-template",
|
|
75
|
-
"type": "image",
|
|
76
|
-
"size": { "width": 1200, "height": 630 },
|
|
77
|
-
"props": { "title": "string" }
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**template.tsx:**
|
|
82
76
|
```tsx
|
|
77
|
+
// template.tsx
|
|
78
|
+
export const meta = {
|
|
79
|
+
name: "my-template",
|
|
80
|
+
type: "image",
|
|
81
|
+
size: { width: 1200, height: 630 },
|
|
82
|
+
props: { title: "string" }
|
|
83
|
+
};
|
|
84
|
+
|
|
83
85
|
export default function Template({ title, tw }) {
|
|
84
86
|
return (
|
|
85
87
|
<div style={tw('flex items-center justify-center w-full h-full bg-primary')}>
|
|
@@ -90,19 +92,16 @@ export default function Template({ title, tw }) {
|
|
|
90
92
|
```
|
|
91
93
|
|
|
92
94
|
### Video Template
|
|
93
|
-
**meta.json:**
|
|
94
|
-
```json
|
|
95
|
-
{
|
|
96
|
-
"name": "my-video",
|
|
97
|
-
"type": "video",
|
|
98
|
-
"size": { "width": 1920, "height": 1080 },
|
|
99
|
-
"video": { "fps": 30, "duration": 3 },
|
|
100
|
-
"props": { "title": "string" }
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**template.tsx:**
|
|
105
95
|
```tsx
|
|
96
|
+
// template.tsx
|
|
97
|
+
export const meta = {
|
|
98
|
+
name: "my-video",
|
|
99
|
+
type: "video",
|
|
100
|
+
size: { width: 1920, height: 1080 },
|
|
101
|
+
video: { fps: 30, duration: 3 },
|
|
102
|
+
props: { title: "string" }
|
|
103
|
+
};
|
|
104
|
+
|
|
106
105
|
export default function VideoTemplate({ title, tw, progress }) {
|
|
107
106
|
const opacity = progress < 0.2 ? progress / 0.2 : 1;
|
|
108
107
|
|
|
@@ -189,7 +188,8 @@ loopwind render banner-hero '{"title":"Hello","subtitle":"World"}'
|
|
|
189
188
|
### Generate Video
|
|
190
189
|
```bash
|
|
191
190
|
loopwind add my-video
|
|
192
|
-
loopwind render my-video '{"title":"Amazing Video"}' #
|
|
191
|
+
loopwind render my-video '{"title":"Amazing Video"}' # MP4 output
|
|
192
|
+
loopwind render my-video '{"title":"Amazing Video"}' --format gif # GIF output
|
|
193
193
|
```
|
|
194
194
|
|
|
195
195
|
### Use Custom Branding
|
|
@@ -216,7 +216,7 @@ loopwind render og-image '{"title":"My Page"}'
|
|
|
216
216
|
|
|
217
217
|
1. Always run `loopwind init` first in new projects
|
|
218
218
|
2. Check `loopwind list` to see available templates
|
|
219
|
-
3.
|
|
219
|
+
3. Videos can be rendered to MP4 or GIF (use `--format gif`)
|
|
220
220
|
4. Image props are auto-detected (any prop ending in .jpg, .png, etc.)
|
|
221
221
|
5. Video props are extracted at template FPS and cached
|
|
222
222
|
6. Use `tw()` for all styling - it uses project's Tailwind config
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
|
|
2
|
+
|
|
3
|
+
export const meta = {
|
|
4
|
+
"name": "image",
|
|
5
|
+
"description": "Simple image starter template",
|
|
6
|
+
"type": "image",
|
|
7
|
+
"size": {
|
|
8
|
+
"width": 1200,
|
|
9
|
+
"height": 630
|
|
10
|
+
},
|
|
11
|
+
"props": {
|
|
12
|
+
"title": "string",
|
|
13
|
+
"description": "string?"
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
2
17
|
// Template metadata is defined in meta.json
|
|
3
18
|
|
|
4
19
|
export default function Template({ title, description, tw }) {
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
|
|
2
|
+
|
|
3
|
+
export const meta = {
|
|
4
|
+
"name": "video",
|
|
5
|
+
"description": "Animated video starter template",
|
|
6
|
+
"type": "video",
|
|
7
|
+
"size": {
|
|
8
|
+
"width": 1200,
|
|
9
|
+
"height": 630
|
|
10
|
+
},
|
|
11
|
+
"props": {
|
|
12
|
+
"title": "string",
|
|
13
|
+
"description": "string?"
|
|
14
|
+
},
|
|
15
|
+
"video": {
|
|
16
|
+
"fps": 30,
|
|
17
|
+
"duration": 3
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
2
21
|
// Template metadata is defined in meta.json
|
|
3
22
|
|
|
4
23
|
export default function Template({ title, description, frame, progress, tw }) {
|
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
|
|
2
|
+
|
|
3
|
+
export const meta = {
|
|
4
|
+
"name": "website",
|
|
5
|
+
"description": "Generate websites",
|
|
6
|
+
"type": "website",
|
|
7
|
+
"size": {
|
|
8
|
+
"width": 1200
|
|
9
|
+
},
|
|
10
|
+
"props": {
|
|
11
|
+
"title": "string",
|
|
12
|
+
"description": "string?"
|
|
13
|
+
},
|
|
14
|
+
"url": {
|
|
15
|
+
"fps": 30,
|
|
16
|
+
"duration": 3
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
2
20
|
// Template metadata is defined in meta.json
|
|
3
21
|
|
|
4
22
|
export default function Template({ title, description}) {
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -12,16 +12,23 @@ export declare function ensureTemplatesDir(): Promise<void>;
|
|
|
12
12
|
export declare function ensureOutputDir(): Promise<void>;
|
|
13
13
|
/**
|
|
14
14
|
* Get all installed template names
|
|
15
|
+
* Includes both folder-based and single-file templates
|
|
15
16
|
*/
|
|
16
17
|
export declare function getInstalledTemplates(): Promise<string[]>;
|
|
17
18
|
/**
|
|
18
19
|
* Check if a template is installed
|
|
20
|
+
* Checks for both folder-based and single-file templates
|
|
19
21
|
*/
|
|
20
22
|
export declare function isTemplateInstalled(name: string): Promise<boolean>;
|
|
21
23
|
/**
|
|
22
24
|
* Get the path to a template's main file
|
|
23
25
|
* Note: This is a sync function for backwards compatibility
|
|
24
26
|
* It uses default paths - for custom paths, use getTemplatePathAsync
|
|
27
|
+
*
|
|
28
|
+
* Resolution order:
|
|
29
|
+
* 1. templates/{name}/template.tsx (folder with template.tsx)
|
|
30
|
+
* 2. templates/{name}.tsx (single file)
|
|
31
|
+
* 3. templates/{name}/{name}.tsx (folder with named file - legacy)
|
|
25
32
|
*/
|
|
26
33
|
export declare function getTemplatePath(name: string): string;
|
|
27
34
|
/**
|
|
@@ -33,7 +40,7 @@ export declare function getTemplatePath(name: string): string;
|
|
|
33
40
|
*/
|
|
34
41
|
export declare function getTemplatePathAsync(name: string, relativeTo?: string): Promise<string>;
|
|
35
42
|
/**
|
|
36
|
-
* Load template metadata from meta
|
|
43
|
+
* Load template metadata from exported meta in template file
|
|
37
44
|
* Supports relative paths when relativeTo is provided
|
|
38
45
|
*/
|
|
39
46
|
export declare function loadTemplateMeta(name: string, relativeTo?: string): Promise<any>;
|
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGxD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrD;AAED
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGxD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAsB/D;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgF7F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAWtF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAsDlF"}
|