WeSearch

Show HN: Pilates – pure TypeScript flex layout for terminal UIs

·6 min read · 0 reactions · 0 comments · 12 views
#typescript#terminal#ui#layout#development
Show HN: Pilates – pure TypeScript flex layout for terminal UIs
⚡ TL;DR · AI summary

Pilates is a new flex layout engine designed specifically for terminal UIs, built entirely in TypeScript. It offers a separation of concerns by providing a core layout engine independent of any UI framework, allowing for flexible and efficient terminal applications. The engine supports various features such as CJK and emoji awareness, and it includes an out-of-the-box renderer for styled string output.

Key facts
Original article
GitHub
Read full at GitHub →
Opening excerpt (first ~120 words) tap to expand

Headless flex layout engine for terminal UIs. Pure TypeScript, zero runtime dependencies. 📖 API reference Pilates is a flex layout engine designed for the terminal: integer cell coordinates, CJK / emoji / wide-char awareness, ANSI escape passthrough, and unbundled from any UI framework. Use it directly to compute layouts, or wrap the included renderer to produce styled strings. import { render } from '@pilates/render'; process.stdout.write( render({ width: 80, height: 6, flexDirection: 'row', children: [ { flex: 1, border: 'rounded', title: 'Logs', children: [{ text: 'user logged in' }] }, { width: 20, border: 'single', title: 'Status', children: [{ text: 'ok', color: 'green', bold: true }] }, ], }), ); // ╭─ Logs ───────────────────────────────────────────────────╮┌─ Status ─────────┐…

Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.

Anonymous · no account needed
Share 𝕏 Facebook Reddit LinkedIn Threads WhatsApp Bluesky Mastodon Email

Discussion

0 comments

More from GitHub