claude-presentation-master 7.3.0 → 7.4.0
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.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +118 -31
- package/dist/index.mjs +118 -31
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1223,6 +1223,11 @@ declare class ContentPatternClassifier {
|
|
|
1223
1223
|
} | null;
|
|
1224
1224
|
/**
|
|
1225
1225
|
* Extract timeline/process steps from content
|
|
1226
|
+
* Handles multiple formats:
|
|
1227
|
+
* - "Step 1: Do something" → label: "Step 1", description: "Do something"
|
|
1228
|
+
* - "1. First item" → label: "1", description: "First item"
|
|
1229
|
+
* - "Title - Description text" → label: "Title", description: "Description text"
|
|
1230
|
+
* - "Plain text" → label: "1", description: "Plain text"
|
|
1226
1231
|
*/
|
|
1227
1232
|
extractSteps(section: ContentSection$1): Array<{
|
|
1228
1233
|
label: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1223,6 +1223,11 @@ declare class ContentPatternClassifier {
|
|
|
1223
1223
|
} | null;
|
|
1224
1224
|
/**
|
|
1225
1225
|
* Extract timeline/process steps from content
|
|
1226
|
+
* Handles multiple formats:
|
|
1227
|
+
* - "Step 1: Do something" → label: "Step 1", description: "Do something"
|
|
1228
|
+
* - "1. First item" → label: "1", description: "First item"
|
|
1229
|
+
* - "Title - Description text" → label: "Title", description: "Description text"
|
|
1230
|
+
* - "Plain text" → label: "1", description: "Plain text"
|
|
1226
1231
|
*/
|
|
1227
1232
|
extractSteps(section: ContentSection$1): Array<{
|
|
1228
1233
|
label: string;
|
package/dist/index.js
CHANGED
|
@@ -1685,6 +1685,11 @@ var ContentPatternClassifier = class {
|
|
|
1685
1685
|
}
|
|
1686
1686
|
/**
|
|
1687
1687
|
* Extract timeline/process steps from content
|
|
1688
|
+
* Handles multiple formats:
|
|
1689
|
+
* - "Step 1: Do something" → label: "Step 1", description: "Do something"
|
|
1690
|
+
* - "1. First item" → label: "1", description: "First item"
|
|
1691
|
+
* - "Title - Description text" → label: "Title", description: "Description text"
|
|
1692
|
+
* - "Plain text" → label: "1", description: "Plain text"
|
|
1688
1693
|
*/
|
|
1689
1694
|
extractSteps(section) {
|
|
1690
1695
|
const steps = [];
|
|
@@ -1695,12 +1700,28 @@ var ContentPatternClassifier = class {
|
|
|
1695
1700
|
label: stepMatch[1].trim(),
|
|
1696
1701
|
description: stepMatch[2].trim()
|
|
1697
1702
|
});
|
|
1698
|
-
|
|
1703
|
+
continue;
|
|
1704
|
+
}
|
|
1705
|
+
const dashMatch = bullet.match(/^([^-]+)\s+-\s+(.+)$/);
|
|
1706
|
+
if (dashMatch && dashMatch[1] && dashMatch[2]) {
|
|
1699
1707
|
steps.push({
|
|
1700
|
-
label:
|
|
1701
|
-
description:
|
|
1708
|
+
label: dashMatch[1].trim(),
|
|
1709
|
+
description: dashMatch[2].trim()
|
|
1702
1710
|
});
|
|
1711
|
+
continue;
|
|
1703
1712
|
}
|
|
1713
|
+
const colonMatch = bullet.match(/^([^:]+):\s*(.+)$/);
|
|
1714
|
+
if (colonMatch && colonMatch[1] && colonMatch[2] && colonMatch[1].length < 40) {
|
|
1715
|
+
steps.push({
|
|
1716
|
+
label: colonMatch[1].trim(),
|
|
1717
|
+
description: colonMatch[2].trim()
|
|
1718
|
+
});
|
|
1719
|
+
continue;
|
|
1720
|
+
}
|
|
1721
|
+
steps.push({
|
|
1722
|
+
label: `${steps.length + 1}`,
|
|
1723
|
+
description: bullet
|
|
1724
|
+
});
|
|
1704
1725
|
}
|
|
1705
1726
|
return steps;
|
|
1706
1727
|
}
|
|
@@ -2578,6 +2599,9 @@ var TemplateEngine = class {
|
|
|
2578
2599
|
this.handlebars.registerHelper("animDelay", function(index, baseMs = 100) {
|
|
2579
2600
|
return `animation-delay: ${index * baseMs}ms`;
|
|
2580
2601
|
});
|
|
2602
|
+
this.handlebars.registerHelper("add", function(a, b) {
|
|
2603
|
+
return a + b;
|
|
2604
|
+
});
|
|
2581
2605
|
this.handlebars.registerHelper("safeHTML", function(text) {
|
|
2582
2606
|
return new import_handlebars.default.SafeString(text);
|
|
2583
2607
|
});
|
|
@@ -2685,7 +2709,12 @@ var TemplateEngine = class {
|
|
|
2685
2709
|
this.templates.set("single-statement", this.handlebars.compile(`
|
|
2686
2710
|
<section class="{{classes}}" data-slide-index="{{slideIndex}}" style="{{styles}}">
|
|
2687
2711
|
<div class="slide-content statement-content">
|
|
2712
|
+
{{#if body}}
|
|
2713
|
+
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2714
|
+
<p class="statement animate-fadeIn delay-200">{{markdown body}}</p>
|
|
2715
|
+
{{else}}
|
|
2688
2716
|
<p class="statement animate-fadeIn">{{title}}</p>
|
|
2717
|
+
{{/if}}
|
|
2689
2718
|
</div>
|
|
2690
2719
|
{{> speakerNotes}}
|
|
2691
2720
|
</section>
|
|
@@ -2751,14 +2780,30 @@ var TemplateEngine = class {
|
|
|
2751
2780
|
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2752
2781
|
<div class="columns two-columns">
|
|
2753
2782
|
<div class="column column-left animate-slideRight">
|
|
2754
|
-
{{#if
|
|
2755
|
-
|
|
2783
|
+
{{#if leftColumn.title}}<h3>{{leftColumn.title}}</h3>{{/if}}
|
|
2784
|
+
{{#if leftColumn.body}}
|
|
2785
|
+
<p class="body">{{markdown leftColumn.body}}</p>
|
|
2756
2786
|
{{/if}}
|
|
2757
|
-
{{#if
|
|
2758
|
-
|
|
2787
|
+
{{#if leftColumn.bullets}}
|
|
2788
|
+
<ul class="bullets stagger-children">
|
|
2789
|
+
{{#each leftColumn.bullets}}
|
|
2790
|
+
<li class="bullet animate-fadeIn" style="{{animDelay @index 150}}">{{markdown this}}</li>
|
|
2791
|
+
{{/each}}
|
|
2792
|
+
</ul>
|
|
2759
2793
|
{{/if}}
|
|
2760
2794
|
</div>
|
|
2761
2795
|
<div class="column column-right animate-slideLeft delay-200">
|
|
2796
|
+
{{#if rightColumn.title}}<h3>{{rightColumn.title}}</h3>{{/if}}
|
|
2797
|
+
{{#if rightColumn.body}}
|
|
2798
|
+
<p class="body">{{markdown rightColumn.body}}</p>
|
|
2799
|
+
{{/if}}
|
|
2800
|
+
{{#if rightColumn.bullets}}
|
|
2801
|
+
<ul class="bullets stagger-children">
|
|
2802
|
+
{{#each rightColumn.bullets}}
|
|
2803
|
+
<li class="bullet animate-fadeIn" style="{{animDelay @index 150}}">{{markdown this}}</li>
|
|
2804
|
+
{{/each}}
|
|
2805
|
+
</ul>
|
|
2806
|
+
{{/if}}
|
|
2762
2807
|
{{#if hasImage}}
|
|
2763
2808
|
{{> imageWithCaption images.[0]}}
|
|
2764
2809
|
{{else if metrics}}
|
|
@@ -2779,11 +2824,13 @@ var TemplateEngine = class {
|
|
|
2779
2824
|
{{#each columns}}
|
|
2780
2825
|
<div class="column animate-fadeIn" style="{{animDelay @index 200}}">
|
|
2781
2826
|
{{#if title}}<h3 class="column-title">{{title}}</h3>{{/if}}
|
|
2827
|
+
{{#if content}}<p class="column-body">{{markdown content}}</p>{{/if}}
|
|
2782
2828
|
{{#if body}}<p class="column-body">{{markdown body}}</p>{{/if}}
|
|
2783
2829
|
{{#if icon}}<div class="column-icon">{{icon}}</div>{{/if}}
|
|
2784
2830
|
</div>
|
|
2785
2831
|
{{/each}}
|
|
2786
2832
|
</div>
|
|
2833
|
+
{{> source}}
|
|
2787
2834
|
</div>
|
|
2788
2835
|
{{> speakerNotes}}
|
|
2789
2836
|
</section>
|
|
@@ -2792,25 +2839,24 @@ var TemplateEngine = class {
|
|
|
2792
2839
|
<section class="{{classes}}" data-slide-index="{{slideIndex}}" style="{{styles}}">
|
|
2793
2840
|
<div class="slide-content">
|
|
2794
2841
|
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2795
|
-
<div class="comparison-container">
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
<
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
</div>
|
|
2804
|
-
<div class="comparison-divider"></div>
|
|
2805
|
-
<div class="comparison-right animate-slideLeft delay-200">
|
|
2806
|
-
<h3>{{rightTitle}}</h3>
|
|
2842
|
+
<div class="comparison-container columns two-columns">
|
|
2843
|
+
{{#each columns}}
|
|
2844
|
+
<div class="column comparison-{{#if @first}}left animate-slideRight{{else}}right animate-slideLeft delay-200{{/if}}">
|
|
2845
|
+
<h3 class="column-title">{{title}}</h3>
|
|
2846
|
+
{{#if content}}
|
|
2847
|
+
<p class="column-content">{{markdown content}}</p>
|
|
2848
|
+
{{/if}}
|
|
2849
|
+
{{#if bullets}}
|
|
2807
2850
|
<ul>
|
|
2808
|
-
{{#each
|
|
2851
|
+
{{#each bullets}}
|
|
2809
2852
|
<li>{{this}}</li>
|
|
2810
2853
|
{{/each}}
|
|
2811
2854
|
</ul>
|
|
2855
|
+
{{/if}}
|
|
2812
2856
|
</div>
|
|
2857
|
+
{{/each}}
|
|
2813
2858
|
</div>
|
|
2859
|
+
{{> source}}
|
|
2814
2860
|
</div>
|
|
2815
2861
|
{{> speakerNotes}}
|
|
2816
2862
|
</section>
|
|
@@ -2874,18 +2920,18 @@ var TemplateEngine = class {
|
|
|
2874
2920
|
<section class="{{classes}}" data-slide-index="{{slideIndex}}" style="{{styles}}">
|
|
2875
2921
|
<div class="slide-content">
|
|
2876
2922
|
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2877
|
-
<div class="timeline stagger-children">
|
|
2878
|
-
{{#each
|
|
2879
|
-
<div class="timeline-item animate-fadeIn" style="{{animDelay @index 200}}">
|
|
2880
|
-
<div class="
|
|
2923
|
+
<div class="timeline steps stagger-children">
|
|
2924
|
+
{{#each steps}}
|
|
2925
|
+
<div class="step timeline-item animate-fadeIn" style="{{animDelay @index 200}}">
|
|
2926
|
+
<div class="step-number">{{add @index 1}}</div>
|
|
2881
2927
|
<div class="timeline-content">
|
|
2882
|
-
<div class="
|
|
2883
|
-
<div class="
|
|
2884
|
-
{{#if description}}<div class="timeline-desc">{{description}}</div>{{/if}}
|
|
2928
|
+
<div class="step-title">{{label}}</div>
|
|
2929
|
+
{{#if description}}<div class="step-desc">{{description}}</div>{{/if}}
|
|
2885
2930
|
</div>
|
|
2886
2931
|
</div>
|
|
2887
2932
|
{{/each}}
|
|
2888
2933
|
</div>
|
|
2934
|
+
{{> source}}
|
|
2889
2935
|
</div>
|
|
2890
2936
|
{{> speakerNotes}}
|
|
2891
2937
|
</section>
|
|
@@ -5423,29 +5469,70 @@ ${slides}
|
|
|
5423
5469
|
}
|
|
5424
5470
|
|
|
5425
5471
|
/* Comparison slides: Split visual */
|
|
5426
|
-
.reveal .slide-comparison .columns
|
|
5472
|
+
.reveal .slide-comparison .columns,
|
|
5473
|
+
.reveal .slide-comparison .comparison-container {
|
|
5427
5474
|
gap: 60px;
|
|
5428
5475
|
}
|
|
5429
|
-
.reveal .slide-comparison .column:first-child
|
|
5476
|
+
.reveal .slide-comparison .column:first-child,
|
|
5477
|
+
.reveal .slide-comparison .comparison-left {
|
|
5430
5478
|
border-right: 2px solid ${this.lightenColor(secondary, 70)};
|
|
5431
5479
|
padding-right: 30px;
|
|
5432
5480
|
}
|
|
5481
|
+
.reveal .column-title {
|
|
5482
|
+
font-size: 1.2em;
|
|
5483
|
+
font-weight: 600;
|
|
5484
|
+
margin-bottom: 0.5em;
|
|
5485
|
+
color: var(--color-accent);
|
|
5486
|
+
}
|
|
5487
|
+
.reveal .column-content,
|
|
5488
|
+
.reveal .column-body {
|
|
5489
|
+
line-height: 1.6;
|
|
5490
|
+
}
|
|
5433
5491
|
|
|
5434
5492
|
/* Timeline/Process: Visual flow */
|
|
5435
5493
|
.reveal .slide-timeline .steps,
|
|
5436
|
-
.reveal .slide-
|
|
5494
|
+
.reveal .slide-timeline .timeline,
|
|
5495
|
+
.reveal .slide-process .steps,
|
|
5496
|
+
.reveal .slide-process .process-steps {
|
|
5437
5497
|
display: flex;
|
|
5438
5498
|
gap: 20px;
|
|
5499
|
+
flex-wrap: wrap;
|
|
5500
|
+
justify-content: center;
|
|
5439
5501
|
}
|
|
5440
5502
|
.reveal .slide-timeline .step,
|
|
5441
|
-
.reveal .slide-
|
|
5503
|
+
.reveal .slide-timeline .timeline-item,
|
|
5504
|
+
.reveal .slide-process .step,
|
|
5505
|
+
.reveal .slide-process .process-step {
|
|
5442
5506
|
flex: 1;
|
|
5507
|
+
min-width: 150px;
|
|
5508
|
+
max-width: 250px;
|
|
5443
5509
|
padding: 20px;
|
|
5444
5510
|
background: ${isDark ? this.lightenColor(background, 10) : this.lightenColor(secondary, 92)};
|
|
5445
5511
|
border-radius: 8px;
|
|
5446
5512
|
border-top: 4px solid var(--color-accent);
|
|
5447
5513
|
${isDark ? `color: ${text};` : ""}
|
|
5448
5514
|
}
|
|
5515
|
+
.reveal .step-number {
|
|
5516
|
+
font-size: 1.5em;
|
|
5517
|
+
font-weight: 700;
|
|
5518
|
+
color: var(--color-accent);
|
|
5519
|
+
margin-bottom: 0.5em;
|
|
5520
|
+
}
|
|
5521
|
+
.reveal .step-title {
|
|
5522
|
+
font-size: 1.1em;
|
|
5523
|
+
font-weight: 600;
|
|
5524
|
+
margin-bottom: 0.5em;
|
|
5525
|
+
}
|
|
5526
|
+
.reveal .step-desc {
|
|
5527
|
+
font-size: 0.9em;
|
|
5528
|
+
color: var(--color-text-light);
|
|
5529
|
+
}
|
|
5530
|
+
.reveal .step-arrow {
|
|
5531
|
+
display: flex;
|
|
5532
|
+
align-items: center;
|
|
5533
|
+
font-size: 1.5em;
|
|
5534
|
+
color: var(--color-accent);
|
|
5535
|
+
}
|
|
5449
5536
|
|
|
5450
5537
|
/* Progress bar enhancement */
|
|
5451
5538
|
.reveal .progress {
|
package/dist/index.mjs
CHANGED
|
@@ -1613,6 +1613,11 @@ var ContentPatternClassifier = class {
|
|
|
1613
1613
|
}
|
|
1614
1614
|
/**
|
|
1615
1615
|
* Extract timeline/process steps from content
|
|
1616
|
+
* Handles multiple formats:
|
|
1617
|
+
* - "Step 1: Do something" → label: "Step 1", description: "Do something"
|
|
1618
|
+
* - "1. First item" → label: "1", description: "First item"
|
|
1619
|
+
* - "Title - Description text" → label: "Title", description: "Description text"
|
|
1620
|
+
* - "Plain text" → label: "1", description: "Plain text"
|
|
1616
1621
|
*/
|
|
1617
1622
|
extractSteps(section) {
|
|
1618
1623
|
const steps = [];
|
|
@@ -1623,12 +1628,28 @@ var ContentPatternClassifier = class {
|
|
|
1623
1628
|
label: stepMatch[1].trim(),
|
|
1624
1629
|
description: stepMatch[2].trim()
|
|
1625
1630
|
});
|
|
1626
|
-
|
|
1631
|
+
continue;
|
|
1632
|
+
}
|
|
1633
|
+
const dashMatch = bullet.match(/^([^-]+)\s+-\s+(.+)$/);
|
|
1634
|
+
if (dashMatch && dashMatch[1] && dashMatch[2]) {
|
|
1627
1635
|
steps.push({
|
|
1628
|
-
label:
|
|
1629
|
-
description:
|
|
1636
|
+
label: dashMatch[1].trim(),
|
|
1637
|
+
description: dashMatch[2].trim()
|
|
1630
1638
|
});
|
|
1639
|
+
continue;
|
|
1631
1640
|
}
|
|
1641
|
+
const colonMatch = bullet.match(/^([^:]+):\s*(.+)$/);
|
|
1642
|
+
if (colonMatch && colonMatch[1] && colonMatch[2] && colonMatch[1].length < 40) {
|
|
1643
|
+
steps.push({
|
|
1644
|
+
label: colonMatch[1].trim(),
|
|
1645
|
+
description: colonMatch[2].trim()
|
|
1646
|
+
});
|
|
1647
|
+
continue;
|
|
1648
|
+
}
|
|
1649
|
+
steps.push({
|
|
1650
|
+
label: `${steps.length + 1}`,
|
|
1651
|
+
description: bullet
|
|
1652
|
+
});
|
|
1632
1653
|
}
|
|
1633
1654
|
return steps;
|
|
1634
1655
|
}
|
|
@@ -2506,6 +2527,9 @@ var TemplateEngine = class {
|
|
|
2506
2527
|
this.handlebars.registerHelper("animDelay", function(index, baseMs = 100) {
|
|
2507
2528
|
return `animation-delay: ${index * baseMs}ms`;
|
|
2508
2529
|
});
|
|
2530
|
+
this.handlebars.registerHelper("add", function(a, b) {
|
|
2531
|
+
return a + b;
|
|
2532
|
+
});
|
|
2509
2533
|
this.handlebars.registerHelper("safeHTML", function(text) {
|
|
2510
2534
|
return new Handlebars.SafeString(text);
|
|
2511
2535
|
});
|
|
@@ -2613,7 +2637,12 @@ var TemplateEngine = class {
|
|
|
2613
2637
|
this.templates.set("single-statement", this.handlebars.compile(`
|
|
2614
2638
|
<section class="{{classes}}" data-slide-index="{{slideIndex}}" style="{{styles}}">
|
|
2615
2639
|
<div class="slide-content statement-content">
|
|
2640
|
+
{{#if body}}
|
|
2641
|
+
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2642
|
+
<p class="statement animate-fadeIn delay-200">{{markdown body}}</p>
|
|
2643
|
+
{{else}}
|
|
2616
2644
|
<p class="statement animate-fadeIn">{{title}}</p>
|
|
2645
|
+
{{/if}}
|
|
2617
2646
|
</div>
|
|
2618
2647
|
{{> speakerNotes}}
|
|
2619
2648
|
</section>
|
|
@@ -2679,14 +2708,30 @@ var TemplateEngine = class {
|
|
|
2679
2708
|
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2680
2709
|
<div class="columns two-columns">
|
|
2681
2710
|
<div class="column column-left animate-slideRight">
|
|
2682
|
-
{{#if
|
|
2683
|
-
|
|
2711
|
+
{{#if leftColumn.title}}<h3>{{leftColumn.title}}</h3>{{/if}}
|
|
2712
|
+
{{#if leftColumn.body}}
|
|
2713
|
+
<p class="body">{{markdown leftColumn.body}}</p>
|
|
2684
2714
|
{{/if}}
|
|
2685
|
-
{{#if
|
|
2686
|
-
|
|
2715
|
+
{{#if leftColumn.bullets}}
|
|
2716
|
+
<ul class="bullets stagger-children">
|
|
2717
|
+
{{#each leftColumn.bullets}}
|
|
2718
|
+
<li class="bullet animate-fadeIn" style="{{animDelay @index 150}}">{{markdown this}}</li>
|
|
2719
|
+
{{/each}}
|
|
2720
|
+
</ul>
|
|
2687
2721
|
{{/if}}
|
|
2688
2722
|
</div>
|
|
2689
2723
|
<div class="column column-right animate-slideLeft delay-200">
|
|
2724
|
+
{{#if rightColumn.title}}<h3>{{rightColumn.title}}</h3>{{/if}}
|
|
2725
|
+
{{#if rightColumn.body}}
|
|
2726
|
+
<p class="body">{{markdown rightColumn.body}}</p>
|
|
2727
|
+
{{/if}}
|
|
2728
|
+
{{#if rightColumn.bullets}}
|
|
2729
|
+
<ul class="bullets stagger-children">
|
|
2730
|
+
{{#each rightColumn.bullets}}
|
|
2731
|
+
<li class="bullet animate-fadeIn" style="{{animDelay @index 150}}">{{markdown this}}</li>
|
|
2732
|
+
{{/each}}
|
|
2733
|
+
</ul>
|
|
2734
|
+
{{/if}}
|
|
2690
2735
|
{{#if hasImage}}
|
|
2691
2736
|
{{> imageWithCaption images.[0]}}
|
|
2692
2737
|
{{else if metrics}}
|
|
@@ -2707,11 +2752,13 @@ var TemplateEngine = class {
|
|
|
2707
2752
|
{{#each columns}}
|
|
2708
2753
|
<div class="column animate-fadeIn" style="{{animDelay @index 200}}">
|
|
2709
2754
|
{{#if title}}<h3 class="column-title">{{title}}</h3>{{/if}}
|
|
2755
|
+
{{#if content}}<p class="column-body">{{markdown content}}</p>{{/if}}
|
|
2710
2756
|
{{#if body}}<p class="column-body">{{markdown body}}</p>{{/if}}
|
|
2711
2757
|
{{#if icon}}<div class="column-icon">{{icon}}</div>{{/if}}
|
|
2712
2758
|
</div>
|
|
2713
2759
|
{{/each}}
|
|
2714
2760
|
</div>
|
|
2761
|
+
{{> source}}
|
|
2715
2762
|
</div>
|
|
2716
2763
|
{{> speakerNotes}}
|
|
2717
2764
|
</section>
|
|
@@ -2720,25 +2767,24 @@ var TemplateEngine = class {
|
|
|
2720
2767
|
<section class="{{classes}}" data-slide-index="{{slideIndex}}" style="{{styles}}">
|
|
2721
2768
|
<div class="slide-content">
|
|
2722
2769
|
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2723
|
-
<div class="comparison-container">
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
<
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
</div>
|
|
2732
|
-
<div class="comparison-divider"></div>
|
|
2733
|
-
<div class="comparison-right animate-slideLeft delay-200">
|
|
2734
|
-
<h3>{{rightTitle}}</h3>
|
|
2770
|
+
<div class="comparison-container columns two-columns">
|
|
2771
|
+
{{#each columns}}
|
|
2772
|
+
<div class="column comparison-{{#if @first}}left animate-slideRight{{else}}right animate-slideLeft delay-200{{/if}}">
|
|
2773
|
+
<h3 class="column-title">{{title}}</h3>
|
|
2774
|
+
{{#if content}}
|
|
2775
|
+
<p class="column-content">{{markdown content}}</p>
|
|
2776
|
+
{{/if}}
|
|
2777
|
+
{{#if bullets}}
|
|
2735
2778
|
<ul>
|
|
2736
|
-
{{#each
|
|
2779
|
+
{{#each bullets}}
|
|
2737
2780
|
<li>{{this}}</li>
|
|
2738
2781
|
{{/each}}
|
|
2739
2782
|
</ul>
|
|
2783
|
+
{{/if}}
|
|
2740
2784
|
</div>
|
|
2785
|
+
{{/each}}
|
|
2741
2786
|
</div>
|
|
2787
|
+
{{> source}}
|
|
2742
2788
|
</div>
|
|
2743
2789
|
{{> speakerNotes}}
|
|
2744
2790
|
</section>
|
|
@@ -2802,18 +2848,18 @@ var TemplateEngine = class {
|
|
|
2802
2848
|
<section class="{{classes}}" data-slide-index="{{slideIndex}}" style="{{styles}}">
|
|
2803
2849
|
<div class="slide-content">
|
|
2804
2850
|
<h2 class="title animate-fadeIn">{{title}}</h2>
|
|
2805
|
-
<div class="timeline stagger-children">
|
|
2806
|
-
{{#each
|
|
2807
|
-
<div class="timeline-item animate-fadeIn" style="{{animDelay @index 200}}">
|
|
2808
|
-
<div class="
|
|
2851
|
+
<div class="timeline steps stagger-children">
|
|
2852
|
+
{{#each steps}}
|
|
2853
|
+
<div class="step timeline-item animate-fadeIn" style="{{animDelay @index 200}}">
|
|
2854
|
+
<div class="step-number">{{add @index 1}}</div>
|
|
2809
2855
|
<div class="timeline-content">
|
|
2810
|
-
<div class="
|
|
2811
|
-
<div class="
|
|
2812
|
-
{{#if description}}<div class="timeline-desc">{{description}}</div>{{/if}}
|
|
2856
|
+
<div class="step-title">{{label}}</div>
|
|
2857
|
+
{{#if description}}<div class="step-desc">{{description}}</div>{{/if}}
|
|
2813
2858
|
</div>
|
|
2814
2859
|
</div>
|
|
2815
2860
|
{{/each}}
|
|
2816
2861
|
</div>
|
|
2862
|
+
{{> source}}
|
|
2817
2863
|
</div>
|
|
2818
2864
|
{{> speakerNotes}}
|
|
2819
2865
|
</section>
|
|
@@ -5351,29 +5397,70 @@ ${slides}
|
|
|
5351
5397
|
}
|
|
5352
5398
|
|
|
5353
5399
|
/* Comparison slides: Split visual */
|
|
5354
|
-
.reveal .slide-comparison .columns
|
|
5400
|
+
.reveal .slide-comparison .columns,
|
|
5401
|
+
.reveal .slide-comparison .comparison-container {
|
|
5355
5402
|
gap: 60px;
|
|
5356
5403
|
}
|
|
5357
|
-
.reveal .slide-comparison .column:first-child
|
|
5404
|
+
.reveal .slide-comparison .column:first-child,
|
|
5405
|
+
.reveal .slide-comparison .comparison-left {
|
|
5358
5406
|
border-right: 2px solid ${this.lightenColor(secondary, 70)};
|
|
5359
5407
|
padding-right: 30px;
|
|
5360
5408
|
}
|
|
5409
|
+
.reveal .column-title {
|
|
5410
|
+
font-size: 1.2em;
|
|
5411
|
+
font-weight: 600;
|
|
5412
|
+
margin-bottom: 0.5em;
|
|
5413
|
+
color: var(--color-accent);
|
|
5414
|
+
}
|
|
5415
|
+
.reveal .column-content,
|
|
5416
|
+
.reveal .column-body {
|
|
5417
|
+
line-height: 1.6;
|
|
5418
|
+
}
|
|
5361
5419
|
|
|
5362
5420
|
/* Timeline/Process: Visual flow */
|
|
5363
5421
|
.reveal .slide-timeline .steps,
|
|
5364
|
-
.reveal .slide-
|
|
5422
|
+
.reveal .slide-timeline .timeline,
|
|
5423
|
+
.reveal .slide-process .steps,
|
|
5424
|
+
.reveal .slide-process .process-steps {
|
|
5365
5425
|
display: flex;
|
|
5366
5426
|
gap: 20px;
|
|
5427
|
+
flex-wrap: wrap;
|
|
5428
|
+
justify-content: center;
|
|
5367
5429
|
}
|
|
5368
5430
|
.reveal .slide-timeline .step,
|
|
5369
|
-
.reveal .slide-
|
|
5431
|
+
.reveal .slide-timeline .timeline-item,
|
|
5432
|
+
.reveal .slide-process .step,
|
|
5433
|
+
.reveal .slide-process .process-step {
|
|
5370
5434
|
flex: 1;
|
|
5435
|
+
min-width: 150px;
|
|
5436
|
+
max-width: 250px;
|
|
5371
5437
|
padding: 20px;
|
|
5372
5438
|
background: ${isDark ? this.lightenColor(background, 10) : this.lightenColor(secondary, 92)};
|
|
5373
5439
|
border-radius: 8px;
|
|
5374
5440
|
border-top: 4px solid var(--color-accent);
|
|
5375
5441
|
${isDark ? `color: ${text};` : ""}
|
|
5376
5442
|
}
|
|
5443
|
+
.reveal .step-number {
|
|
5444
|
+
font-size: 1.5em;
|
|
5445
|
+
font-weight: 700;
|
|
5446
|
+
color: var(--color-accent);
|
|
5447
|
+
margin-bottom: 0.5em;
|
|
5448
|
+
}
|
|
5449
|
+
.reveal .step-title {
|
|
5450
|
+
font-size: 1.1em;
|
|
5451
|
+
font-weight: 600;
|
|
5452
|
+
margin-bottom: 0.5em;
|
|
5453
|
+
}
|
|
5454
|
+
.reveal .step-desc {
|
|
5455
|
+
font-size: 0.9em;
|
|
5456
|
+
color: var(--color-text-light);
|
|
5457
|
+
}
|
|
5458
|
+
.reveal .step-arrow {
|
|
5459
|
+
display: flex;
|
|
5460
|
+
align-items: center;
|
|
5461
|
+
font-size: 1.5em;
|
|
5462
|
+
color: var(--color-accent);
|
|
5463
|
+
}
|
|
5377
5464
|
|
|
5378
5465
|
/* Progress bar enhancement */
|
|
5379
5466
|
.reveal .progress {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-presentation-master",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.0",
|
|
4
4
|
"description": "Generate world-class presentations using expert methodologies from Duarte, Reynolds, Gallo, and Anderson. Enforces rigorous quality standards through real visual validation.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|