クイックリファレンス

Blessed.js ターミナル UI ライブラリ チートシート

Node.js 向け高機能ターミナル UI (TUI) ライブラリ Blessed.js のクイックリファレンス:画面初期化、Box ウィジェット、書式タグ、キーイベントを解説。

· 公開日

Blessed は Node.js 向けの高度なターミナルインターフェースライブラリで、ncurses のようなリッチなウィジェット機能をモダン JavaScript にもたらします。

スクリーンの初期化

const blessed = require('blessed');

const screen = blessed.screen({
  smartCSR: true,       // ターミナル再描画のちらつきを最適化
  autoPadding: true,
  title: 'My Dashboard'
});

screen.append(element);
screen.render();

// グローバルな終了キーをハンドル
screen.key(['escape', 'q', 'C-c'], (ch, key) => {
  return process.exit(0);
});

UI 要素(Box ウィジェット)

const box = blessed.box({
  top: 'center',
  left: 'center',
  width: '50%',
  height: '50%',
  content: '{bold}Hello{/bold} Blessed!',
  tags: true, // インライン書式タグを有効化
  border: {
    type: 'line' // 'line' または 'bg'
  },
  style: {
    fg: 'white',
    bg: 'magenta',
    border: {
      fg: '#f0f0f0'
    },
    hover: {
      bg: 'green'
    }
  }
});

screen.append(box);

書式タグ

tags: true を設定すると、要素はインライン書式タグを解析します:

  • {bold}...{/bold}: 太字テキスト
  • {underline}...{/underline}: 下線付きテキスト
  • {center}...{/center}: 中央寄せコンテンツ
  • {right}...{/right}: 右寄せテキスト
  • {|}: 左右の水平配置セパレータ
  • {#c0ff33-fg}...{/}: カスタム 16 進数前景色

生文字列内のタグをエスケープするには blessed.escape(str) を使用します。

関連テーマ