スペースキーで Markdown をクイックルック

Finder で Markdown ファイルを選んでスペースキーを押せば、クイックルックで整形された状態のまま読めます。MD Flow は Mac のクイックルックに本物の Markdown プレビューを追加します。アプリに含まれていて、無料です。

Mac では、ほとんどどんなファイルでも、スペースキーを押せば中身が表示されます。ところが .md ファイルで押すと、macOS が表示するのはソースです。# Heading、**bold**、バッククォート、すべてそのまま。システムは Markdown をプレーンテキストの一種として扱い、プレーンテキスト用のプレビューに渡します。そしてそのプレビューは、本来の役目どおりの仕事をしているだけなのです。

MD Flow は、このプレビューを置き換えます。アプリをインストールすると、クイックルックはアプリと同じように Markdown を表示します。見出しは見出しとして、表は表として、コールアウトはそれぞれの色付きで、数式は数式として。Finder でファイルを選び、スペースキーを押して読み、もう一度スペースキーを押す。無料で、アプリに含まれていて、設定することは何もありません。

#アプリを入れれば、プレビューも使える

別途ダウンロードするものも、Homebrew での手順も、Gatekeeper を通すための xattr -cr もありません。MD Flow は Mac App Store から配信されています。プレビュー機能拡張はアプリの一部で、アプリをインストールすると macOS が登録します。

インストール直後に Finder がまだ以前のプレビューを表示する場合は、一度アプリを開いてください。macOS は初回起動時に機能拡張を登録します。機能拡張はシステム設定の「ログイン項目と機能拡張」でオン・オフを切り替えることもできるので、以前に Markdown のプレビュー機能をオフにしたことがあれば、そこで確認できます。

#表示できるもの

アプリと同じレンダラーを使っているので、スペースキーで見える内容は、ファイルをきちんと開いたときと同じです。

  • 読みやすい組版で表示される見出し、段落、リスト
  • 表、タスクリスト、シンタックスハイライト付きのコードブロック
  • Obsidian 形式のコールアウト(> [!note]、> [!warning] など)
  • KaTeX の数式(インライン数式とディスプレイ数式)
  • ダッシュが並ぶだけの表示ではなく、すっきりしたメタデータのヘッダーとして表示される YAML フロントマター

#あえてしないこと

プレビュー機能拡張は、アプリの小型版ではありません。そう見せかけようとすると、この種のものは遅くて壊れやすくなります。制限は三つです。

  • Mermaid の図は、ハイライト付きのコードとして表示されます。 Mermaid のライブラリは約 2.5MB あり、機能拡張のサイズの大半を占めてしまいます。それだけの JavaScript を解析しなければならないプレビューは、遅すぎるとして macOS に終了させられます。MD Flow でファイルを開けば、図が表示されます。
  • Wikilink はテキストのままです。 [[Another Note]] を解決するにはフォルダ内をたどる必要がありますが、プレビュー機能拡張に渡されるのはファイル一つだけで、その周りのファイルは渡されません。
  • ローカルの画像は、可能な範囲で表示します。 理由は同じで、機能拡張がアクセスを許されているのはプレビューを頼まれたファイルだけなので、同じ場所にある画像を読めないことがあります。その場合はプレビュー全体を失敗させず、画像の部分を空けておきます。フォルダを接続したアプリでは、画像は通常どおり読み込まれます。

#そして、フォルダの残りのファイル

スペースキーは、ファイル一つのためのものです。実際に手元にあるのが 30 個のファイルが入ったフォルダ(ドキュメントのフォルダツリー、Obsidian の保管庫(Vault)、AI アシスタントが書き込むディレクトリなど)なら、スペースキーを 30 回押すのはブラウズとは言えません。そのためにあるのがアプリです。フォルダツリーの横に整形済みのプレビューを並べ、検索、最近のファイル、目次も使えます。詳しくは Markdown のフォルダをまるごと閲覧 をご覧ください。

MD Flow は App Store から無料でダウンロードでき、Mac、iPhone、iPad に対応しています。Pro は米国では $7.99 の買い切り(フォルダ数の上限解除、ドキュメント内の検索、メールの下書き、PDF 書き出し)で、サブスクリプションになることはありません。

App Store からダウンロード