TOML

拡張子| `.toml`[1]
MIMEタイプ| `application/toml` (非公式)[2]
開発者| トム・プレストン・ワーナー（英語版）
初版| 2013年2月23日 (12年前) (2013-02-23)
最新版|

1.0.0
(2021年1月12日 (4年前) (2021-01-12)[3])

種別| データ交換
オープン
フォーマット| Yes
ウェブサイト| toml.io/ja/

TOMLは、設定ファイルのフォーマットの1種である。「ミニマル」であることを目指した明確な構文を採用することで、読みやすいフォーマットとなるように作られた。TOMLの設定項目は、ディクショナリ構造に明確にマッピングされるように設計されている。

"TOML"という名称は、"Tom's Obvious, Minimal Language"のアクロニムである[4]。Tomとは、作者のトム・プレストン・ワーナー（英語版） (英語: Tom Preston-Werner) を指す。

バージョン1.0に達するまでは不安定な仕様であると著者によってフラグが立てられているにもかかわらず、TOMLは多数のソフトウェアプロジェクトで採用されており[5]、多数のプログラミング言語で実装されている[6][7]。

TOMLは.INIファイルの構文を踏襲しているが、より形式的な仕様が定義されている[8]。

## 構文

[編集]

TOMLの構文は、大部分がキーと値の組 (`key = "value"`)、`[テーブル名]`、`# コメント`の3種類からなる。

サポート対象のデータ型が規定されている。サポートする型は、文字列型、整数型、浮動小数点数型、ブーリアン型、日付型、配列型、テーブル型である。

### 例

[編集]

# これは TOML のドキュメントです。

title = "TOML の例"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # date 型

[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true

[servers]

# インデント (タブ and/or スペース) が使用できるが、必須ではない。
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"

[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"

[clients]
data = [ ["gamma", "delta"], [1, 2] ]

# Array の中では改行が使用できる。
hosts = [
"alpha",
"omega"

## 脚注

[編集]

1. ^ “Filename Extension”. 2020年6月30日閲覧。
2. ^ “MIME Type”. 2020年6月30日閲覧。
3. ^ “Releases”. GitHub. 2021年1月18日閲覧。
4. ^ Tom's Obvious, Minimal Language. Contribute to toml-lang/toml development by creating an account on GitHub, toml-lang, (2019-01-27), https://github.com/toml-lang/toml 2019年1月28日閲覧。
5. ^ “projects using toml”. 2018年9月30日閲覧。
6. ^ “toml implementations”. 2018年9月30日閲覧。
7. ^ “cargo config”. 2018年9月30日閲覧。
8. ^ “TOML, Tom's Own Markup Language”. Y Combinator Link. Y Combinator Link. Y Combinator. 2017年5月10日閲覧。

## 外部リンク

[編集]

* 公式ウェブサイト
* toml \- GitHub

* 表
* 話
* 編
* 歴

マークアップ言語

オフィススイート・文書|

* CDF
* OOXML
* ODF
* UOF
* DocBook
* RTF
* Texinfo

Web|

* cHTML
* FHTML（英語版）
* HDML
* HTML
* WML
* WapTV（英語版）
* XHTML

組版|

* TeX
* ConTeXt
* LaTeX
* SATySFi

軽量|

* AsciiDoc
* Djot
* Markdown
* POD
* reStructuredText
* Re:VIEW
* Wiki

データ記述|

* TEI
* TOML
* XAML
* YAML

その他の言語|

* AmigaGuide（英語版）
* CML（英語版）（化学）
* Crossmark（英語版）
* DITA
* eLML（英語版）
* EAD（英語版）
* Enriched text（英語版）（電子メール）
* GuideML（英語版）
* HyTime（英語版）
* IPF（英語版）
* LilyPond（楽譜）
* LinuxDoc（英語版）
* Lout（英語版）
* MIF（英語版）
* MAML（英語版）
* MathML
* MEI（英語版）
* MusicXML
* OMDoc（英語版）
* OpenMath（英語版）（数式）
* RTML（英語版）
* RFT（英語版）
* S1000D（英語版）
* troff