🛠️

Markdown形式の入力からtreeを出力するCLI/Web

2021/06/19に公開

Wasm 対応をしてGitHub Pagesにホストしました🎉

どんなCLIなの?

以下に、実際に実行した結果を紹介します。

$ gtree output << EOS
- root
  - parent_a
  - parent_b
    - child_a
      - 1
      - 2
        - a
          - 1
    - child_b
      - 1
        - a
  - parent_c
    - child_a
  - parent_d
EOS
root
├── parent_a
├── parent_b
│   ├── child_a
│   │   ├── 1
│   │   └── 2
│   │       └── a
│   │           └── 1
│   └── child_b
│       └── 1
│           └── a
├── parent_c
│   └── child_a
└── parent_d

このように出力されます。インデントで階層を表現します。
Markdownファイルを指定して実行することも可能です。
詳しい説明は、こちらのREADMEを参照してください。
また、Go製です。

どんなときに使えるの?

  • 存在しないディレクトリ構成をパッとtreeコマンド結果のように出力したい。
    • 手作業で枝を組み立てるのは面倒だなあ、楽に作りたい。
  • ツリー構造で表せる物事をtreeコマンド結果のように出力したい。

といったときに使えるかと思います。

どうやってインストールするの?

インストール方法は、以下の3つを用意しています。

  • go install
    • Go1.18以上が必要です。
    • go install github.com/ddddddO/gtree/cmd/gtree@latest
  • Homebrew
    • brew install ddddddO/tap/gtree
  • binary download
    • こちらから、ダウンロードしてパスを通してお使いください。

更新情報

  • 2022/08/17 Wasm 対応をしてGitHub Pagesにホストしました🎉
  • 2022/01/15 ディレクトリとファイルを作成できるようにしました🎉
    • それについての記事を書きました。
  • 2021/11/20 出力にJSON/YAML/TOMLを対応しました🎉
  • 2021/07/31 プログラム上の操作でツリーを生成できるpackageを公開しました🎉
    • 個人的には本記事で紹介しているCLIより面白い物だと思ってます。詳しくはこちらを参照してください。
  • 2021/07/23 コマンド名をgentree -> gtreeへ変更しました🎉
  • 2021/07/22 複数ルートに対応しました🎉
$ gtree output << EOS
> - a
>   - i
>     - u
>       - k
>       - kk
>     - t
>   - e
>     - o
>   - g
> - a
>   - i
>     - u
>       - k
>       - kk
>     - t
>   - e
>     - o
>   - g
> EOS
a
├── i
│   ├── u
│   │   ├── k
│   │   └── kk
│   └── t
├── e
│   └── o
└── g
a
├── i
│   ├── u
│   │   ├── k
│   │   └── kk
│   └── t
├── e
│   └── o
└── g

Discussion