nexxeln/talktui

presentations on the terminal

TypeScript

156

29 commits

updated Jun 29, 2026

See the code

README

talktui

Markdown presentations in the terminal, powered by OpenTUI.

TalkTUI turns one Markdown file into a full-screen TUI deck with layouts, themes, fragments, code highlighting, tables, callouts, Mermaid diagrams, and native terminal images.

TalkTUI screenshot

Quick Start

bun install
bun run deck examples/showcase.md

Use a theme:

bun run deck examples/advanced.md --theme tokyonight

Examples

bun run deck examples/basic.md
bun run deck examples/showcase.md --theme ember
bun run deck examples/advanced.md --theme catppuccin

Controls

  • n, space, enter, right: next
  • p, backspace, left: previous
  • f: first slide
  • l: last slide
  • ?: toggle help
  • q, escape: quit

Config

Optional deck.config.ts:

import type { DeckUserConfig } from "./src/config"

export default {
  theme: "tokyonight",
  keybindings: {
    next: ["j", "space"],
    previous: ["k"],
  },
} satisfies DeckUserConfig

See docs.md for Markdown syntax and supported primitives.

Contributors

nexxeln

29 commits

nexxeln/talktui

presentations on the terminal

TypeScript

156

29 commits

updated Jun 29, 2026

See the code

README

talktui

Markdown presentations in the terminal, powered by OpenTUI.

TalkTUI turns one Markdown file into a full-screen TUI deck with layouts, themes, fragments, code highlighting, tables, callouts, Mermaid diagrams, and native terminal images.

TalkTUI screenshot

Quick Start

bun install
bun run deck examples/showcase.md

Use a theme:

bun run deck examples/advanced.md --theme tokyonight

Examples

bun run deck examples/basic.md
bun run deck examples/showcase.md --theme ember
bun run deck examples/advanced.md --theme catppuccin

Controls

  • n, space, enter, right: next
  • p, backspace, left: previous
  • f: first slide
  • l: last slide
  • ?: toggle help
  • q, escape: quit

Config

Optional deck.config.ts:

import type { DeckUserConfig } from "./src/config"

export default {
  theme: "tokyonight",
  keybindings: {
    next: ["j", "space"],
    previous: ["k"],
  },
} satisfies DeckUserConfig

See docs.md for Markdown syntax and supported primitives.

Contributors

nexxeln

29 commits

Languages

TypeScript

100.0%