Djot(/dʒɑt/)は、CommonMarkの複雑で解析が困難な構文を改善するために開発された、軽量
マークアップ言語です。2022年に、Pandocの作者であり、CommonMarkの標準化グループにも参加しているジョン・マクファーレインによって考案されました。
Djotは、CommonMarkの機能の多くを受け継ぎつつ、説明リスト、脚注、表、新しいインライン書式設定、数式、スマート句読点など、より多くの機能を備えています。オリジナルの
リファレンス実装は
スクリプト言語である
Luaで記述されていますが、Djotは高速に解析できるように設計されており、効率的な構文解析が可能です。
Djotのコードとドキュメントは、
MIT Licenseの下で公開されており、自由に利用することができます。
CommonMarkとの違い
Djotの構文はCommonMarkに似ていますが、いくつかの重要な違いがあります。
空白行
CommonMarkでは、ブロックレベル要素の周りに空白行は必須ではありませんが、Djotでは必要です。これにより、構造がより明確になり、解析が容易になります。
例:
これは段落です。
これは別の段落です。
見出し
Djotでは、Setext形式の見出し(`=`や`-`を使用する形式)は廃止され、ATX形式の見出し(`#`を使用する形式)のみが使用可能です。これにより、見出しの記述がよりシンプルになります。
例:
レベル1の見出し
レベル2の見出し
強調
CommonMarkでは、1つの`
`または`_`を強調に、2つの``または`_`を強い強調に使用しますが、Djotでは1つの`_`を強調に、1つの`
`を強い強調に使用します。これにより、視覚的な区別が容易になります。
例:
これは_強調_されたテキストです。
これは強い強調*されたテキストです。
リンク
CommonMarkとは異なり、Djotにはリンクにタイトルを追加するための特別な構文はありません。代わりに、一般的な属性構文を使用してタイトルを追加することができます。これにより、構文がより一貫性を持つようになります。
例:
リンク{title="Example Website"}
実装
Djotは、効率的な解析を目的として設計されており、高速な構文解析が可能です。公式の実装は
Luaで書かれていますが、他の言語での実装も進められています。
使用
Pandocは、バージョン3.1.12以降で、入力フォーマットおよび出力フォーマットとしてDjotに対応しています。これにより、Djotで記述された文書を他のフォーマットに変換したり、他のフォーマットの文書をDjotに変換したりすることができます。
脚注
Djotでは、脚注の記述がサポートされており、学術的な文書や論文などを作成する際に便利です。
例:
これは脚注のある文章です[^1]。
[^1]: これは脚注の内容です。
外部リンク