Quarkdown(クォークダウン)は、Markdownの書きやすさを保ったまま「関数」と変数・条件分岐・ループを書けるように拡張した、Markdownベースの組版システムです。1つの.qdファイルから、スライド・論文・Webページ・書籍・PDFを同じ記法で出力できるのが最大の特徴です。イタリアの開発者Giorgio Garofalo氏(GitHub: iamgio)が公開したオープンソースで、2025年6月にGIGAZINEなどで紹介されました。この記事では、Java環境を前提としたインストール手順、quarkdown createからPDF・スライド出力までの使い方、TypstやLaTeXとの違いを、2026年7月時点の最新版v2.3.1を基準に整理します。
まとめ:Quarkdownの要点
- 正体:CommonMark/GFMを拡張し「関数」を導入したMarkdownベースの組版システム。Turing完全なスクリプトを文書内に書ける。
- 動作環境:Kotlin製でJVM上で動くためJava 17以上が必須。npm製ではない。PDF出力時のみNode.jsを別途使う。
- 導入:公式のinstall.shスクリプト、Homebrew、Scoop、または
quarkdown.zipを展開する方法がある。 - 使い方:
quarkdown createで雛形を作り、quarkdown c file.qdでコンパイル。-pでプレビュー、--pdfでPDF化。 - 出力:HTML(通常/ページ分割/スライド/ドキュメント)とPDF。数式・図・カスタムCSSに対応。
- 位置づけ:Markdownの手軽さとLaTeX級の表現力の中間。直接の比較対象はTypst。
以下で、インストール・使い方・機能・他ツールとの違いを順に見ていきます。
Quarkdownとは何か:関数を書けるMarkdown
Quarkdownは、GitHub Flavored Markdown(GFM)とCommonMarkを土台に、通常のMarkdownには無い関数(function)の定義・呼び出しを加えたマークアップ言語です。見出しや箇条書きといった素のMarkdown記法はそのまま使いつつ、変数の代入、条件分岐、ループ、レイアウト用の関数呼び出しをドキュメント内に直接書けます。この拡張によって、静的なテキストだったMarkdownが「実行される文書」に近づき、目次生成・章番号・定型パーツの再利用などをコードで制御できます。
ソースコードはGitHubのiamgio/quarkdownリポジトリで公開されており、ライセンスはGPLv3(CLIおよび言語サーバーモジュールはAGPLv3)です。v2.0が2026年4月、v2.3.1が2026年6月とおよそ2か月ごとにリリースが続いており、2026年7月時点の最新版はv2.3.1(2026年6月23日リリース)です。バージョンは頻繁に更新されるため、正確な最新版は公式サイトとGitHubのReleasesで確認してください。「quarkdown 2.0」以降はライブプレビューの高速化やVS Code拡張のサポートなど、実用面の機能が強化されています。
Quarkdownのインストール手順(Java 17以上が前提)
QuarkdownはKotlinで書かれJVM上で動作するため、実行にはJava 17以上のランタイムが必要です。JavaScript製のツールではないので、npm installではインストールしません。まずjava -versionでJavaのバージョンを確認し、17未満なら先にJDK(TemurinやOpenJDKなど)を導入してください。主なインストール方法は次のとおりです。
- Linux/macOS(スクリプト):公式のインストールスクリプト(install.sh)をcurl経由で実行すると、本体一式が配置されます。
- macOS(Homebrew):Homebrewのtap経由で
brew installから導入できます。 - Windows(Scoop/PowerShell):ScoopまたはPowerShell用のインストールスクリプトに対応しています。
- 手動:GitHubのReleasesから
quarkdown.zipをダウンロードして展開し、binフォルダにPATHを通します。
インストール後、quarkdown --versionでバージョンが表示されれば導入は成功です。なお後述するPDF出力を使う場合のみ、レンダリング用にNode.jsが別途必要になります。パッケージ名やtapの正確な指定は更新されることがあるため、コマンドの詳細は公式ドキュメントで確認してください。
Quarkdownの基本的な使い方とコマンド
Quarkdownの文書は拡張子.qdのファイルで書きます。新規プロジェクトは対話式ウィザードで雛形から始めるのが簡単です。
quarkdown create myproject
cd myproject
quarkdown c main.qd -p
quarkdown create [ディレクトリ]はプロジェクトの雛形を生成するウィザードを起動します。文書のコンパイルはquarkdown c ファイル.qd(cはcompile)で行い、生成物はoutputディレクトリに出力されます。よく使うオプションは次のとおりです。
-p:コンパイル後にローカルサーバーでプレビューを開く。-w:ファイルの変更を監視して自動で再コンパイル(ライブプレビュー)。--pdf:HTMLではなくPDFとして出力する(Node.jsが必要)。
試行錯誤しながら記法を確かめたいときは、対話環境のquarkdown replが使えます。専用のエディタアプリは提供されていませんが、公式が配布するVS Code拡張を入れると.qdのシンタックスハイライトや補完が効くため、これが実質的なエディタ環境になります。ブラウザ上で記法を試したい場合は、公式サイト(quarkdown.net)のデモで挙動を確認できます。
Quarkdownの主な機能と出力形式
Quarkdownの強みは、1つのソースを用途に応じて複数の形式へ出力できる点にあります。出力ターゲットは大きくHTMLとPDFで、HTMLはさらに用途別に切り替えられます。
| 出力タイプ | 用途 |
|---|---|
| plain(通常HTML) | Webページ・知識ベース |
| paged(ページ分割) | 論文・書籍などの印刷向け文書 |
| slides(スライド) | プレゼン資料 |
| 配布用の確定版(Node.js経由でレンダリング) |
文書冒頭のメタデータで出力タイプを指定すると、同じ本文からスライドと文書を作り分けられます。機能面では、LaTeX由来の数式表記、シンタックスハイライト、画像やグラフの埋め込み、カスタムCSSによるレイアウト調整に対応します。加えて、前述の関数機能によって定型の見出しやレイアウトを部品化し、条件分岐やループで動的にページを組み立てられるのが、単なるMarkdownプロセッサとの決定的な違いです。
Markdown・LaTeX・Typstとの違いと使い分け
Quarkdownは、素のMarkdownの手軽さと、LaTeXの表現力の中間を狙ったツールです。位置づけを理解するには、近い3つのツールと比べるのが早道です。
| ツール | 実行環境 | 特徴 |
|---|---|---|
| Markdown | 各種エディタ | 最も簡単。プログラム的な制御は不可 |
| Quarkdown | JVM(Java17+) | Markdown記法+関数。スライドと文書を両立 |
| Typst | Rust製バイナリ | 独自記法。組版特化で高速 |
| LaTeX | TeX処理系 | 学術論文の標準。表現力は最高だが記法が複雑 |
素のMarkdownで足りるメモやREADMEにQuarkdownは不要です。一方、スライドと詳細文書を同じソースから出したい、あるいはMarkdownの延長でコード的な制御をしたい場合にQuarkdownが向きます。組版そのものを重視するならTypstとは?特徴・使い方・LaTeXとの違いを初心者向けに解説で扱うTypstが有力な競合で、記法はMarkdownから離れる代わりにコンパイルが高速です。数式主体の学術論文で実績を重視するならLaTeXとは何か?概要・特徴を初心者向けにわかりやすく徹底解説のLaTeXが依然として標準です。日本語の縦書きやルビが要件なら、Typstの縦書き・ルビ・和文組版はできる?日本語での使い方とLaTeXとの違いも判断材料になります。新しいツールほど日本語組版の成熟度に差があるため、和文用途では事前検証をおすすめします。
よくある質問
Quarkdownはnpmでインストールできますか?
いいえ。QuarkdownはKotlin製でJVM上で動くため、Java 17以上が前提です。導入はinstall.shスクリプト、Homebrew、Scoop、またはquarkdown.zipの手動展開で行います。npmを使うのはPDF出力用のNode.js依存部分だけです。
QuarkdownとTypstはどちらを選ぶべきですか?
Markdownの記法をなるべく活かしたい、スライドと文書を1ソースで両立したいならQuarkdown。組版の精密さとコンパイル速度を重視し、独自記法を学ぶ前提でよいならTypstが向きます。
最新バージョンはどれですか?「quarkdown 2.0」との違いは?
2026年7月時点の最新はv2.3.1(2026年6月23日リリース)です。2.0系以降はライブプレビューの高速化やVS Code拡張サポートなど実用機能が強化されました。更新が速いので最新版はGitHubのReleasesで確認してください。
GitHubのリポジトリはどこですか?
github.com/iamgio/quarkdownで公開されています。ライセンスはGPLv3(CLI・言語サーバーはAGPLv3)です。
PDFやスライドはどうやって出力しますか?
文書のメタデータで出力タイプ(slidesなど)を指定し、quarkdown c file.qdでコンパイルします。PDFは--pdfオプションを付けます(PDFレンダリングにはNode.jsが必要です)。