termcinema-cli

Crates.iotermcinema-cli
lib.rstermcinema-cli
version0.1.0
created_at2025-06-10 05:37:05.263447+00
updated_at2025-06-10 05:37:05.263447+00
description🎬 Animated terminal-to-SVG renderer CLI for the termcinema project
homepagehttps://github.com/pokeyaro/termcinema
repositoryhttps://github.com/pokeyaro/termcinema
max_upload_size
id1706679
size62,137
Pokeya (pokeyaro)

documentation

https://docs.rs/termcinema-cli

README

🎬 TermCinema CLI

Turn your terminal sessions into cinematic SVG animations β€” perfect for docs, blog posts, presentations, or just showing off your CLI aesthetics.

βš™οΈ Powered by termcinema-engine

🧱 Built in Rust · Embeddable via WebAssembly, Python (and more soon)


✨ Features

  • βœ… Render shell-like text as animated SVG

  • 🎨 9+ built-in retro & modern terminal themes

  • ⌨️ Typing animation with speed presets or per-frame control

  • πŸ”  Custom font, color, layout, alignment

  • πŸ§‘β€πŸŽ¨ Custom cursor (e.g. |, β–‹, ⚑)

  • πŸ”© Embeddable as Rust/WASM library

πŸ“¦ Installation

cargo install termcinema-cli

πŸš€ Usage

▢️ Basic

termcinema -i 'echo "Hi, TermCinema!"' -o out.svg

πŸ“œ From script file

termcinema -s ./demo.txt -o out.svg

🚰 Pipe Mode (Stdin)

echo "The quick brown fox..." | termcinema -o out.svg

🎨 Themes

termcinema -i "Hello" --theme "dos_classic"
termcinema --list-themes

πŸ”‘ Font Family

termcinema -i "Hello" --font-family "JetBrains Mono"
termcinema --list-fonts

Tested Monospaced Fonts

Font Name Built-in? Embeddable? Notes
PxPlus IBM VGA8 ❌ βœ… Yes Pixel-perfect retro feel
JetBrains Mono ❌ βœ… Yes Modern, developer-oriented
Fira Code ❌ βœ… Yes Monospaced font with programming ligatures
Source Code Pro ❌ βœ… Yes Clean and balanced, from Adobe
Cascadia Mono ❌ βœ… Yes Microsoft’s modern monospaced font
Courier New βœ… System ⚠️ Wide Technically monospaced but visually outdated
Monospace (generic) βœ… System ⚠️ Unreliable Often mapped to variable-width fonts

πŸ’‘ Prefer the β€œβœ… Yes” fonts above for best SVG alignment and retro aesthetics.

⚑ Speed Control

termcinema -i "Hello" --speed fast
termcinema -i "Hello" --frame-delay 120

πŸ–Ό Demo Gallery

Dive into 12+ terminal styles β€” Bash, Zsh, PowerShell, Python, Git, SQL, and more β€” all pre-rendered as cinematic SVG animations.

πŸ“‚ Full demo files in examples/README.md

Unix Bash Example
Terminal Style
🐧 Unix Shell
🍎 macOS Zsh
πŸͺŸ PowerShell
🐍 Python REPL
🟒 Node.js REPL
πŸŒ™ Lua REPL
❀️ Redis CLI
🐬 MySQL CLI
🐘 PostgreSQL CLI
🧬 Git Log
🌐 Switch Console
πŸ“œ Script Input

🧩 Use as Library

You can use this as a Rust library:

use termcinema_cli::{CliArgs, render_svg_direct};

let args = CliArgs {
    theme: Some("retro_tty".into()),
    ..Default::default()
};

let svg = render_svg_direct("echo hello", &args).unwrap();

See full API on docs.rs/termcinema-cli

πŸ†˜ Usage Help

Run termcinema --help
Or see docs/help.txt for full CLI options

πŸ”— See Also

Commit count: 2

cargo fmt