出来事の日付:2026年8月3日。 Pandocは最初の一般公開から20周年を迎え、小規模なHaskellの実験が、数百万台のコンピューターにインストールされる文書変換システムへと発展した経緯を振り返った。開発者のジョン・マクファーレンは2006年8月3日、GPL自由ソフトウェアライセンスの下で、自身のウェブサイトに初めてこのプログラムをアップロードした。
バージョン0.1は約3,000行のHaskellコードで構成され、Glasgow Haskell Compilerが提供する標準ライブラリのみに依存していた。Markdown、reStructuredText、HTML、LaTeXの読み書きに対応し、RTFまたはS5形式の出力も生成できた。それから20年、200回を超えるリリースを経て、Pandocは50以上の文書形式をサポートし、引用文献と参考文献一覧も生成できる。QuartoやJupyter Notebookなどのツールにも統合されている。
マクファーレンの説明では、このプロジェクトは、用途を決める前に言語を選んだことから生まれた。友人の文章を通じてHaskellに出会った彼は、それを学ぶための本格的なプロジェクトを求めていた。Haskellがパーサーやコンパイラーに適していたことと、Parsecライブラリが利用できたことから、Markdownパーサーを構築するに至った。
Pandocのアーキテクチャは、正規表現による置換を通じてMarkdownを直接HTMLに変換していた当時の実装とは異なっていた。Pandocは入力をいったん抽象構文木として解析し、それを別の形式にレンダリングした。この分離により、体系的な拡張が可能になった。新しいリーダーを追加すれば入力形式が増え、新しいライターを追加すれば出力形式が増え、それぞれが反対側のあらゆる形式と組み合わせて動作できた。この構造により、形式の組み合わせごとに個別の直接変換機能を用意するのではなく、追加された各パーサーまたはレンダラーが多数の変換経路に参加できた。
マクファーレンは講義資料のためにreStructuredText対応を、PDFを作成するためにLaTeX出力を、既存のノートを変換するためにMarkdown出力を追加した。当初、リリースの告知は友人2人にメールを送っただけだった。より広範な普及に向けた動きは2006年後半、開発者のレジャイ・オクタシュが彼と協力し、PandocをDebian向けにパッケージ化したことから始まった。
プロジェクトは急速に拡大した。2007年の各リリースでは、PandocがHackageリポジトリに登場するまでに、DocBook、表、定義リスト、脚注、複数の出力形式が追加された。Pandoc 1.0は2008年9月に登場し、MediaWiki、OpenDocument、ODT、GNU Texinfoのライター、フェンス付きコードブロック、シンタックスハイライト、引用文献と参考文献一覧を自動生成する機能を備えていた。いくつかのニーズを受け、マクファーレンはZIPアーカイブやハイライト用の補助的なHaskellライブラリも作成した。
2010年1月のバージョン1.4では、カスタマイズ可能なテンプレートシステムが加わった。同年、プロジェクトはGoogle CodeからGitHubへ移行し、その後の開発ではEPUBとOrg-modeの出力、Textileの入力、TeXからMathMLへの変換が追加された。マクファーレンは、学習のための試みが長く使われる出版基盤へと発展した理由として、貢献者の存在と、自身の学術研究におけるプログラムの有用性の両方を挙げている。



