Terminal-based presentations from Markdown files using PowerShell.
Install-Module Deck -Scope CurrentUserOr clone from GitHub:
git clone https://github.com/jakehildreth/Deck.git
Import-Module ./Deck/Deck.psd1Create a Markdown file:
---
background: Black
foreground: Cyan1
border: Blue
---
# My Presentation
---
## Section Title
---
### Slide Content
Your content here with **bold** and *italic* text.
* Progressive bullets
* Reveal one at a timeRun the presentation:
Show-Deck -Path ./presentation.mdOr load directly from a web URL:
Show-Deck -Path https://raw.githubusercontent.com/jakehildreth/Deck/main/Examples/ExampleDeck.mdValidate content before presenting:
Show-Deck -Path ./presentation.md -StrictThe -Strict parameter validates:
- Content height doesn't exceed viewport
- Image files exist
- Reports all errors before starting
- Title Slides - Single
#heading with large figlet text - Section Slides - Single
##heading with medium figlet text - Content Slides -
###heading with body content - Image Slides - Two-panel layout with content left (60%), image right (40%)
- Multi-Column Slides - Split content with
|||delimiter
Create side-by-side layouts with text and images:
### Slide Title
Text content on the left.
* Progressive bullets supported
* Auto-sized images
{width=80}Images are auto-detected. Use relative or absolute paths. Optional {width=N} sets max width.
Web images are supported:

### About Our Brand
Content appears here- Progressive bullets using
*(reveal one at a time) - Static bullets using
-(all visible at once)
**bold**or__bold__*italic*or_italic_`code`~~strikethrough~~<colorname>text</colorname>or<span style="color:colorname">text</span>for colors
This text has <red>red</red>, <blue>blue</blue>, and <green>green</green> colors.
You can use standard HTML: <span style="color:yellow">yellow text</span>
Mix with formatting: **<red>bold red text</red>** or *<blue>italic blue</blue>*Supports all Spectre.Console color names.
- Forward: Right, Down, Space, Enter,
n, Page Down - Backward: Left, Up, Backspace,
p, Page Up - Exit: Esc, Ctrl+C,
q - Help:
?
Configure in YAML frontmatter:
---
background: black # Background color
foreground: white # Text color
border: magenta # Border color
borderStyle: rounded # rounded, square, double, heavy, none
pagination: false # Show slide numbers
paginationStyle: minimal # minimal, fraction, text, progress, dots
h1: default # Figlet font for # titles (aliases: titleFont, h1Font)
h2: default # Figlet font for ## sections (aliases: sectionFont, h2Font)
h3: default # Figlet font for ### headers (aliases: headerFont, h3Font)
h1Color: null # Color for # titles (aliases: titleColor, h1FontColor)
h2Color: null # Color for ## sections (aliases: sectionColor, h2FontColor)
h3Color: null # Color for ### headers (aliases: headerColor, h3FontColor)
---Heading colors can be specified three ways:
- Inline HTML tags (highest priority):
# <red>Red Title</red>
## <cyan>Cyan Section</cyan>
### <green>Green Header</green>- Frontmatter settings:
h1Color: red
h2Color: cyan
h3Color: green- Foreground fallback (if neither above is specified)
Both <colorname>text</colorname> and <span style="color:colorname">text</span> syntax are supported.
See Examples/ExampleDeck.md for a comprehensive demo:
Show-Deck -Path ./Examples/ExampleDeck.mdAdditional examples:
- Examples/ColorTest.md - Inline color text examples
- Examples/HeadingColorsTest.md - Heading color examples
- Examples/ImageTest.md - Image slide layouts
- Examples/MultiColumnTest.md - Multi-column layouts
- Examples/BulletTest.md - Bullet reveal behavior
- Examples/TitleTest.md - Title and section slides
- PowerShell 7.4 or later
- PwshSpectreConsole (auto-installed if missing)
MIT
- PowerShell
- PwshSpectreConsole
Made with 💜 by Jake Hildreth
