Skip to content

Latest commit

 

History

History
326 lines (215 loc) · 4.97 KB

File metadata and controls

326 lines (215 loc) · 4.97 KB
background Black
foreground Cyan1
border Blue
h1 PressStart2P
h2 Silkscreen
h3 Micro5-Regular
h1Color cyan
h2Color yellow
h3Color green
pagination true
paginationStyle dots

Deck


Terminal Presentations Made Simple


What is Deck?

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

Installation

From PowerShell Gallery:

Install-Module Deck -Scope CurrentUser

Or clone from GitHub:

git clone https://github.com/jakehildreth/Deck.git

Quick Start

Create a Markdown file with your content:

# My Presentation

---

## Section Title

---

### Slide with Content
Your content here

Run Your Deck

Show-Deck -Path ./presentation.md

That's it!


Basic Features


Four Slide Types

  • 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%)

Markdown Formatting

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


Progressive Bullets

Use asterisks for bullets that reveal one at a time:

  • This appears first
  • Then this
  • Finally this

Perfect for building suspense!


Static Bullets

Use hyphens for bullets that appear all at once:

  • All visible
  • At the same time
  • No progressive reveal

Great for lists and references.


Advanced Features


Color Support

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>

Colored Titles!


Colored Sections!


Inline Heading Colors

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


Image Slides

Two-panel layout with text content and image side-by-side.

Images auto-size to fit. Use {width=N} to set max width.

PowerShell Logo


Multi-Column Layouts

Split content into columns using three pipes.

|||

Second column with bold text.

|||

Third column with italic text.

|||

Fourth column with code formatting.


Table Rendering

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

Syntax Highlighting

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

Customization


Frontmatter Config

---
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
---

Per-Slide Overrides

Override settings per-slide using HTML comments:

<!-- pagination: false -->
<!-- paginationStyle: progress -->
<!-- background: #1a1a1a -->

This slide uses paginationStyle: fraction override!


Navigation Controls

  • Forward: Right, Down, Space, Enter, n, Page Down
  • Backward: Left, Up, Backspace, p, Page Up
  • Exit: Esc, Ctrl+C, or q
  • Help: Press ?

Thanks for Watching!


Learn More!

deck.jakehildreth.com

 Built with:
 PowerShell
  TextMate
     <magenta1><3</magenta1>