| background | Black |
|---|---|
| foreground | Cyan1 |
| border | Blue |
| h1 | PressStart2P |
| h2 | Silkscreen |
| h3 | Micro5-Regular |
| h1Color | cyan |
| h2Color | yellow |
| h3Color | green |
| pagination | true |
| paginationStyle | dots |
A PowerShell module for creating terminal-based presentations from Markdown files.
- No GUI required
- Works cross-platform
- Simple Markdown syntax
- Figlet text rendering for title text
From PowerShell Gallery:
Install-Module Deck -Scope CurrentUserOr clone from GitHub:
git clone https://github.com/jakehildreth/Deck.gitCreate a Markdown file with your content:
# My Presentation
---
## Section Title
---
### Slide with Content
Your content hereShow-Deck -Path ./presentation.mdThat's it!
- Title slides: Single # heading, large text
- Section slides: Single ## heading, medium text
- Content slides: ### heading with body content
- Image slides: Content on left (60%), image on right (40%)
Deck supports inline formatting:
**Bold text** or __also bold__
*Italic text* or _also italic_
`Inline code` for technical terms
~~Strikethrough~~ for corrections
<red>Colored text</red> using HTML tags|||
Renders as:
Bold text or also bold
Italic text or also italic
Inline code for technical terms
Strikethrough for corrections
Colored text using HTML tags
Use asterisks for bullets that reveal one at a time:
- This appears first
- Then this
- Finally this
Perfect for building suspense!
Use hyphens for bullets that appear all at once:
- All visible
- At the same time
- No progressive reveal
Great for lists and references.
Add color to your text using HTML tags:
- Red text for emphasis
- Blue text for information
- Green text for success
- Yellow text for warnings
You can combine: bold magenta and italic cyan
|||
Syntax examples:
<red>text</red>
<blue>text</blue>
<span style="color:green">text</span>You can add colors directly to headings using HTML tags:
# <red>Red Title</red>
## <cyan>Cyan Section</cyan>
### <green>Green Header</green>Both formats work:
- Simple:
<colorname>text</colorname> - HTML:
<span style="color:name">text</span>
Color priority: inline tags > frontmatter settings > foreground
Two-panel layout with text content and image side-by-side.
Images auto-size to fit. Use {width=N} to set max width.
Split content into columns using three pipes.
|||
Second column with bold text.
|||
Third column with italic text.
|||
Fourth column with code formatting.
Markdown tables render as Spectre.Console tables with rounded borders:
| Feature | Status | Notes |
|---|---|---|
| Title Slides | Complete | Figlet fonts |
| Image Slides | Complete | Auto-sizing |
| Multi-Column | Complete | Unlimited columns |
| Tables* | New! | Spectre tables |
Fenced code blocks with a language tag get automatic syntax highlighting via TextMate:
Get-Process | Where-Object CPU -gt 100 |
Sort-Object CPU -Descending |
Select-Object -First 5 Name, CPU, Id|||
def fibonacci(n: int) -> list[int]:
a, b = 0, 1
result = []
for _ in range(n):
result.append(a)
a, b = b, a + b
return result---
background: Black
foreground: Cyan1
border: Magenta
borderStyle: rounded
pagination: true
paginationStyle: minimal
---|||
---
h1: PressStart2P
h2: Silkscreen
h3: Micro5-Regular
h1Color: red
h2Color: cyan
h3Color: green
---Override settings per-slide using HTML comments:
<!-- pagination: false -->
<!-- paginationStyle: progress -->
<!-- background: #1a1a1a -->This slide uses paginationStyle: fraction override!
- Forward: Right, Down, Space, Enter, n, Page Down
- Backward: Left, Up, Backspace, p, Page Up
- Exit: Esc, Ctrl+C, or q
- Help: Press ?
deck.jakehildreth.com
Built with:
PowerShell
TextMate
<magenta1><3</magenta1>
