Djot
拡張子 | .dj[1] |
---|---|
MIMEタイプ | 不明な値 |
開発者 | ジョン・マクファーレイン(英語版) |
最新版 | 0.2.0 (2023年1月3日 (19か月前) (2023-01-03)[2]) |
種別 | 軽量マークアップ言語 |
派生元 | CommonMark |
オープン フォーマット | Yes |
ウェブサイト | djot![]() |
Djot(/dʒɑt/)は、CommonMarkの複雑で効率的に解析することが難しい構文を改善することを目的とした軽量マークアップ言語である[3]。Djotは2022年にPandocの作者でありCommonMarkの標準化グループのメンバーでもあるジョン・マクファーレイン(英語版)によって作成された[4][5]。
Djotの機能の殆どはCommonMarkから派生しているが、説明リスト、脚注、表、いくつかの新しい種類のインライン書式設定、数式、スマート句読点を含むより多くの機能が含まれている[3]。
オリジナルのリファレンス実装はスクリプト言語(Lua)で書かれているが、Djotは効率的に解析できるように設計されているので非常に高速に構文解析される[6]。
DjotのコードとドキュメンテーションはMIT Licenseで公開されている[7]。
CommonMarkとの違い
Djotの構文はCommonMarkの構文に似ているが、いくつかの違いがある[8]。
空白行
CommonMarkではブロックレベル要素の周りに空白行は不要だが、Djotでは必要である。
例:
入力 | CommonMark処理系によって生成される対応するHTML | Djot処理系によって生成される対応するHTML |
---|---|---|
# 見出し
段落。
| <h1>見出し</h1> <p>段落。</p> | <h1>見出し 段落。</h1> |
# 見出し
段落。
| <h1>見出し</h1> <p>段落。</p> | <h1>見出し</h1> <p>段落。</p> |
入力 | CommonMark処理系によって生成される対応するHTML | Djot処理系によって生成される対応するHTML |
---|---|---|
* 果物 * リンゴ * バナナ | <ul> <li>果物 <ul> <li>リンゴ</li> <li>バナナ</li> </ul> </li> </ul> | <ul> <li>果物 * リンゴ * バナナ </li> </ul> |
* 果物 * リンゴ * バナナ | <ul> <li><p>果物</p> <ul> <li>リンゴ</li> <li>バナナ</li> </ul> </li> </ul> | <ul> <li>果物 <ul> <li>リンゴ</li> <li>バナナ</li> </ul> </li> </ul> |
見出し
DjotにはSetext(英語版)形式の見出し(=
か-
を使う)はなく、ATX形式の見出し(#
を使う)だけがある。
例:
CommonMarkの構文を使用したテキスト | Djotの構文を使用したテキスト | 生成される対応するHTML |
---|---|---|
見出し ======= サブ見出し ----------- | # 見出し ## サブ見出し | <h1>見出し</h1> <h2>サブ見出し</h2> |
強調
CommonMarkは1つの*
または_
を強調に使用し、2つの*
または_
を強い強調に使用する。Djotは1つの_
を強調に使用し、1つの*
を強い強調に使用する。
例:
CommonMarkの構文を使用したテキスト | Djotの構文を使用したテキスト | 生成される対応するHTML |
---|---|---|
テキストの属性 _強調_、**強い強調**。 | テキストの属性 _強調_、*強い強調*。 | <p>テキストの属性 <em>強調</em>、<strong>強い強調</strong>。</p> |
リンク
CommonMarkとは異なり、Djotにはリンクにタイトルを追加するための特別な構文はない。タイトルの追加には一般的な属性構文を使うことができる。
例:
CommonMarkの構文を使用したテキスト | Djotの構文を使用したテキスト | 生成される対応するHTML |
---|---|---|
[リンク](http://example.com "タイトル")。 | [リンク](http://example.com){title="タイトル"}。 | <p><a href="http://example.com" title="タイトル">リンク</a>。</p> |
例
Djotの構文を使用したテキスト | Djot処理系によって生成される対応するHTML | ブラウザでのレンダリング結果 |
---|---|---|
# 見出し ## サブ見出し 段落は空白行によって 区切られます。 行末のバックスラッシュは\ 改行を引き起こします。 | <h1>見出し</h1> <h2>サブ見出し</h2> <p>段落は空白行によって 区切られます。</p> <p>行末のバックスラッシュは<br> 改行を引き起こします。</p> | 見出し サブ見出し 段落は空白行によって 区切られます。 行末のバックスラッシュは |
テキストの属性 _強調_、*強い強調*、`モノスペース`。 水平線: * * * | <p>テキストの属性 <em>強調</em>、<strong>強い強調</strong>、<code>モノスペース</code>。</p> <p>水平線:</p> <hr> | テキストの属性 強調、強い強調、モノスペース 。 水平線: |
順序付きリスト内に入れ子された順序なしリスト: 1. 果物 * リンゴ * バナナ 2. 野菜 - ニンジン - ブロッコリー | <p>順序付きリスト内に入れ子された順序なしリスト:</p> <ol> <li>果物 <ul> <li>リンゴ</li> <li>バナナ</li> </ul> </li> <li>野菜 <ul> <li>ニンジン</li> <li>ブロッコリー</li> </ul> </li> </ol> | 順序付きリスト内に入れ子された順序なしリスト:
|
[リンク](http://example.com)。 ![画像](Icon-pictures.png){title="アイコン"} > Djotはブロック引用に 電子メール形式の文字を使います。 > > 複数の段落にする場合は個別に行頭に引用符を追加する必要があります。 インライン`<abbr title="Hypertext Markup Language">HTML</abbr>`{=html}タグなどの未加工のコンテンツは明示的にマークする必要があります。 | <p><a href="http://example.com">リンク</a>。</p> <p><img alt="画像" title="アイコン" src="Icon-pictures.png"></p> <blockquote> <p>Djotはブロック引用に電子メール形式の文字を使います。</p> <p>複数の段落にする場合は個別に行頭に引用符を追加する必要があります。</p> </blockquote> <p>インライン<abbr title="Hypertext Markup Language">HTML</abbr>タグなどの未加工のコンテンツは明示的にマークする必要があります。</p> | リンク。
インラインHTMLタグなどの未加工のコンテンツは明示的にマークする必要があります。 |
実装
名前 | ライセンス | 言語 | リポジトリ | 説明 |
---|---|---|---|---|
djot.js | MIT License | TypeScript | https://github.com/jgm/djot.js | TypeScriptによるオリジナルのリファレンス実装の再実装。 |
djot.lua | MIT License | Lua | https://github.com/jgm/djot.lua | オリジナルのリファレンス実装。 |
Jotdown | MIT License | Rust | https://github.com/hellux/jotdown | Rustのライブラリとして実装されたプル・パーサー。 |
Djota | BSD 3-clause license | Prolog | https://github.com/aarroyoc/djota | Prologによる実装。 |
djoths | MIT License | Haskell | https://github.com/jgm/djoths | Haskellのライブラリとコマンドラインツール。 |
godjot | MIT License | Go | https://github.com/sivukhin/godjot | Goによる実装。 |
使用
- Pandocはバージョン3.1.12以降で入力フォーマットと出力フォーマットとしてDjotに対応している[9]。
脚注
- ^ “File extension” (英語). github.com. 2023年1月24日閲覧。
- ^ “djot 0.2.0” (英語). GitHub. GitHub, Inc. (2023年1月3日). 2024年3月5日閲覧。
- ^ a b “Djot (/dʒɑt/)” (英語). djot.net. 2022年8月13日閲覧。
- ^ MacFarlane, John (2022年7月11日). “Initial commit” (英語). github.com. 2022年8月13日閲覧。
- ^ MacFarlane, John. “Tools” (英語). johnmacfarlane.net. 2022年8月13日閲覧。
- ^ “README.md” (英語). github.com. 2023年1月24日閲覧。
- ^ “License” (英語). github.com. 2022年8月13日閲覧。
- ^ “Quick Start for Markdown users” (英語). github.com. 2022年8月14日閲覧。
- ^ “pandoc 3.1.12 (2024-02-14)” (英語). pandoc.org. 2024年3月5日閲覧。
外部リンク
- 公式ウェブサイト
- 表示
- 編集