Quarkdownは、1つのプロジェクトを複数の大きく異なる出力形式に変換できる、Markdownベースの組版システムとして売り出されている。このGitHubプロジェクトによると、中核となるソースの記述スタイルを変更することなく、文書を印刷可能な書籍、学術論文、ナレッジベース、またはインタラクティブなプレゼンテーションにコンパイルできる。その提案は単純だが野心的だ。Markdownはテキストを記述するだけでなく、完成物の背後にある構造とロジックも駆動すべきだというものである。
このプロジェクトはCommonMarkとGFMを、Quarkdown Flavorと呼ぶ仕様で拡張する。このレイヤーは関数、レイアウトビルダー、入出力、数式、条件文、ループを追加し、ユーザーが文書内で独自の関数と変数を直接定義できるようにする。つまりQuarkdownは、Markdownを静的なマークアップ言語というより、プログラム可能な出版環境として扱っている。プロジェクト自身の説明によると、このスクリプト対応によって、素のMarkdownでは表現しにくい文書を作成できるようになる。
Quarkdownの魅力は概念だけにとどまらない。このプロジェクトはライブプレビュー、高速コンパイル、エディター対応も重視している。これらは、ツールが単なる珍しい存在にとどまるか、実際のワークフローになるかを左右する要素だ。リポジトリは、Quickstartガイド、プロンプトベースの作成ウィザード、file.qd文書のコンパイルなどのコマンドラインビルドへユーザーを案内している。また、言語を試すためのREPLモードに加え、反復的な編集に使うプレビューおよび監視フラグにも対応する。複数ファイルで構成されるプロジェクトでは、ルートのソースファイルがコンパイルのエントリーポイントとなる。
インストール方法も同様に、実用性を重視したものになっている。プロジェクトによると、ユーザーはリリースアーカイブをダウンロードするか、gradlew installDistでビルドするか、システムパスにインストールできる。また、Quarkdownを自動的にセットアップし、GitHub Actionsのワークフローに統合できる補助スクリプトについても説明している。パッケージの注意書きには、root権限があれば標準ディレクトリにツールをインストールでき、Node.jsが存在しない場合は自動的にインストールされるとある。こうした詳細により、このプロジェクトは実験室のデモよりも本番環境向けのツールチェーンに近く感じられる。
Quarkdownのより広い位置づけは、複数の文書形式を、プログラム可能な1つのソースへ統合することにある。このプロジェクトは、ページ形式の文書、スライド、ドキュメントのデモを示し、同じソースを本、記事、技術資料のニーズに合わせて調整できるとしている。ライセンスについても明示しており、メインプロジェクトはGPLv3、一部のモジュールはAGPLv3となっている。Markdownをより本格的な出版言語のように機能させたいユーザーに対し、Quarkdownは、プレーンテキストの利便性と本格的な組版能力の間にある欠けた中間領域を提供しようとしている。
その幅広さが、このプロジェクト最大の売りである。論文には数式とレイアウト制御が必要になる場合があり、ハンドブックには再利用可能なブロックと変数が必要な場合があり、プレゼンテーションでは同じ内容をスライド向けに再配置する必要がある場合がある。Quarkdownはそれらすべてを1つのワークフロー内に収め、著者が別々のツールを行き来しなくて済むようにしようとしている。このプロジェクトはその柔軟性を当たり前のものにし、著者を別のエディターへ戻すことなく、同じソースから配布資料、書籍、スライド資料を作成できるようにしようとしている。



