ターミナルでカッコ良くテキストを表示したい場合「TerminalTextEffects」を使用すると良いかもしれません。
TerminalTextEffectsはPythonで作られたビジュアルエフェクトエンジンで、単体のコマンドtte
として使用することができるほか、PythonライブラリとしてPythonスクリプト/アプリケーションから利用することもできます。
以下のような特徴を持っています。
- Xterm 256 / RGB hexカラーをサポート。
- パス、ウェイポイント、モーションイージングによる複雑なキャラクタ移動。
- シンボル/カラー変更、レイヤー、イージング、パス同期進行によるシーン経由の複雑なアニメーション。
- 可変ストップ/ステップカラーグラデーション生成。
- カスタムコールバックサポートと多くの定義済みアクションによる、パス/シーン状態変化のためのイベントハンドリング。
- CLI引数として自動的に処理される、型付けされたエフェクト設定データクラスを通して公開されるエフェクトのカスタマイズ。
- インラインで実行され、ターミナルの状態とワークフローを保持。
以下使用方法を説明します。
TerminalTextEffectsの使用方法
TerminalTextEffectsをインストールするには、Pythonのパッケージ管理システムであるpipやpipxを利用します(pipやpipxの設定方法はここでは)省略します。
pipでインストールする場合:
pip install terminaltexteffects
コマンドとして使用するためには、テキストをcatコマンドなどで送り込みます。
# tteコマンドにパスを通している場合 cat your_text | tte <effect> [options] # tteコマンドにパスを通していない場合 cat your_text | python -m terminaltexteffects <effect> [options]
指定できるエフェクトは「beams,binarypath,blackhole,bouncyballs,bubbles,burn,colorshift,crumble,decrypt,errorcorrect,expand,fireworks,middleout,orbittingvolley,overflow,pour,print,rain,randomsequence,rings,scattered,slice,slide,spotlights,spray,swarm,synthgrid,unstable,vhstape,waves,wipe」などがあります。例えばbeamsはビームが光るようなエフェクトを楽しむことができます。見え方のサンプルはEffects Showroomで確認可能です。
実際にいくつかのエフェクトを確認できるデモ動画を作成してみました。
動画では同じテキストに対し、beams、binarypath、burn、colorshift、expand、rain、spotlights、wavesを順に実行しています。
GitHubにはライブラリとして使用する方法など、さらなる情報が掲載されていますのでさらに極めたい方は参考にすることをおすすめします。
まとめ
TerminalTextEffectsを使用するとテキストをカッコ良く表示することができます。インストールも比較的簡単ですので興味のある方はためしてみてはいかがでしょうか。