ターミナルでスライドを再生するコマンド『pera』を作った。

  • 84
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

こんなの。

pera


---で区切ったテキストファイルを読み込ませると、スライドのように1枚1枚再生できる。

Qiitaのスライドモードみたいな感じ。


使い方

---で区切ったテキストファイルをパラメータとして指定する。( サンプル )

$ pera usage.md

すると1ページ目から順に再生できる。


以下のようなオプションも用意してる。

  -e string
        encoding (default "utf-8")
  -g    gravity(bottom align)
  -i int
        interval <= 10 millisecond (enable auto mode)
  -l    loop (Exit:Press Esc Key)

-i 1000 というように時間をミリ秒で指定すると、1秒ごとに自動再生、みたいなこともできる。
あと-lを指定すると、最後までいった後に最初に戻ってループする。


これを組み合わせると・・・

chaofan

チャーハン作るよ!


技術解説

言語はGo言語。
画面制御にはエスケープシーケンスという仕組みを使ってる。

制御文字 効果
\x1b[2J 画面を全部消す
\x1b[1;2H カーソルを1行2列に移動
\x1b[2K カーソルのある行を削除

上の表にあるような特殊な文字を書き出すと、ターミナルの動きを制御できる。文字や背景の色の変更や太字など、他にもいろいろある!

ただしWindowsだとうまく動かなかったりするので、そこらへんを吸収するためにmattn/go-ttymattn/go-colorableを利用。


ダウンロードはこちら

ソース
https://github.com/kurehajime/pera
実行ファイル
https://github.com/kurehajime/pera/releases

PATHの通ってる場所に実行ファイルを放り込むだけでOK!