GitHubでも採用されていることでおなじみの軽量マークアップ言語「Markdown」。
一般的なテキストエディタを使用して記述することができますが、整形後の見た目を確認したい場合は、Markdownビューアーと呼ばれるビューアーアプリを使用する必要があります。
本日紹介する「mdless」もそのようなMarkdownビューアーの一種です。ただしGUIアプリではなくターミナル内で利用できるコマンドラインタイプのビューアーとなっています。
GUIアプリほど美しくMarkdownを表示することはできませんが、リモートサーバーで作業している場合など、見た目をざっくり確認したい場合に便利です。
以下のような特徴を持っています。
- pipeに対応した組み込みのページャー機能
- テーブルのフォーマットに対応
- 大部分の要素のMarkdown構文の色分け
- 空白の正規化とリンクのフォーマット
- 章ごとに脚注の表示
- iTerm2 2.9以降で使用する場合インラインイメージが表示可能
- pygmentizeが利用できる場合シンタックスハイライトに対応
- ドキュメントの見出しの一覧表示
- 見出しに基づいて文書の単一セクションを表示する機能
以下使用方法を説明します。
mdlessの使用方法
mdlessはRuby製のツールなのでgemコマンドでインストールできます。
gem install mdless
使用方法は「mdless [オプション] パス」または「cat パス | mdless」となります。
例えば次の内容のMarkdownファイル(samle.md)が存在する場合…
# header1 ## header2 ### header3 箇条書き -項目1 -これも -項目2 -項目3 テーブル | column1 | column2 | | -- | -- | | セル1 | セル2 | | セル3 | セル4 | コードサンプル ``` shell gem install sample ```
「mdless sample.md」と実行すると以下のように表示されます。
▲デフォルト状態で色を使って表示されますが、明るい背景の場合見づらい配色となっています。色を使用する場合はターミナルのテーマをダーク系にしておくことをおすすめします。
オプションの一覧は「mdless --help」で確認可能です。
-s, --section=TITLE Output only a headline-based section of the input (numeric based on --list output) -w, --width=COLUMNS Column width to format for (default terminal width) -p, --[no-]pager Formatted output to pager (default on) -P Disable pager (same as --no-pager) -c, --[no-]color Colorize output (default on) -l, --list List headers in document and exit -i, --images=TYPE Include [local|remote (both)] images in output (requires imgcat and iTerm2, default NONE) -I, --all-images Include local and remote images in output -h, --help Display this screen -v, --version Display version numbe
色を使わない場合は以下のように実行します。
mdless --no-color sample.md
またiTerm2を使用していてローカルのインライン画像を表示したい場合は以下となります。
mdless --images=local sample.md
なおiTerm2で画像を表示したい場合、imgcatというスクリプトをiTerm2の公式サイトからダウンロードしてパスに設置する必要があります。詳しくはiTerm2のドキュメントでご確認ください。
まとめ
mdlessを使用すればMarkdownファイルの内容をターミナル上で素早く確認することができます。GUIを必要としないためリモートサーバーにログインして作業している場合に使っても便利かもしれません。