@stonedeck/html-plugin 0.7.2 → 0.7.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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +126 -20
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +129 -17
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAA4C,YAAY,EAAoC,MAAM,iBAAiB,CAAC;AAExI,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAA4C,YAAY,EAAoC,MAAM,iBAAiB,CAAC;AAExI,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,UAAW,YAAW,YAAY;IAC3C,IAAI,SAAiB;IACrB,OAAO,SAAW;IAEZ,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlG"}
|
package/dist/index.js
CHANGED
|
@@ -370,6 +370,22 @@ class HtmlPluginStatic {
|
|
|
370
370
|
if (e.key === 'Escape' && body.classList.contains('presenting')) togglePresent();
|
|
371
371
|
});
|
|
372
372
|
</script>
|
|
373
|
+
${options?.liveReloadPort ? `
|
|
374
|
+
<script>
|
|
375
|
+
const observerPort = ${options.liveReloadPort};
|
|
376
|
+
console.log("📡 Live Reload enabled on port " + observerPort);
|
|
377
|
+
const eventSource = new EventSource("http://localhost:" + observerPort + "/live-reload");
|
|
378
|
+
eventSource.onmessage = (event) => {
|
|
379
|
+
if (event.data === "reload") {
|
|
380
|
+
console.log("🔄 Reloading presentation...");
|
|
381
|
+
window.location.reload();
|
|
382
|
+
}
|
|
383
|
+
};
|
|
384
|
+
eventSource.onerror = () => {
|
|
385
|
+
console.warn("⚠️ Live Reload connection lost. Trying to reconnect...");
|
|
386
|
+
};
|
|
387
|
+
</script>
|
|
388
|
+
` : ''}
|
|
373
389
|
</body>
|
|
374
390
|
</html>
|
|
375
391
|
`;
|
|
@@ -421,6 +437,8 @@ class HtmlPluginStatic {
|
|
|
421
437
|
const card = style.card;
|
|
422
438
|
if (card.background)
|
|
423
439
|
extraStyles += `background-color: ${card.background}; `;
|
|
440
|
+
if (card.color)
|
|
441
|
+
extraStyles += `color: ${card.color}; `;
|
|
424
442
|
if (card.radius)
|
|
425
443
|
extraStyles += `border-radius: ${card.radius}; `;
|
|
426
444
|
if (card.border)
|
|
@@ -464,27 +482,115 @@ class HtmlPluginStatic {
|
|
|
464
482
|
}
|
|
465
483
|
static parseMarkdown(raw) {
|
|
466
484
|
const lines = raw.split(/\r?\n/);
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
+
let html = '';
|
|
486
|
+
let inTable = false;
|
|
487
|
+
let tableRows = [];
|
|
488
|
+
let tableHeader = null;
|
|
489
|
+
let inCodeBlock = false;
|
|
490
|
+
let codeBlockContent = '';
|
|
491
|
+
let codeLanguage = '';
|
|
492
|
+
for (let i = 0; i < lines.length; i++) {
|
|
493
|
+
const line = lines[i].trim();
|
|
494
|
+
if (inCodeBlock) {
|
|
495
|
+
if (line.startsWith('```')) {
|
|
496
|
+
// End code block
|
|
497
|
+
html += `<pre><code class="language-${codeLanguage}">${codeBlockContent.replace(/</g, '<').replace(/>/g, '>')}</code></pre>`;
|
|
498
|
+
inCodeBlock = false;
|
|
499
|
+
codeBlockContent = '';
|
|
500
|
+
codeLanguage = '';
|
|
501
|
+
}
|
|
502
|
+
else {
|
|
503
|
+
// Preserve indentation for code blocks?
|
|
504
|
+
// The line is trimmed above. If we want to preserve indentation we should not trim `lines[i]`.
|
|
505
|
+
// But for now let's stick to trimmed to match the rest of the logic, or maybe use raw line for code.
|
|
506
|
+
const rawLine = lines[i]; // Don't trim code lines
|
|
507
|
+
codeBlockContent += rawLine + '\n';
|
|
508
|
+
}
|
|
509
|
+
continue;
|
|
510
|
+
}
|
|
511
|
+
if (line.startsWith('```')) {
|
|
512
|
+
inCodeBlock = true;
|
|
513
|
+
codeLanguage = line.replace('```', '').trim();
|
|
514
|
+
continue;
|
|
515
|
+
}
|
|
516
|
+
// Table Detection
|
|
517
|
+
if (line.startsWith('|')) {
|
|
518
|
+
// Check if this is a header row (look ahead for separator)
|
|
519
|
+
if (!inTable && i + 1 < lines.length && lines[i + 1].trim().startsWith('|') && lines[i + 1].includes('---')) {
|
|
520
|
+
inTable = true;
|
|
521
|
+
tableHeader = line.split('|').filter(c => c.trim().length > 0 || c === '').map(c => c.trim());
|
|
522
|
+
// Skip the separator line
|
|
523
|
+
i++;
|
|
524
|
+
continue;
|
|
525
|
+
}
|
|
526
|
+
else if (inTable) {
|
|
527
|
+
const row = line.split('|').filter(c => c.trim().length > 0 || c === '').map(c => c.trim());
|
|
528
|
+
tableRows.push(row);
|
|
529
|
+
continue;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
else if (inTable) {
|
|
533
|
+
// Table ended
|
|
534
|
+
html += HtmlPluginStatic.renderTable(tableHeader, tableRows);
|
|
535
|
+
inTable = false;
|
|
536
|
+
tableHeader = null;
|
|
537
|
+
tableRows = [];
|
|
538
|
+
}
|
|
539
|
+
if (!line) {
|
|
540
|
+
html += '<div class="markdown-line"> </div>';
|
|
541
|
+
continue;
|
|
542
|
+
}
|
|
543
|
+
let processedText = HtmlPluginStatic.formatInlineMarkdown(line.trim());
|
|
544
|
+
if (processedText.startsWith('### ')) {
|
|
545
|
+
html += `<h3>${processedText.substring(4)}</h3>`;
|
|
485
546
|
}
|
|
486
|
-
|
|
487
|
-
|
|
547
|
+
else if (processedText.startsWith('## ')) {
|
|
548
|
+
html += `<h2>${processedText.substring(3)}</h2>`;
|
|
549
|
+
}
|
|
550
|
+
else if (processedText.startsWith('# ')) {
|
|
551
|
+
html += `<h1>${processedText.substring(2)}</h1>`;
|
|
552
|
+
}
|
|
553
|
+
else if (processedText.startsWith('> ')) {
|
|
554
|
+
html += `<blockquote style="border-left: 3px solid #ccc; margin: 0; padding-left: 10px; font-style: italic; color: #555;">${processedText.substring(2)}</blockquote>`;
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
const listMatch = processedText.match(/^(\s*)([-*+])\s+(.*)$/);
|
|
558
|
+
if (listMatch) {
|
|
559
|
+
const indent = (listMatch[1].length / 2 + 1) * 20;
|
|
560
|
+
html += `<div style="display: list-item; margin-left: ${indent}pt; list-style-type: disc;">${listMatch[3]}</div>`;
|
|
561
|
+
}
|
|
562
|
+
else {
|
|
563
|
+
html += `<div class="markdown-line">${processedText}</div>`;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
// Flush remaining table if file ends with table
|
|
568
|
+
if (inTable) {
|
|
569
|
+
html += HtmlPluginStatic.renderTable(tableHeader, tableRows);
|
|
570
|
+
}
|
|
571
|
+
return html;
|
|
572
|
+
}
|
|
573
|
+
static renderTable(headers, rows) {
|
|
574
|
+
let h = '<table><thead><tr>';
|
|
575
|
+
headers.forEach(head => h += `<th>${HtmlPluginStatic.formatInlineMarkdown(head)}</th>`);
|
|
576
|
+
h += '</tr></thead><tbody>';
|
|
577
|
+
rows.forEach(row => {
|
|
578
|
+
h += '<tr>';
|
|
579
|
+
row.forEach(cell => h += `<td>${HtmlPluginStatic.formatInlineMarkdown(cell)}</td>`);
|
|
580
|
+
h += '</tr>';
|
|
581
|
+
});
|
|
582
|
+
h += '</tbody></table>';
|
|
583
|
+
return h;
|
|
584
|
+
}
|
|
585
|
+
static formatInlineMarkdown(text) {
|
|
586
|
+
let processed = text;
|
|
587
|
+
// Bold
|
|
588
|
+
processed = processed.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>');
|
|
589
|
+
// Italics
|
|
590
|
+
processed = processed.replace(/\*(.*?)\*/g, '<em>$1</em>');
|
|
591
|
+
// Images
|
|
592
|
+
processed = processed.replace(/!\[(.*?)\]\((.*?)\)/g, '<img src="$2" alt="$1">');
|
|
593
|
+
return processed;
|
|
488
594
|
}
|
|
489
595
|
// Helper to resolve image to Base64
|
|
490
596
|
static async resolveImageAsBase64(src, basePath, offline) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stonedeck/html-plugin",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"build": "tsc -b"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@stonedeck/core": "^0.7.
|
|
18
|
+
"@stonedeck/core": "^0.7.5"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"typescript": "^5.0.0",
|
package/src/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { StoneDeckIR, SlotContent, TableCell, Slide, getLayout, ExportPlugin, La
|
|
|
5
5
|
|
|
6
6
|
export interface HtmlPluginOptions {
|
|
7
7
|
offline?: boolean;
|
|
8
|
+
liveReloadPort?: number;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
export class HtmlPlugin implements ExportPlugin {
|
|
@@ -383,6 +384,22 @@ class HtmlPluginStatic {
|
|
|
383
384
|
if (e.key === 'Escape' && body.classList.contains('presenting')) togglePresent();
|
|
384
385
|
});
|
|
385
386
|
</script>
|
|
387
|
+
${options?.liveReloadPort ? `
|
|
388
|
+
<script>
|
|
389
|
+
const observerPort = ${options.liveReloadPort};
|
|
390
|
+
console.log("📡 Live Reload enabled on port " + observerPort);
|
|
391
|
+
const eventSource = new EventSource("http://localhost:" + observerPort + "/live-reload");
|
|
392
|
+
eventSource.onmessage = (event) => {
|
|
393
|
+
if (event.data === "reload") {
|
|
394
|
+
console.log("🔄 Reloading presentation...");
|
|
395
|
+
window.location.reload();
|
|
396
|
+
}
|
|
397
|
+
};
|
|
398
|
+
eventSource.onerror = () => {
|
|
399
|
+
console.warn("⚠️ Live Reload connection lost. Trying to reconnect...");
|
|
400
|
+
};
|
|
401
|
+
</script>
|
|
402
|
+
` : ''}
|
|
386
403
|
</body>
|
|
387
404
|
</html>
|
|
388
405
|
`;
|
|
@@ -437,6 +454,7 @@ class HtmlPluginStatic {
|
|
|
437
454
|
if (style.card && slot.id !== 'title' && slot.id !== 'subtitle' && !(style.full_bleed && content.type === 'image')) {
|
|
438
455
|
const card = style.card;
|
|
439
456
|
if (card.background) extraStyles += `background-color: ${card.background}; `;
|
|
457
|
+
if (card.color) extraStyles += `color: ${card.color}; `;
|
|
440
458
|
if (card.radius) extraStyles += `border-radius: ${card.radius}; `;
|
|
441
459
|
if (card.border) extraStyles += `border: ${card.border}; `;
|
|
442
460
|
if (card.shadow) extraStyles += `box-shadow: 0 4pt 12pt rgba(0,0,0,0.15); `;
|
|
@@ -480,24 +498,118 @@ class HtmlPluginStatic {
|
|
|
480
498
|
|
|
481
499
|
private static parseMarkdown(raw: string): string {
|
|
482
500
|
const lines = raw.split(/\r?\n/);
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
501
|
+
let html = '';
|
|
502
|
+
let inTable = false;
|
|
503
|
+
let tableRows: string[][] = [];
|
|
504
|
+
let tableHeader: string[] | null = null;
|
|
505
|
+
let inCodeBlock = false;
|
|
506
|
+
let codeBlockContent = '';
|
|
507
|
+
let codeLanguage = '';
|
|
508
|
+
|
|
509
|
+
for (let i = 0; i < lines.length; i++) {
|
|
510
|
+
const line = lines[i]!.trim();
|
|
511
|
+
|
|
512
|
+
if (inCodeBlock) {
|
|
513
|
+
if (line.startsWith('```')) {
|
|
514
|
+
// End code block
|
|
515
|
+
html += `<pre><code class="language-${codeLanguage}">${codeBlockContent.replace(/</g, '<').replace(/>/g, '>')}</code></pre>`;
|
|
516
|
+
inCodeBlock = false;
|
|
517
|
+
codeBlockContent = '';
|
|
518
|
+
codeLanguage = '';
|
|
519
|
+
} else {
|
|
520
|
+
// Preserve indentation for code blocks?
|
|
521
|
+
// The line is trimmed above. If we want to preserve indentation we should not trim `lines[i]`.
|
|
522
|
+
// But for now let's stick to trimmed to match the rest of the logic, or maybe use raw line for code.
|
|
523
|
+
const rawLine = lines[i]!; // Don't trim code lines
|
|
524
|
+
codeBlockContent += rawLine + '\n';
|
|
525
|
+
}
|
|
526
|
+
continue;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
if (line.startsWith('```')) {
|
|
530
|
+
inCodeBlock = true;
|
|
531
|
+
codeLanguage = line.replace('```', '').trim();
|
|
532
|
+
continue;
|
|
498
533
|
}
|
|
499
|
-
|
|
500
|
-
|
|
534
|
+
|
|
535
|
+
// Table Detection
|
|
536
|
+
if (line.startsWith('|')) {
|
|
537
|
+
// Check if this is a header row (look ahead for separator)
|
|
538
|
+
if (!inTable && i + 1 < lines.length && lines[i + 1]!.trim().startsWith('|') && lines[i + 1]!.includes('---')) {
|
|
539
|
+
inTable = true;
|
|
540
|
+
tableHeader = line.split('|').filter(c => c.trim().length > 0 || c === '').map(c => c.trim());
|
|
541
|
+
// Skip the separator line
|
|
542
|
+
i++;
|
|
543
|
+
continue;
|
|
544
|
+
} else if (inTable) {
|
|
545
|
+
const row = line.split('|').filter(c => c.trim().length > 0 || c === '').map(c => c.trim());
|
|
546
|
+
tableRows.push(row);
|
|
547
|
+
continue;
|
|
548
|
+
}
|
|
549
|
+
} else if (inTable) {
|
|
550
|
+
// Table ended
|
|
551
|
+
html += HtmlPluginStatic.renderTable(tableHeader!, tableRows);
|
|
552
|
+
inTable = false;
|
|
553
|
+
tableHeader = null;
|
|
554
|
+
tableRows = [];
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
if (!line) {
|
|
558
|
+
html += '<div class="markdown-line"> </div>';
|
|
559
|
+
continue;
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
let processedText = HtmlPluginStatic.formatInlineMarkdown(line.trim());
|
|
563
|
+
|
|
564
|
+
if (processedText.startsWith('### ')) {
|
|
565
|
+
html += `<h3>${processedText.substring(4)}</h3>`;
|
|
566
|
+
} else if (processedText.startsWith('## ')) {
|
|
567
|
+
html += `<h2>${processedText.substring(3)}</h2>`;
|
|
568
|
+
} else if (processedText.startsWith('# ')) {
|
|
569
|
+
html += `<h1>${processedText.substring(2)}</h1>`;
|
|
570
|
+
} else if (processedText.startsWith('> ')) {
|
|
571
|
+
html += `<blockquote style="border-left: 3px solid #ccc; margin: 0; padding-left: 10px; font-style: italic; color: #555;">${processedText.substring(2)}</blockquote>`;
|
|
572
|
+
} else {
|
|
573
|
+
const listMatch = processedText.match(/^(\s*)([-*+])\s+(.*)$/);
|
|
574
|
+
if (listMatch) {
|
|
575
|
+
const indent = (listMatch[1]!.length / 2 + 1) * 20;
|
|
576
|
+
html += `<div style="display: list-item; margin-left: ${indent}pt; list-style-type: disc;">${listMatch[3]}</div>`;
|
|
577
|
+
} else {
|
|
578
|
+
html += `<div class="markdown-line">${processedText}</div>`;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
// Flush remaining table if file ends with table
|
|
584
|
+
if (inTable) {
|
|
585
|
+
html += HtmlPluginStatic.renderTable(tableHeader!, tableRows);
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
return html;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
private static renderTable(headers: string[], rows: string[][]): string {
|
|
592
|
+
let h = '<table><thead><tr>';
|
|
593
|
+
headers.forEach(head => h += `<th>${HtmlPluginStatic.formatInlineMarkdown(head)}</th>`);
|
|
594
|
+
h += '</tr></thead><tbody>';
|
|
595
|
+
rows.forEach(row => {
|
|
596
|
+
h += '<tr>';
|
|
597
|
+
row.forEach(cell => h += `<td>${HtmlPluginStatic.formatInlineMarkdown(cell)}</td>`);
|
|
598
|
+
h += '</tr>';
|
|
599
|
+
});
|
|
600
|
+
h += '</tbody></table>';
|
|
601
|
+
return h;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
private static formatInlineMarkdown(text: string): string {
|
|
605
|
+
let processed = text;
|
|
606
|
+
// Bold
|
|
607
|
+
processed = processed.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>');
|
|
608
|
+
// Italics
|
|
609
|
+
processed = processed.replace(/\*(.*?)\*/g, '<em>$1</em>');
|
|
610
|
+
// Images
|
|
611
|
+
processed = processed.replace(/!\[(.*?)\]\((.*?)\)/g, '<img src="$2" alt="$1">');
|
|
612
|
+
return processed;
|
|
501
613
|
}
|
|
502
614
|
|
|
503
615
|
// Helper to resolve image to Base64
|