Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion samples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Dedicated smoke deck for presenter notes packaging, including note-bearing slide
Speaker-style showcase deck generated from repo content, using `08-showcase.css` plus local Marp SVG assets to cover the Marp ecosystem, MarpToPptx capabilities, presenter notes, and the recommended VS Code task configuration.

9. `09-diagrams.md`
Diagram-focused sample deck that mixes Mermaid fences and `diagram` fences to exercise DiagramForge-backed flowchart, block, state, mindmap, matrix, pyramid, funnel, and radial output with the companion `09-diagrams.css` theme.
Diagram-focused sample deck that mixes Mermaid fences and `diagram` fences to exercise DiagramForge-backed flowchart, block, state, mindmap, matrix, and pyramid output with the companion `09-diagrams.css` theme.

## Theme Decks

Expand All @@ -52,6 +52,12 @@ Dark-theme smoke deck inspired by the community Dracula theme, using `themes/12-
5. `themes/13-popular-gaia.md`
Bright-theme smoke deck inspired by Marp's popular built-in Gaia direction, using `themes/13-popular-gaia.css` to exercise large-scale typography, clean surfaces, and bold section breaks.

6. `themes/14-diagramforge-cyberpunk.md`
Neon-noir dark theme shared with DiagramForge, using `themes/14-diagramforge-cyberpunk.css` to stress near-black backgrounds, hot-pink/cyan/purple accent hierarchy, and code readability on dark surfaces.

7. `themes/15-diagramforge-synthwave.md`
Retro-future dark theme shared with DiagramForge, using `themes/15-diagramforge-synthwave.css` to exercise deep-purple backgrounds, sunset-orange/hot-pink accents, and warm dark-stage typography.

## Running The Samples

Run any sample with the published tool:
Expand Down
76 changes: 76 additions & 0 deletions samples/themes/14-diagramforge-cyberpunk.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/* @theme diagramforge-cyberpunk */

:root {
font-family: "Segoe UI", "Aptos", sans-serif;
font-size: 28px;
color: #E0E0F0;
background-color: #0A0A1A;
padding: 44px 58px;
line-height: 1.4;
}

h1 {
font-family: "Aptos Display", "Segoe UI", sans-serif;
font-size: 58px;
color: #FF2D95;
font-weight: 700;
}

h2 {
font-size: 40px;
color: #00F0FF;
font-weight: 700;
}

h3 {
font-size: 30px;
color: #8B5CF6;
font-weight: 700;
}

pre,
code {
font-family: "Cascadia Mono", monospace;
font-size: 18px;
color: #E0E0F0;
background: #12122A;
line-height: 1.45;
}

section.lead {
background-color: #12122A;
color: #E0E0F0;
}

section.lead h1 {
color: #00F0FF;
}

section.neon {
background-color: #0F0F28;
color: #E0E0F0;
}

section.neon h2 {
color: #39FF14;
}

section.accent {
background-color: #18082E;
color: #E0E0F0;
}

section.accent h2 {
color: #FF2D95;
}

section.compact {
background-color: #0A0A1A;
color: #E0E0F0;
font-size: 22px;
}

section.compact h2 {
color: #8B5CF6;
font-size: 30px;
}
71 changes: 71 additions & 0 deletions samples/themes/14-diagramforge-cyberpunk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
theme: diagramforge-cyberpunk
paginate: true
lang: en-US
header: DiagramForge theme smoke
footer: Cyberpunk sample
---

<!-- _class: lead -->
# Cyberpunk Smoke Deck

A neon-noir theme shared with DiagramForge: near-black backgrounds, hot-pink accents, and cyan edge lines.

- Extreme dark stage
- Neon accent hierarchy
- Code blocks on surface panels
- Compact closing slide

---

## Why Cyberpunk?

- Dark backgrounds stress text contrast and glow readability.
- Multiple neon accents make heading hierarchy failures obvious.
- Code blocks must stay distinct from the near-black stage.

---

<!-- _class: neon -->
## Neon Slide

```bash
marp2pptx slides.md \
--theme-css 14-diagramforge-cyberpunk.css \
-o slides.pptx
```

The neon-green heading should contrast sharply with the deep surface while body text stays legible.

---

<!-- _class: accent -->
## Accent Slide

This slide verifies that the hot-pink accent class applies cleanly to a single slide without bleeding into the next.

Inline `code` should remain readable on the dark surface.

---

## Color Palette

| Role | Color |
|---|---|
| Background | `#0A0A1A` |
| Foreground | `#E0E0F0` |
| Accent | `#FF2D95` |
| Surface | `#12122A` |
| Edge | `#00F0FF` |
| Group | `#8B5CF6` |

---

<!-- _class: compact -->
## Close

Final compact slide to confirm the layout stays readable at a smaller font size.

- Theme CSS is loaded.
- Single-slide class hints are isolated.
- The rendered PPTX stays editable.
76 changes: 76 additions & 0 deletions samples/themes/15-diagramforge-synthwave.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/* @theme diagramforge-synthwave */

:root {
font-family: "Segoe UI", "Aptos", sans-serif;
font-size: 28px;
color: #F0E0FF;
background-color: #1A0030;
padding: 44px 58px;
line-height: 1.4;
}

h1 {
font-family: "Aptos Display", "Segoe UI", sans-serif;
font-size: 58px;
color: #FF6EC7;
font-weight: 700;
}

h2 {
font-size: 40px;
color: #FFB347;
font-weight: 700;
}

h3 {
font-size: 30px;
color: #B24BF3;
font-weight: 700;
}

pre,
code {
font-family: "Cascadia Mono", monospace;
font-size: 18px;
color: #F0E0FF;
background: #2A1040;
line-height: 1.45;
}

section.lead {
background-color: #2A1040;
color: #F0E0FF;
}

section.lead h1 {
color: #FFB347;
}

section.sunset {
background-color: #220838;
color: #F0E0FF;
}

section.sunset h2 {
color: #FF3864;
}

section.accent {
background-color: #2E0A48;
color: #F0E0FF;
}

section.accent h2 {
color: #FF6EC7;
}

section.compact {
background-color: #1A0030;
color: #F0E0FF;
font-size: 22px;
}

section.compact h2 {
color: #B24BF3;
font-size: 30px;
}
71 changes: 71 additions & 0 deletions samples/themes/15-diagramforge-synthwave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
theme: diagramforge-synthwave
paginate: true
lang: en-US
header: DiagramForge theme smoke
footer: Synthwave sample
---

<!-- _class: lead -->
# Synthwave Smoke Deck

A retro-future theme shared with DiagramForge: deep purple backgrounds, hot-pink accents, and sunset-orange edge lines.

- Warm dark stage
- Retro neon palette
- Code blocks on surface panels
- Compact closing slide

---

## Why Synthwave?

- Deep-purple backgrounds create a warm dark stage distinct from pure-black themes.
- Sunset-orange and hot-pink accents stress heading hierarchy readability.
- Code blocks must remain readable on the violet surface.

---

<!-- _class: sunset -->
## Sunset Slide

```bash
marp2pptx slides.md \
--theme-css 15-diagramforge-synthwave.css \
-o slides.pptx
```

The neon red-pink heading should pop against the deep surface while body text stays legible.

---

<!-- _class: accent -->
## Accent Slide

This slide verifies that the hot-pink accent class applies cleanly to a single slide without bleeding into the next.

Inline `code` should remain readable on the deep-purple surface.

---

## Color Palette

| Role | Color |
|---|---|
| Background | `#1A0030` |
| Foreground | `#F0E0FF` |
| Accent | `#FF6EC7` |
| Surface | `#2A1040` |
| Edge | `#FFB347` |
| Group | `#B24BF3` |

---

<!-- _class: compact -->
## Close

Final compact slide to confirm the layout stays readable at a smaller font size.

- Theme CSS is loaded.
- Single-slide class hints are isolated.
- The rendered PPTX stays editable.
10 changes: 10 additions & 0 deletions scripts/Invoke-PptxSmokeTest.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,16 @@ $repoRoot = Split-Path -Parent $PSScriptRoot
$generateScript = Join-Path $PSScriptRoot "Generate-LocalPptx.ps1"
$powerPointScript = Join-Path $PSScriptRoot "Test-PowerPointOpen.ps1"
$exportSlidesScript = Join-Path $PSScriptRoot "Export-PptxSlides.ps1"

if (-not $ThemeCss) {
$resolvedInput = [System.IO.Path]::GetFullPath($InputMarkdown, $repoRoot)
$companionCss = [System.IO.Path]::ChangeExtension($resolvedInput, ".css")
if (Test-Path $companionCss -PathType Leaf) {
$ThemeCss = $companionCss
Write-Host "Auto-detected companion theme CSS: $ThemeCss" -ForegroundColor DarkGray
}
}

$usedDefaultOutputPath = $false

if (-not $OutputPath) {
Expand Down
Loading