超簡単に最近のテキストフォーマットについてあれこれ(Markdown, YAML, TOML, TOON)
はお。
知識の整理も兼ねて簡単に。
各フォーマットの主な特徴
用途: 文章の装飾や構造化(ドキュメント作成)
特徴: 記号(# や *)を使って、太字や見出し、リストなどを直感的に記述できます。ブログやREADMEなどで広く使われます。
用途: 設定ファイル、データ交換
特徴: 人間が非常に読みやすく、インデント(字下げ)で階層を表現します。Dockerの設定や、Markdown記事のメタデータ(Front Matter)によく使われます。
TOML
用途: 設定ファイル
特徴: 非常にシンプルで可読性が高く、RustやGoなどのプログラミング言語のプロジェクト設定(例: pyproject.toml や Cargo.toml)で標準的に使われています。
TOON
たとえば、Webサイトやアプリを構築する際、システム全体の設定には TOML や YAML を使い、記事本体の執筆には Markdown を使い、AI(LLM)と大量のデータをやり取りする際には TOON を活用する、といった使い分けがされます。
超簡単なサンプル
YAML
# コメント: ユーザー情報
name: "山田 太郎"
age: 30
is_student: false
# 配列(リスト): 複数の要素
skills:
- Python
- YAML
- Docker
# オブジェクト(ハッシュ/辞書): 入れ子構造のデータ
address:
city: "東京都"
country: "日本"TOML
# 基本的な文字列と数値
title = "TOML サンプル"
version = "1.0.0"
port = 8080
# 論理値(true / false)
enable_debug = true
# 配列
whitelist = ["127.0.0.1", "192.168.1.10"]
# セクション(テーブル)
[database] server = "://example.com"
connections = 10
timeout = 30.5
# セクションのネスト(ドットで表現することも可能)
[owner]
name = "Yamada Taro"
bio = "開発者"
# テーブルの配列(同じキー名で複数の要素を持つ)
[[servers]]
name = "node-1"
ip = "10.0.0.1"
[[servers]]
name = "node-2"
ip = "10.0.0.2"TOON
users[3] {id, name, role}
1 | 太郎 | admin
2 | 花子 | user
3 | 次郎 | userいいなと思ったら応援しよう!
悉く書を信ずれば則ち書無きに如かず